You are here

[Outdated] Google Chrome Portable: Less Options, More PAF

24 posts / 0 new
Last post
The MAZZTer
The MAZZTer's picture
Offline
Last seen: 1 year 11 months ago
Developer
Joined: 2006-11-17 15:31
[Outdated] Google Chrome Portable: Less Options, More PAF

[Edit: This thread is outdated, please go look for the new one.

https://portableapps.com/apps/internet/google_chrome_portable/

or

https://portableapps.com/node/21385

are probably what you want.]

In order to be fully PAF compliant without ugly installer hacks I had to remove the following installer features. Sad

- Copying a local profile
- Using UPX to compress the downloaded/copied Chrome
- Copying a local Chrome
- Selecting the install version at install time
- Not installing the DOM Inspector
- Not installing Additional Languages
- Enabling the "First Run" Chrome dialog

But other than all that everything is great! Blum

Some new stuff too:

- Cleaned up license info
- Cleaned up HTML help and made it nicer
- Less clutter in Other\Source
- Scary dev splash screen.
- Simpler installer
- Full PAF compliance
- A NSIS download plugin that makes a new progress bar and cancel button because the existing ones are too good for it (?!?!)

NOTE: Back up plugins and dictionaries before upgrading. Because of a limitation in PAF I had to change the name of the App\Chrome directory to App\Chrome-bin so App\Chrome will be wiped away along with any plugins or dictionaries in there.

Now for the downloads

http://downloads.mzzt.net/GoogleChromePortable_2.0.172.33_Development_Te... (Stable, Beta)
http://downloads.mzzt.net/GoogleChromePortable_3.0.190.4_Development_Tes... (Dev)

Note on the Dev branch: Animated GIFs are broken in this build.

Devo
Offline
Last seen: 1 year 1 month ago
Joined: 2007-09-04 14:55
I like it but...

...there is some other functionality that you removed. You removed the ability to select whether to install Chrome of Chromium. I don't know if you talked to John about this, but I would like to see that functionality built back in. And personally I would also like the ability to select SRWare's Iron, I know that you can add it manually, but automating it would be a nice touch. Hopefully you or John can comment on this.

EDIT: The new progress bar is sweet!

John T. Haller
John T. Haller's picture
Offline
Last seen: 3 hours 7 sec ago
AdminDeveloperModeratorTranslator
Joined: 2005-11-28 22:21
Sep Releases

We're gonna do sep releases for Chrome and Chromium. Chromium we can bundle.

The progress bar on the download is part of inetc, a plugin for NSIS. And it's built into the PortableApps.com Installer now. And, like everything else, configurable with a simple INI. The Java Portable installer uses it, too.

Sometimes, the impossible can become possible, if you're awesome!

The MAZZTer
The MAZZTer's picture
Offline
Last seen: 1 year 11 months ago
Developer
Joined: 2006-11-17 15:31
It just dawned on me that the

It just dawned on me that the Chrome icon is in the Chromium SVN just like the Chromium icon I used. So I'm just gonna go ahead and use the Chrome icon instead.

It's 200kb bigger than the other one thanks to 256x256, 128x128, and 64x64 icon sizes. :o

Signature automatically removed for being too awesome.

The MAZZTer
The MAZZTer's picture
Offline
Last seen: 1 year 11 months ago
Developer
Joined: 2006-11-17 15:31
I'm gonna go ahead and type

I'm gonna go ahead and type some stuff here that I probably should include in the release notes for the next release:

Using an arbitrary version of Chrome, Chromium, or Iron:
--------------------------------------------------------

There are a few ways you can set up Google Chrome Portable to use a different version of Chrome or variants. First you must install Google Chrome Portable. Then you can remove the existing version of Chrome from App\Chrome-bin and replace it.

You will then have to update Data\settings\version.txt with the version number of the new version. Note that there must be no whitespace (new lines etc) or else my NSIS launcher won't properly read the Chrome version and Chrome won't run.

