Force Chrome Extension version change via Group Policy - google-chrome

I have a Chrome extension that is listed as Private on the Webstore because I need different customers to be able to be on different versions of the extension at the same time. I am trying to use Group Policy to allow customers to force Chrome to install the extension on all of their user's machines (connected by an Active Directory Domain). As described here:
http://dev.chromium.org/administrators/policy-list-3#ExtensionInstallForcelist
I have this process mostly working but with one big catch. I cannot get Chrome to update the extension in place without first uninstalling the extension altogether.
Specifically: While Chrome is running, I can use Group policy to install Version 1 of an extension, then uninstall it, then install Version 2 of the same extension. However, when I install Version 1, then point the update.xml file to Version 2 of the .crx (or even change the policy to a whole new update.xml pointing to Version 2) the extension will stay at Version 1 and will not install Version 2.
Here is what I have tried so far with no success:
After going to Chrome://policy and confirming that the new GPO pointing to Version 2 of the extension is recognized by Chrome:
I have tried restarting Chrome.
I have tried going to chrome://extensions, checking "Developer Mode, and clicking the "Update Extension Now" button.
I have tried launching Chrome from command line with the extensions-update-frequency parameter set to 30, 60, and 300 seconds.
I have tried leaving for lunch after setting the policy with Chrome running and not touching it or letting the computer lock for >2 hours hoping it would automatically update given time.
For all of these, Version 1 of the extension remains installed. I have triple checked that the new policy is pointing to a valid Version 2 of the extension (and this is confirmed because Version 2 will install if I disable the policy first then enable it pointing to Version 2).
Does anyone know why this could be happening?
Thanks!

make sure version number is bigger.
Manifest - Version
One to four dot-separated integers identifying the version of this extension. A couple of rules apply to the integers: they must be between 0 and 65535, inclusive, and non-zero integers can't start with 0. For example, 99999 and 032 are both invalid.
Here are some examples of valid versions:
"version": "1"
"version": "1.0"
"version": "2.10.2"
"version": "3.1.2.4567"
The autoupdate system compares versions to determine whether an installed extension needs to be updated. If the published extension has a newer version string than the installed extension, then the extension is automatically updated.
The comparison starts with the leftmost integers. If those integers are equal, the integers to the right are compared, and so on. For example, 1.2.0 is a newer version than 1.1.9.9999.
A missing integer is equal to zero. For example, 1.1.9.9999 is newer than 1.1.
For more information, see Autoupdating.
Version Name
In addition to the version field, which is used for update purposes, version_name can be set to a descriptive version string and will be used for display purposes if present.
Here are some examples of version names:
"version_name": "1.0 beta"
"version_name": "build rc2"
"version_name": "3.1.2.4567"
If no version_name is present, the version field will be used for display purposes as well.

Related

How to find or pick a suitable Chrome/Chromium revision number?

I couldn't figure out a nice way to determine a suitable revision number to use with Puppeteer Sharp.
What I did was use the version lookup feature on the "OmahaProxy - Google Chrome" site. I looked-up the version of Chrome I'm running on my computer. [That seems like a reasonable starting point.] I assumed (guessed) that the "Branch Base Position" shown in the version info was a revision number.
I then opened the Chromium continuous builds archive and looked for a build for the revision around the revision number I found from the "OmahaProxy" site.
Is there a better way to find or pick a suitable revision number?
Puppeteer is always bundled with a specific revision of a specific version. I usually check the release information on Github where the expected Chromium version and revision is specified. For example:
v1.17.0
Big Changes
Chromium 76.0.3803.0 (r662092)
Then to download the right one,
Go to Chromium browser snapshots
Choose the directory of your platform (e.g., Linux_x64)
Copy the revision number into the "Filter:" field without the "r" (e.g., 662092)
Download the .zip file you need.
Additional info
The URL template below can be just plugged in with the right information:
https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=<platform>/<revision>/
For example:
https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/662092/
The most common issue on Linux is missing dependencies, and the Puppeteer "Troubleshooting" document specifies all the Linux dependencies. (See apt instructions for Ubuntu.)
curl needs -L when downloading on the console. See Stackoverflow thread.
When one is using puppeteer-core,
you will then need to call puppeteer.connect(\[options\]) or
puppeteer.launch(\[options\]) with an explicit executablePath
option.
(from puppeteer vs puppeteer-core)
Puppeteer requires number which correspond Chromium browser build snapshot number. You can get the latest snapshot number here:
https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Win_x64%2FLAST_CHANGE?generation=1528272852044880&alt=media
or you can view all available snapshots here:
https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Win_x64/

