Before this CL, the updater UI title would just say `Chromium Installer`
or `Google Installer` regardless of the app being installed.
With this CL, the updater UI title says `Google Chrome Installer` when
for instance installing Google Chrome for the branded case.
Fixed: 372353085
Change-Id: I7c716ec879688a2848a9e842425507545fd01480
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5918774
Commit-Queue: S Ganesh <ganesh@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1366362}
If an installer is abandoned or an app is modified by an external source
the version in the updater prefs may be out of sync with the installed
version. To prevent these values from getting out of sync lookup the
product version in the `Clients` registry, and, if its a valid version,
override the version in the updater prefs.
This fix is not necessary on macOS because `LookupVersion` is already
implemented on macOS to lookup the version in the app's registered
plist.
Bug: 370543468
Change-Id: Ia39daf0f427adb763e2b1debcffcf358a639ab3c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5909796
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1365696}
With this CL, if the update check period is set to zero, the updater is
pre-qualified by registering a higher version of the qualification app.
This is because the qualification app update will not happen if the
update check period is set to zero.
Fixed: 365722093
Change-Id: I4116b91433d04a184d956b6e093150dba892ce9f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5901871
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1362979}
* The splash screen is now a bit smaller, and shows an icon in addition
to the "Initialization..." text.
* The splash screen class is now in its own compilation unit.
* The functional spec has been updated to mention the splash screen.
Bug: 40234383
Change-Id: Ie352e60204d960ae5a228368cb7ac432f7871b84
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5893560
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1361318}
This CL:
* generates and archives group policy ADM files within
`GoogleUpdateAdmx.zip` and `GoogleCloudManagementAdmx.zip` for
enterprise customers for Google-branded builds only.
* tests ADM template file generation with a reference `gold` file.
* adds information to the functional spec about the ADM templates.
Bug: 40212354
Change-Id: I58648d6fe2e89c26d391ad4bbb43e23ec880b12c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5852523
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1353898}
When the updater uninstalls itself, and there are no other versions of
the updater in existence for the scope, the updater will save a copy of
the final log file to `{SystemTemp/%TMP%}\updater.log`. If a log file
already exists, it is overwritten.
Low-Coverage-Reason: COVERAGE_UNDERREPORTED
Bug: 345289052
Change-Id: I4a4e1331f5b45ba5a2be2466e12e6e6b894134b8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5842617
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1352387}
The state of protocol_4.md in patchset 2 represents the
initial `protocol_3.1.md` file.
To see the proposed changes in protocol 4, please observe
the differences between patchset 2 and the newest
patchset.
(Note: I also found a few documentation bugs in
`protocol_3.1.md` file).
Change-Id: I031266c5f7c3f1a5a5e4f7f5626e73bb04e038cf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5555743
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: James Decker <deckerjames@google.com>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1347560}
On Linux it is customary to install software to directories with
lowercase names, e.g. "/opt/google" instead of "/opt/Google", as we have
been doing in O4.
This change breaks integration tests which expect old_updater to
populate files in the install directory (e.g. prefs). Such tests have
been disabled until we can roll a new binary.
Bug: 353540580
Change-Id: I6b38a0654c9513a5428049b1af1b5c90968e269f
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5798586
Auto-Submit: Noah Rose Ledesma <noahrose@google.com>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Noah Rose Ledesma <noahrose@google.com>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1344226}
To allow for the metainstaller process exit code to be meaningful, this
CL moves all metainstaller/updater error codes above 0xFFFF (65535) for
Windows only, which is the range of Windows error codes.
With this CL:
* Metainstaller error codes are in the 73000 range.
* Error codes funnelled through `update_client` are in the 74000 range.
* updater error codes are in the 75000 range.
Low-Coverage-Reason: HARD_TO_TEST
Fixed: b/40863154,b/352650305
Change-Id: I26c232b4cf19d15e52a8de444a0b8a6a8fc2c753
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5704279
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1327087}
This CL:
* provides a specific message when elevation is cancelled.
* Adds the EXE name to the title of the message box.
* adds more meaningful error messages instead of error codes for other
metainstaller errors.
Low-Coverage-Reason: HARD_TO_TEST
Bug: b/351062337
Change-Id: I099d5f271b1f55eec0e24202761d5c41a2ac0473
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5690196
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1325550}
I shortened the `--product_installer_data` because at one point that
line exceeded 80 characters, but that resulted in a json parameter that
Chrome setup did not recognize.
`--product_installer_data "%7B%22dis%22%3A%7B%22msi%22%3Atrue%7D%7D"`
Unescaped, is
`{"dis":{"msi":true}}`
But it should be
`{"distribution":{"msi":true}}`
which on the command line is
`--product_installer_data`
`"%7B%22distribution%22%3A%7B%22msi%22%3Atrue%7D%7D"`
Change-Id: I57c43e012ed85e02e19bcb0b9166d941d953b923
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5648264
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Commit-Queue: Noah Rose Ledesma <noahrose@google.com>
Reviewed-by: Noah Rose Ledesma <noahrose@google.com>
Cr-Commit-Position: refs/heads/main@{#1318033}
When the updater uninstalls itself, and there are no other versions of
the updater in existence for the scope, the updater will save a copy of
the final log file to `%TMP%\updater{guid}.log`.
Low-Coverage-Reason: COVERAGE_UNDERREPORTED
Fixed: b/345289052
Change-Id: I55019332002bf1245914bb8f4bfdcfad3434fd69
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5602161
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1311520}
This library will avoid depending on other parts of Chromium; it's
intended for static linking into non-Chromium binaries that want to
package and use the Chromium updater. This CL implements almost none of
its features, defining only the bare object.
I underestimated the complexity of implementing this and I'm breaking
down a larger incomplete CL into smaller parts to start landing them
so they will be more manageable to review (and to fix).
Change-Id: I756bb5f47b041dc4f43aad0764c869198533ea4a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5502600
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Adam Norberg <norberg@google.com>
Cr-Commit-Position: refs/heads/main@{#1302137}
The canonical bug format is TODO(crbug.com/<id>). TODOs of the
following forms will all be migrated to the new format:
- TODO(crbug.com/<old id>)
- TODO(https://crbug.com/<old id>)
- TODO(crbug/<old id>)
- TODO(crbug/monorail/<old id>)
- TODO(<old id>)
- TODO(issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/u/1/issues/<old id>)
- TODO(bugs.chromium.org/<old id>)
Bug id mapping is sourced from go/chrome-on-buganizer-prod-issues.
See go/crbug-todo-migration for details.
#crbug-todo-migration
Bug: b/321899722
Change-Id: Ibc66b8c440e4bcdef414e77fef4d9874d2ea9951
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5493800
Auto-Submit: Alison Gale <agale@chromium.org>
Commit-Queue: Alison Gale <agale@chromium.org>
Reviewed-by: Peter Boström <pbos@chromium.org>
Owners-Override: Alison Gale <agale@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1293330}
The canonical bug format is TODO(crbug.com/<id>). TODOs of the
following forms will all be migrated to the new format:
- TODO(crbug.com/<old id>)
- TODO(https://crbug.com/<old id>)
- TODO(crbug/<old id>)
- TODO(crbug/monorail/<old id>)
- TODO(<old id>)
- TODO(issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/<old id>)
- TODO(https://issues.chromium.org/u/1/issues/<old id>)
- TODO(bugs.chromium.org/<old id>)
Bug id mapping is sourced from go/chrome-on-buganizer-prod-issues.
See go/crbug-todo-migration for details.
#crbug-todo-migration
Bug: b/321899722
Change-Id: Iee14d10d544e9f0ec046117cc4ec8a55c427adc0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5469947
Reviewed-by: Darryl James <dljames@chromium.org>
Owners-Override: Alison Gale <agale@chromium.org>
Commit-Queue: Alison Gale <agale@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1290838}
Enrollment token is provisioned as REG_SZ. Read as REG_BINARY fails.
Ignore the DM token that is not in the REG_BINARY format.
Bug: 40945094
Change-Id: I0878f5ed76874ae1b1d3493bc40e20ea04dad4a4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5460267
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1288500}