If your final program executable name is not App\Chrome-bin\chrome.exe you can use a GoogleChromePortable.ini file to have the launcher launch a different file. See the file in Other\Source for more info, you can use it as a template in the same directory as the launcher.

The following methods have been known to work for installing an arbitrary Chrome:

1) Copy a local Chrome installation

First make note of the version number by running Chrome and checking the About dialog. It looks something like this: 3.0.190.4

Press Win+R to open the Run dialog. On XP and below type:

%USERPROFILE%\Local Settings\Application Data\Google\Chrome\Application

On Vista and above you type:

%USERPROFILE%\AppData\Local\Google\Chrome\Application

And click OK. This is the Google Chrome application directory. There are two ways to copy the files:

a) Open the directory corresponding with the version number you want to copy, and then the Installer directory inside that. If you extract the Chrome.7z file you find therein into your App folder it will create a Chrome-bin directory and populate it with the proper files.

OR

b) Copy the entire directory you are in. You will want to exclude the following files:

- old_chrome.exe
- Any version number directory below the newest (chrome.exe will only work with the newest).
- The Installer directory inside the version number directory.

All the files and directories go into App\Chrome-bin.

Remember to edit Data\settings\version.txt!

2) Download an arbitrary version installer:

This url will download any Chrome version you want, provided it's still on the server (old versions seem to be removed periodically):

http://dl.google.com/chrome/install/[X].[Y]/chrome_installer.exe

Replace [X] and [Y] with the third and fourth numbers from the version. Example: 3.0.190.4 has a download url of http://dl.google.com/chrome/install/190.4/chrome_installer.exe

Do not run this installer as it will silently update your local Chrome! Instead unpack it with an archiver program (7-zip works) and you will end up with a single .7z file. Extract this file into App and it will create the Chrome-bin file and populate it with the proper files.

Remember to edit Data\settings\version.txt!

Removing unneeded components
----------------------------

Chrome ships with multiple languages support and a DOM Inspector, both of which can be removed.

To remove languages, open the App\Chrome-bin\[version number]\Locales directory, and remove any language file you do not need. Most users will only need en-US.dll.

To remove DOM Inspector, remove the App\Chrome-bin\[version number]\Resources directory. DOM Inspector will still be available within Chrome as an option but will not function (the popup window will have an error message).

In addition if you installed a custom Chrome version by hand keep in mind that the App\Chrome-bin\[version number]\Installer directory is not needed and should be removed.

You can also experiment with removing App\Chrome-bin\[version number]\gears.dll to remove Google Gears support but I don't know if that will work or not. Smile

wow_helper.exe is used for 64-bit support for the sandbox and if you don't intend to run on 64-bit you don't need it.

Enabling First Run
------------------

You can trigger the first run dialog in Google Chrome Portable to import bookmarks from the local machine by deleting App\Chrome-bin\First Run and then running Google Chrome Portable.

Compressing with UPX
--------------------

Due to limitations of PAF (I still like it I swear) UPX cannot be used to compress the downloaded Chrome files automatically.

You can compress some of them by hand if you wish.

Do not compress the following files:
- chrome.exe (breaks rendering processes)
- avcodec-*.dll (breaks HTML5 <audio> and &ltvideo>
- Locales DLLs (causes Chrome to crash on run))
- Themes\default.dll (breaks graphics)

The following files do compress without breaking Chrome:
- avformat-*.dll (errors when trying to unpack with UPX.exe... but still seems to work)
- avutil-*.dll
- chrome.dll
- gears.dll
- icudt*.dll (already compressed optimally!)
- pthreadgc2.dll
- rlz.dll

New versions of Chrome may add more binaries, be sure to test Chrome if you compress any of them.

Copying a local profile
-----------------------

Press Win+R to open the Run dialog. On XP and below type:

%USERPROFILE%\Local Settings\Application Data\Google\Chrome\User Data

On Vista and above you type:

%USERPROFILE%\AppData\Local\Google\Chrome\User Data