cannot stop Chrome from updating from 43 to 44

I am using Selenium and Chrome to write a web test, yesterday my Chrome updated to 44 and now my test does not work, I know that it is an issue with Chrome 44 and we need to wait till the new version is given out.
So I am trying to go bake to chrome 43, i do:
1) Uninstall chrome 44
2) Install chrome 43
but as soon as the installation is done it automatically opens the chrome and it is 44 again !! I went to Run->Service.msc and disabled my chrome to update automatically, but it does not work. I remove the Update folder in User->Myname->AppData->Local->Google->Update but it does not work,
and there is nothing related to updating at chrome://plugins.
I AM STUCK
PLEASE HELP :(
I did all sulosion posted on line but non of them worked,
Have spent a loooong time trying to disable updates (literally hours, reading forums and testing various (some exotic) solutions), and this was driving me crazy. But there what seems an infallible solution (see further down).
Even using the official Google page with the templates did NOTHING : https://support.google.com/installer/answer/146164?hl=en
I followed scrupulously the instructions of that page, the keys in the registry are all correct, but still going to the "About Google Chrome" when the program is opened, I can see the wheel going around and a few seconds later the update is forced and done.
I have tried using the standalone installer of Google, on a Windows 8.1 machine 64Bits - and yes all the keys are set to :
Dword: AutoUpdateCheckPeriodMinutes Value: 0
Dword: DisableAutoUpdateChecksCheckboxValue Value: 1
Dword: UpdateDefault Value: 0
Dword: Update{8A69D345-D564-463C-AFF1-A69D9E530F96} Value: 0
... both in HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update AND HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Google\Update since it is a 64-bit machine.
So the radical solution to prevent the auto-update, if that helps anyone, is to just purely sort the program responsible for the updates itself! (Just deleting it, OR saving a copy, OR renaming it OR even better just in case I one day need to do an update: Zip the content for future potential re-use).
Easy solution :
1- Go to "C:\Program Files (x86)\Google\ and find the folder "update".
2- There are a couple of options to choose from:
A) first method: Rename the folder:
- Right click > Rename > from Update.bak to Update2.bak for example.
- Now launch Chrome: NO MORE UPDATES!! since it can not find the update program !! Finished.
B) second method: Zip the folder:
- Zip the entire folder by making an archive. (Right click the "Update" folder > Send to Compressed (zip) folder)
- A window might ask you to backup/zip and place it on the desktop, click yes. (message: Windows cannot create the compressed folders here. Do you want to be placed on the desktop instead?)
- Move the newly created zip file to the original location. A new window security might pop up > click continue. (message: You need administrator permission to copy this file). [This will be what to unzip if one day you decide to update Chrome - Just remember that when unzipped it will have the following structure : Update > Update > then all the content of the folder. Remember to move everything from inside the second update folder (copy paste) one level up so that is becomes : Update > then all the content of the folder].
- Now that you have a copy just delete the "Update" folder.
- Now launch Chrome: NO MORE UPDATES!! since it can not find the update program !! Finished.
Good luck and Enjoy.
As per Chromium
Turning off Auto-Updates on Windows
To turn off auto-updates of Google Chrome on Windows, you need to instruct Google Update to not update it. To do this, you can either:
Use the Google Update ADM templates provided on this page or as described in this article.
Set the value of
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Update\AutoUpdateCheckPeriodMinutes
to the REG_DWORD value of "0".
You can check for Mac and Linux in the first Link
To get rid of Chrome 44 and go back to 43 I downloaded a stand-alone version of chrome 43 which is an .exe file and I just double clicked on it and it was installed on my computer WITHOUT updating to Chrome 44, to find the link to Chrome 43 have a look to RobW comments to my question above and if the link is stale you can just Google for Chrome Stand-alone, or go to the bottom of this page Google Chrome 64-bit Offline Installer| 45.7 MB.
Have Fun :)

WebStorm/PhpStorm, issue with terminal on Windows 10

