blob: 8fc6eade2b0076b04a8d2c83b033cdb266900843 [file] [log] [blame] [view]
Joshua Pawlicki52d66e22023-01-05 15:31:211# Chromium Updater Migration Test Instructions
2
3This document describes how to do basic developer testing with [Chromium
4Updater](https://source.chromium.org/chromium/chromium/src/+/main:chrome/updater/)
5on systems or with software that already uses Keystone or Omaha 3. The intended
6audience is Google developers who work on software that uses Keystone (or Omaha
73) and want to verify that their software works as expected with Chromium
8Updater.
9
10## Step 1: Install Keystone or Omaha 3
11Install your product as you normally would, and run it. This should result in
12a successful setup of the updater. It is useful to install an old version of
13your product so that you can test that it updates correctly.
14
15The updater can be installed at either per-user or system-wide scopes; the
16instructions will vary depending on which type of installation your product
17uses.
18
19## Step 2: Opt-In to Chromium Updater Deployment
20On macOS, and with a per-user Keystone (this is common), run:
21```
Joshua Pawlicki777e339f2023-02-08 15:53:0522~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Helpers/ksadmin -C chromium-updater-opt-in -P com.google.Keystone && ~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Helpers/ksadmin --install -P com.google.Keystone && sleep 10 && ~/Library/Application\ Support/Google/GoogleUpdater/*/GoogleUpdater.app/Contents/MacOS/GoogleUpdater --wake --enable-logging --vmodule="*/updater/*=2"
Joshua Pawlicki52d66e22023-01-05 15:31:2123```
24
25On macOS, and with a system-wide Keystone, run:
26```
Joshua Pawlicki777e339f2023-02-08 15:53:0527sudo /Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Helpers/ksadmin -C chromium-updater-opt-in -P com.google.Keystone -S && /Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/CheckForUpdatesNow.command && sleep 10 && sudo /Library/Application\ Support/Google/GoogleUpdater/*/GoogleUpdater.app/Contents/MacOS/GoogleUpdater --wake --system --enable-logging --vmodule="*/updater/*=2"
Joshua Pawlicki52d66e22023-01-05 15:31:2128```
29
30On Windows, and with a per-user Omaha 3, use `regedit.exe` to open the key
31`HKEY_CURRENT_USER\SOFTWARE\Google\Update\ClientState\{430FD4D0-B729-4F61-AA34-91526481799D}\cohort`
32and set the value of `hint` (`REG_SZ`) to `chromium-updater-opt-in`. Then,
33delete the `LastChecked` value from `HKEY_CURRENT_USER\SOFTWARE\Google\Update`.
34Then, run `taskschd.msc`, click `Task Scheduler Library`, and run a
Joshua Pawlickic92f58d72023-02-07 23:38:5635`GoogleUpdateTaskUserUA` task. Wait 5 minutes and then run
36`%LOCALAPPDATA%\Google\GoogleUpdater\updater.exe --wake --enable-logging --vmodule="*/updater/*=2"`
37from an the command prompt (non-admin).
Joshua Pawlicki52d66e22023-01-05 15:31:2138
39On Windows, and with a system-wide Omaha 3, use `regedit.exe` to open the key
40`HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Google\Update\ClientState\{430FD4D0-B729-4F61-AA34-91526481799D}\cohort`
41and set the value of `hint` (`REG_SZ`) to `chromium-updater-opt-in`. Then,
Joshua Pawlickie4b9fb42023-02-01 17:40:1042delete the `LastChecked` value from `HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Google\Update`.
Joshua Pawlicki52d66e22023-01-05 15:31:2143Then, run `taskschd.msc`, click `Task Scheduler Library`, and run a
Joshua Pawlickic92f58d72023-02-07 23:38:5644`GoogleUpdateTaskMachineUA` task. Wait 5 minutes and then run
45`%PROGRAMFILES(X86)%\Google\GoogleUpdater\updater.exe --wake --system --enable-logging --vmodule="*/updater/*=2"`
46from an admin command prompt.
Joshua Pawlicki52d66e22023-01-05 15:31:2147
48## Step 3: Check that Chromium Updater is Installed
49On macOS, check that
Joshua Pawlickic92f58d72023-02-07 23:38:5650`~/Library/Application Support/Google/GoogleUpdater` (per-user) or
51`/Library/Application Support/Google/GoogleUpdater` (per-system) exists.
Joshua Pawlicki52d66e22023-01-05 15:31:2152
53On Windows, check that `%LOCALAPPDATA%\Google\GoogleUpdater` (per-user) or
54`%PROGRAMFILES(X86)%\Google\GoogleUpdater` (system-wide) exists.
55
56## Step 4: Test Your Software
57If your software uses any updater APIs (such as checking for updates on-demand,
58or Windows app commands), exercise those APIs and verify that they work as
59expected.
60
61If you installed an old version of your software, verify that Chromium Updater
62can update your software. You can either wait (up to 6 hours) for Chromium
63Updater to update it automatically, or you can trigger an early check by
64running:
65
66(macOS, per-user):
Joshua Pawlicki777e339f2023-02-08 15:53:0567`~/Library/Application\ Support/Google/GoogleUpdater/*/GoogleUpdater.app/Contents/MacOS/GoogleUpdater --wake --enable-logging --vmodule="*/updater/*=2"`
Joshua Pawlicki52d66e22023-01-05 15:31:2168
69(macOS, system-wide):
Joshua Pawlicki777e339f2023-02-08 15:53:0570`sudo /Library/Application\ Support/Google/GoogleUpdater/*/GoogleUpdater.app/Contents/MacOS/GoogleUpdater --wake --system --enable-logging --vmodule="*/updater/*=2"`
Joshua Pawlicki52d66e22023-01-05 15:31:2171
72(Windows, per-user):
Joshua Pawlickic92f58d72023-02-07 23:38:5673`%LOCALAPPDATA%\Google\GoogleUpdater\*\updater.exe --wake --enable-logging --vmodule="*/updater/*=2"`
Joshua Pawlicki52d66e22023-01-05 15:31:2174
75(Windows, system-wide) in command prompt running as admin:
Joshua Pawlickic92f58d72023-02-07 23:38:5676`%PROGRAMFILES(X86)%\Google\GoogleUpdater\*\updater.exe --wake --system --enable-logging --vmodule="*/updater/*=2"`
Joshua Pawlicki52d66e22023-01-05 15:31:2177
78## Step 5: Removing Chromium Updater
79To remove Chromium Updater from your system, run:
80
81On macOS, and with a per-user updater, run:
Joshua Pawlicki7a1f73d2023-02-09 15:53:1982`~/Library/Application\ Support/Google/GoogleUpdater/*/GoogleUpdater.app/Contents/MacOS/GoogleUpdater --uninstall && rm -rf ~/Library/Google/GoogleSoftwareUpdate`
Joshua Pawlicki52d66e22023-01-05 15:31:2183
84On macOS, and with a system-wide updater, run:
Joshua Pawlicki7a1f73d2023-02-09 15:53:1985`sudo /Library/Application\ Support/Google/GoogleUpdater/*/GoogleUpdater.app/Contents/MacOS/GoogleUpdater --uninstall --system && sudo rm -rf /Library/Google/GoogleSoftwareUpdate`
Joshua Pawlicki52d66e22023-01-05 15:31:2186
Joshua Pawlickie4b9fb42023-02-01 17:40:1087On Windows, and with a per-user updater, run `%LOCALAPPDATA%\Google\GoogleUpdater\*\updater.exe --uninstall`, then use `regedit.exe` to open the key
Joshua Pawlicki52d66e22023-01-05 15:31:2188`HKEY_CURRENT_USER\SOFTWARE\Google\Update\ClientState\{430FD4D0-B729-4F61-AA34-91526481799D}\cohort`
89and set the value of `hint` (`REG_SZ`) to `` (empty string).
90
91On Windows, and with a system-wide updater, from a command prompt running as admin, run `%PROGRAMFILES(X86)%\Google\GoogleUpdater\*\updater.exe --uninstall --system`, then use `regedit.exe` to open the key
92`HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Google\Update\ClientState\{430FD4D0-B729-4F61-AA34-91526481799D}\cohort`
93and set the value of `hint` (`REG_SZ`) to `` (empty string).
94
95Then, remove or reinstall any software that uses Keystone or Omaha 3 to update.
96
97## Filing Issues
98Any discovered bugs can be filed under the `Internals>Updater` component at
99crbug.com. It is helpful to include the updater log files in the report. The
100updater log files are at:
101
102(macOS, per-user):
103`~/Library/Application Support/Google/GoogleUpdater/updater.log`
104
105(macOS, system-wide):
106`/Library/Application Support/Google/GoogleUpdater/updater.log`
107
108(Windows, per-user):
109`%LOCALAPPDATA%\Google\GoogleUpdater\updater.log`
110
111(Windows, system-wide):
112`%PROGRAMFILES(X86)%\Google\GoogleUpdater\updater.log`
113
114You may need to use admin permissions or `sudo` to view logs from a system-wide
115updater.