This is your profile dir and should be copied to Data\profile (so you will have Data\profile\Default and a few files).

You should exempt Default\Cache from the copy. You may also want to trim your profile down a bit regularly, in particular the History Index files can get large. You should use the in-Chrome options for purging old data. Note that removing the Thumbnails file may seem like a good idea but then your icons on your bookmarks will be gone.

You can further reduce the profile size by disabling malware and phishing protection in Chrome and then removing the Safe Browsing files from the profile.

In the end it may be prudent to simply export your bookmarks from Chrome and then re-import them in a fresh profile to keep file sizes down.

Cleaning up in case of a launcher crash
---------------------------------------

If the GoogleChromePortable process does not exit normally, it will leave some bits and pieces that need to be cleaned up, as most portable launchers will:

1) HKEY_CURRENT_USER\Software\Google\Update\Clients\{8A69D345-D564-463c-AFF1-A69D9E530F96}\pv will be set to the Portable Chrome version. If the local Chrome is a different version this value will need to be adjusted to match. If there is no local Chrome the entire key should be deleted.
2) If there is no local Chrome HKEY_CLASSES_ROOT\Applications\chrome.exe, HKEY_CLASSES_ROOT\.htm\OpenWithList\chrome.exe, and HKEY_CLASSES_ROOT\.html\OpenWithList\chrome.exe should all be deleted. Otherwise HKEY_CLASSES_ROOT\Applications\chrome.exe\shell\open\command should be set to the location of the local chrome using the following templates.

For XP:

"C:\Documents and Settings\[Username]\Local Settings\Application Data\Google\Chrome\Application\chrome.exe" -- "%1"

Vista:

"C:\Users\[Username]\AppData\Local\Google\Chrome\Application\chrome.exe" -- "%1"

Chrome overwrites this value with it's own location when run portably so the launcher will restore it on close.

3) Make sure there is no Data\settings\GoogleChromePortableShuttingDown and delete it if it exists.
4) %TEMP%\GoogleChromePortable\profile should be copied back to Data\profile to avoid losing any profile data changed last session, if copying the profile locally was on. %TEMP%\GoogleChromePortable\profile\Default\Cache should be excluded if it exists.
5) %TEMP%\GoogleChromePortable should be deleted.

Signature automatically removed for being too awesome.

kadardalton
kadardalton's picture
Offline
Last seen: 13 years 4 months ago
Joined: 2007-02-24 09:20
Portable chrome incognito mode

be pretty cool if we had a portable version of chrome that was only the incognito mode

Dalton M. Kadar

(Don't Mind Me I'm A Noob)

Rapscallion
Offline
Last seen: 3 years 10 months ago
Joined: 2008-11-18 16:19
Add -incognito to the

Add -incognito to the shortcut (at least this works in the non-portable version)

It amazes me that on the internet you can be anything you want, and yet so many people still choose to be idiots.

EspaÑaks (not verified)
Doing that you would most

Doing that you would most likely make the app not to launch. Somewhere in the directories within /ChromePortable there should be a "ChromePortable.ini". Copy it to the main Portable Chrome folder & add somewhere the "-incognito". I'm sorry not to be able to say more, i made that some time ago but can't remember exactly how

EspaÑaks (not verified)
Only one question:

Why? The only change which make sense to me is the separate Chromium & Chrome installers.

The MAZZTer
The MAZZTer's picture
Offline
Last seen: 1 year 11 months ago
Developer
Joined: 2006-11-17 15:31
All changes made for this

All changes made for this release are working toward getting the installer fully PAF compliant, I'm hoping to get GoogleChromePortable hosted on PA.C. It would be a nice addition to my resume. Biggrin

Unfortunately this means it's a bit harder to do stuff like copy a local profile or copy a local Chrome or install a custom Chrome version since PAF doesn't allow for multiple NSIS Sections apart from a limited secondary one, where the files to be copied must be included in the installer. But the common scenario, just install Chrome, is a bit easier now.