I decided to try Windows 10, but having problem to make terminal works inside WebStorm/PhpStorm.
When I open terminal, sometimes it's completely black, sometimes it loads the project folder but I cannot type there. There is a way to run it in the external window, but I just got accustomed to work with console like internal window inside WebStorm/PhpStorm...
I tried cmd, Power Shell - same results.
Any ideas?
Workaround: Terminal works fine in Windows 10 if you use legacy console.
To do so, open a command prompt window, right click on the title, then select Properties. At the bottom, check "Use legacy console". Confirm the dialog window and go back to WebStorm to launch a new terminal. It should work.
In any case, this is the ticket to watch after:
https://youtrack.jetbrains.com/issue/IDEA-143300 -- star/vote/comment to get notified on progress.
UPDATE:
This issue has now been resolved -- the fix will arrive in next major version -- PhpStorm v10/WebStorm v11 (or whatever that version will be as long as it's based on 142.xx branch or newer).
UPDATE:
For those who have problems with right clicking and finding "Properties" menu entry:
Just for the record: I have confirmation from JetBrains that it will be fixed (i.e. work with non-legacy mode) in WebStorm 11 which is scheduled for the beginning of November. In the EAP version it should already work.

Chrome keeps all versions of my hosted app/extension (takes up MB's). How tell it to remove old versions? To downgrade?

I noticed that Google Chrome has kept all the versions (unpacked) of my hosted app. Even though it's delivered (via the update_url) as a .crx file, in the extensions folder, it has 47 folders and every one of them is the unpacked/uncompressed files from my app.
Why does it do this?
Is there any way to tell it to delete old versions?
Does this space count against the app's allowable local storage/filesystem quota?
Since it has all old versions, can you also downgrade to a previous version?
https://code.google.com/p/chromium/issues/detail?id=126394, basically same issue.
No. But you can delete them yourself by dragging them to the trash.
The extension isn't kept in local storage or the HTML5 filesystem, so no.
No.
You can remove all but the newest directory (e.g. version of an extension) using Zsh like this:
setopt extendedglob
for i in ~/Library/Application\ Support/Chromium/Default/Extensions/*(/)
do
if [[ ${#$(ls -1 $i)} -gt 1 ]]
then
rm -r $i/*^(Om[1,-2])
fi
done
The caret ^ is for excluding a pattern (requires extendedglob to be set), O sorts the resulting expansion in descending order and m is for modification time. [1,-2] matches all but the first globbing result.

What is the difference between the release and integration versions?

I just grabbed the JDK & eclipse classic and I am trying to figure out which one to use for installation. What is the differences between the release and integration versions provided by eclipse.org: http://www.eclipse.org/windowbuilder/download.php
Well, I dunno for sure. But i've checked the hash(md5/sha1) of both for zipped one. And the hash is exactly the same. For example, 3.8 :
http://eclipse.org/downloads/sums.php?file=/windowbuilder/WB/release/R201302221200/WB_v1.5.2_UpdateSite_for_Eclipse3.8.zip.MD5&type=md5
http://eclipse.org/downloads/sums.php?file=/windowbuilder/WB/integration/WB_v1.5.2_UpdateSite_for_Eclipse3.8.zip.MD5&type=md5
Theoritically, it should be the same file. But, i dunno for sure though...
I think the files are the same, but URLs are different. If you use the Release version, you will always have the URL of that particular version in Eclipse URL list, while the Integration version will provide a single URL for all future versions for that particular Eclipse version (say 4.4)
I have found only that the "Integration Version" is longer(39891450 bytes) than the "Release Version"(39759975 bytes).
The name for each .jar file in the "Integration Version" contains substring "20141006" (for example: org.eclipse.wb.swing.FormLayout_1.7.0.r44x201410061440.jar)
The name of each .jar file in the "Release Version" contains substring "20140502" (for example: org.eclipse.wb.swing.FormLayout_1.7.0.r44x201405021531.jar)
Links:
Integration Version:
http://eclipse.org/downloads/download.php?file=/windowbuilder/WB/integration/WB_v1.7.0_UpdateSite_for_Eclipse4.4.zip
Release Version:
http://eclipse.org/downloads/download.php?file=/windowbuilder/WB/release/R201406251200/WB_v1.7.0_UpdateSite_for_Eclipse4.4.zip
So, it seems the "Integration Version" is newer version.