I'm gonna see if I can compile Chromium from source, if so that opens the door to making Chromium more portable-friendly. I'd likely want to make the following changes:
- By default profile would go in ..\..\Data\profile without needing a switch.
- By default there would be no disk cache or cache would go in %TEMP%. I could clean the cache on shutdown, too.
- Don't use the local registry to check for the Google Chrome version. I'd probably make it auto-detect.
- Remove Google Update integration or find some way to make it work properly on a portable device.
- Compress binaries with UPX. Maybe figure out why some don't like being compressed with UPX.

Not sure how successful I'd be, especially with Google Update or with fixing the UPX incompatibilities. I'm not sure I know enough about how those things work.

There's also a good chance I'm not going to be able to compile from source (someone else will have to do it and maintain an installer for it) since you ironically need to buy software from Microsoft (Visual Studio, Express doesn't cut it it seems) to compile this Google product.

[Edit: Wonderful, the build instructions are out of date. Then abstracted the solution file away and now I have to generate it somehow first.]

[Edit2: Yeah I'm gonna give up until they post proper build instructions, I think I need to SVN checkout V8 too before this will build.]

Signature automatically removed for being too awesome.

cotsog
Offline
Last seen: 15 years 4 weeks ago
Joined: 2009-11-10 16:03
Chrome can now be compiled with Visual C++ 2008 Express Edition

I thought you might be interested in knowing I've succeeded to compile Google Chrome using Visual C++ 2008 Express Edition.

The recipe is here:
http://cotsog.wordpress.com/2009/11/08/how-to-compile-google-chrome-with...

Cheers!

Signature automatically removed for containing links

App Guy
Offline
Last seen: 11 years 1 month ago
Joined: 2008-03-16 14:24
Java Support

I was just running the stable build on a computer with no local java, and on my flash drive i have java installed. Is there a way to add this java support to portable chrome?

May the Shwartz be with you

The MAZZTer
The MAZZTer's picture
Offline
Last seen: 1 year 11 months ago
Developer
Joined: 2006-11-17 15:31
You can try copying the

You can try copying the plugin files to App\Chrome-bin\plugins but I'm pretty sure Java would need to be installed locally. It may not be possible short of writing a custom plugin or modifying the existing one or something.

John of course did the integration for OpenOffice and Pidgin so you'd have to ask him how he did it. He might have had to modify the source code of said projects, or set some program-specific setting for a java directory.

Signature automatically removed for being too awesome.

App Guy
Offline
Last seen: 11 years 1 month ago
Joined: 2008-03-16 14:24
In Launcher

I think he had some code in the NSIS Launcher to point to the portable java.

Edit 1: Nevermind, since it does not work for firefox portable it may not work for chrome portable either.

May the Shwartz be with you

The MAZZTer
The MAZZTer's picture
Offline
Last seen: 1 year 11 months ago
Developer
Joined: 2006-11-17 15:31
All Firefox does is load a

All Firefox does is load a Netscape-compatible plugin. The plugin itself has to locate Java and interface with it. I'm guessing the plugin uses the Windows registry and so would only find local installations of Java.

[Edit: I accidentally figured out how John does it, he used it in Java Portable Launcher:

System::Call 'Kernel32::SetEnvironmentVariableA(t, t) i("JAVAHOME", "$PortableAppsPath\CommonFiles\Java").r0'

Basically, set the JAVAHOME environment variable to the path of your Portable Java. Then when the plugin loads (ypu have to be sure to copy the plugin like I said, I think it is npdeploytk.dll) it should use the portable Java. If you know how to do NSIS stuff you can integrate it into the launcher. I may consider doing it myself for a future release.

PS: John if you read this, maybe you should add a flag to allow for use of the console based java.exe instead of the gui javaw.exe. The java apps I have on my thumb drive are console based. In addition some java apps expect arguments to be passed, the launcher can't handle arguments and treats them as part of the JAR filename.]

Signature automatically removed for being too awesome.

avmad
Offline
Last seen: 7 years 5 months ago
Joined: 2009-08-08 07:17
Getting started...

Sorry for a dumb question in such smart company but can you tell me how to use the 3.0.190.4 install?

Am I supposed to have Chrome already downloaded and installed below my PortableApps folder before installing this loader? If not, then what is the process for getting both Chrome and the loader installed? Any particular version of Chrome?

Thanks...

-
avmad

arinlares
Offline
Last seen: 13 years 4 months ago
Joined: 2008-12-13 04:57
Just run the PAF like you

Just run the PAF like you would install anyapplication, and it'll take care of the rest. You do not need chrome on your computer to use this.

Hey! Where'd it go?

App Guy
Offline
Last seen: 11 years 1 month ago
Joined: 2008-03-16 14:24
Does This Work With ChromePlus?

I was wondering if this works with chromeplus, a chromium based browser.
http://www.chromeplus.org/

May the Shwartz be with you

The MAZZTer
The MAZZTer's picture
Offline
Last seen: 1 year 11 months ago
Developer
Joined: 2006-11-17 15:31
Hello, it is not directly

Hello, it is not directly supported but you are welcome to try it. Since it is based off of Chromium, as long as they didn't break any of the functionality my launcher uses it should be OK. Some of the options in Other\Source\GoogleChromePortable.ini may be useful as well.

Signature automatically removed for being too awesome.

App Guy
Offline
Last seen: 11 years 1 month ago
Joined: 2008-03-16 14:24
???

Is there a reason that every time i try to download one of these files i get a "Blue Screen Of Death" in my browser.

May the Shwartz be with you

horusofoz
horusofoz's picture
Offline
Last seen: 1 year 2 months ago
Joined: 2008-04-03 22:45
Its some joke I think

If you click on the page you get taken to the download\file listing.

@Mazzter - Is it possibe to get an update on where this? I mean is its portability assured now? Are you likely to be developing an Iron build? Will you be separating the Chrome and Chromium installer? Anything else an end user who'll be testing needs to be aware of such as things being left behind etc?

Also because of the multiple threads it's hard to track what is up to date as the search function doesn't sort by lastest posts so may be more helpful if you could consolidate into a single thread in furutre releases and just update that as with other apps dev test threads. Especially good for tracking what issues there are and what have previously been.

PortableApps.com Advocate

The MAZZTer
The MAZZTer's picture
Offline
Last seen: 1 year 11 months ago
Developer
Joined: 2006-11-17 15:31
Hi, please see my newest

Hi, please see my newest thread on this, it should still be on the front page here.

I will not be developing an Iron build, but anyone is free to take my launcher/installer source and make one themselves. Iron should also "just work" if you drop it in (you might need to use GoogleChromePortable.ini to tweak some settings).

Same deal with Chromium. The current version of GCP doesn't leave anything behind AFAIK.

I post new threads because, lat I checked, editing a thread doesn't bump it up to the top, plus you get lots of old posts in there that aren't relevant to the current build. What I DO hate is people who bump up an old thread!!! j/k Wink

I don't want to delete threads 'cause that's like deleting a piece of THE INTERNET to me... and I can't close threads. I might edit the first post with an update to indicate it's no longer valid or something.

Signature automatically removed for being too awesome.

The MAZZTer
The MAZZTer's picture
Offline
Last seen: 1 year 11 months ago
Developer
Joined: 2006-11-17 15:31
The links are no longer

The links are no longer valid, please see one of the newer threads I made for Google Chrome Portable. Even the front page news items are newer. Smile

Signature automatically removed for being too awesome.

Chris Morgan
Chris Morgan's picture
Offline
Last seen: 9 years 5 months ago
Joined: 2007-04-15 21:08
Locked

I've locked the topic for you. It could be helpful if you just went through all your old threads and added "[Outdated] " to the topics, then I can also spot them and lock them... that could simplify this issue we keep on having with multiple versions of Google Chrome Portable.

I am a Christian and a developer and moderator here.

“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1

Topic locked