0
Commit Graph

265 Commits

Author SHA1 Message Date
James Decker
e56ee73b51 Synchronizing v4 protocol to match changes in v3.1 protocol
Also updated the example pipeline_id to match the pipeline_id
actually expected.

Change-Id: I3c98a9f69e1322f00bbe2eac3f52a93f9e1b9474
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6355800
Commit-Queue: James Decker <deckerjames@google.com>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1434838}
2025-03-19 08:52:41 -07:00
S. Ganesh
1d1b6407d9 updater: add dev guidelines for converting base::FilePath to strings
Bug: 397561234
Change-Id: I505b88ee9f45a88bb5a9a7d840e0e94fc8d4812a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6321731
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1427919}
2025-03-04 12:47:15 -08:00
S. Ganesh
2351772933 updater: add dev guidelines for appending strings to base::FilePath
Bug: 397561234
Change-Id: Ie84212a2ab2a14cb1932c77c1cd8452efe4290ab
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6323303
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1427844}
2025-03-04 10:50:06 -08:00
James Decker
b26d0a87e2 Updating v4 spec to define objects to be more JSON friendly.
- Adding specific examples about serialization in JSON vs. XML so
we can critique how it will ultimately be formatted in context of the
spec.
- dropping "hash_" prefix from hash_in/out to match differential
`previous` objects of the same type.
- clarified that the `hash` object is both a request and a response
object.
- renamed `cache` to `cached_hashes` to clarify the type and also
match the plural list guidance in JSON.
- Pluralizing new and pre-existing list properties to match the
style expectations defined for JSON. This makes it self-documenting in
both XML and JSON that an object is a list, even when the list contains
only a single element.

For context, see:
https://google.github.io/styleguide/jsoncstyleguide.xml?showone=Singular_vs_Plural_Property_Names#Singular_vs_Plural_Property_Names

Fixed: 399959348
Change-Id: I345e0bd2448453f712b898bc20b9b54358a50990
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6314174
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@{#1427229}
2025-03-03 10:44:02 -08:00
Noah Anderson
f439f3a410 Updater: Update link to tagging tool.
https://crrev.com/c/4738939 converted the tagging tool from Python to C++.

Change-Id: Id84f0555e510a37591331dd3131d7ceaf3b4beef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6310419
Auto-Submit: Noah Anderson <noahanderson@google.com>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Noah Rose Ledesma <noahrose@google.com>
Commit-Queue: Noah Rose Ledesma <noahrose@google.com>
Cr-Commit-Position: refs/heads/main@{#1425966}
2025-02-27 13:53:33 -08:00
Joshua Pawlicki
0075e4c935 Updater: Remove FP from v4 protocol documentation.
Bug: 353249967
Change-Id: Ib32098fd4712ded3cec017dfb3160289c291af08
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6300769
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1425479}
2025-02-26 16:54:57 -08:00
Noah Rose Ledesma
1c0ad55f18 Document detection and pings for overinstalls
Add documentation to the updater's functional spec explaining how
external installs are periodically detected and pinged.

Bug: 397415614
Change-Id: I9f046e0c77f5bf7139fe0af04125f3d5258b6a7c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6278790
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Noah Rose Ledesma <noahrose@google.com>
Cr-Commit-Position: refs/heads/main@{#1421665}
2025-02-18 15:00:05 -08:00
Joshua Pawlicki
b14ca5315c update_client: Persist IID through first active.
Previously, the IID would always be cleared on
the first update check, which is usually the
update-check-to-install. To avoid continuously
retransmitting a unique identifier for inactive
clients, the install ID is not sent for
non-active updatechecks, nor for non-install
pings.

Also, update the install ID on an overinstall.
This helps terminate the install funnel
telemetry for installers used in an overinstall
context.

Bug: 343239826
Change-Id: Ifb216019179fc307e2ac13e2a7abc4005f62dccd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6249219
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1418371}
2025-02-10 16:42:42 -08:00
Joshua Pawlicki
d695cb1c74 Docs: Fix updater download cache doc lines.
Change-Id: I67a47aeb1c37ad97490db99d85338052b06b212d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6234634
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1416401}
2025-02-05 12:52:07 -08:00
S. Ganesh
139f9b8134 updater: send pings with eventresult 0 on install failures
`eventresult` needs to be `0` for pings that report failure.

Bug: 374957472,40944565
Change-Id: I49c848aa7bfbe03ebd06ce8f9d3a352a3f9839d0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6235389
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1416327}
2025-02-05 11:07:39 -08:00
S. Ganesh
69d04dc7b0 updater: Add reporting support for metainstaller errors
Fixed: 40944565
Change-Id: I2fdb6b77ae6d345963d64fc5c47ef0557cc7bf2a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6231072
Commit-Queue: S Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1416229}
2025-02-05 09:10:22 -08:00
James Decker
d2e79a4f40 Updating protocol 4: lists, nextfp and version
This change removes explicit list nodes and moves nextfp and
version from the pipeline nodes to the updatecheck node.

Bug: 393153877
Change-Id: I22646be95328d9bc58dba401a4ee00a62cd0ef76
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6214973
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1415031}
2025-02-03 10:21:55 -08:00
S. Ganesh
b2bfb48549 updater: document the lang tag parameter
Bug: 385004395
Change-Id: I2af4c752137c4ed2acd91e6b420f515a8f805e77
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6214712
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1413118}
2025-01-29 13:03:59 -08:00
Joshua Pawlicki
84348fcac9 update_client: remove dead system requirements code.
This was only used by offline manifests, which no longer rely on this
module.

Bug: 353249967
Change-Id: If82b5ff95fd24fefb066fae9c384dbabc77889d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6196810
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1411114}
2025-01-24 12:20:11 -08:00
S. Ganesh
f0fbd5916d updater: update functional spec for updater first install pings
Bug: 374957472
Change-Id: Ic8110f0e0543204367bc69c2980a732051685235
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6071823
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1391892}
2024-12-04 22:33:21 +00:00
S. Ganesh
af6de832c5 updater: fix installer_api.cc does not honor kExitCode
Fixed: 382059245
Change-Id: I7c4a5c44ea423997a23781e20ea9f08ac996ec73
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6068901
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1391686}
2024-12-04 15:55:58 +00:00
Joshua Pawlicki
ef919592b0 Documentation: Add a bit about updater signing.
Bug: 365960975
Change-Id: I6be58b834e4572f7cddc7e549f637d25d7f8ede0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5967413
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1374138}
2024-10-25 21:15:18 +00:00
S. Ganesh
f42f08fc88 updater: document an example for importing new old updaters
Bug: 374217027
Change-Id: I0aa36bb18a56742246eaa166def3371409def1f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5955710
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1372843}
2024-10-23 18:14:33 +00:00
S Ganesh
6df6c68ef7 Revert "[Gardening] Revert "updater: use the same ProgramFiles(x86) directory for both 32 and 64 bit""
This reverts commit 468c9d9096.

Reason for revert: Fixing the change to not break on ARM64.

Original change's description:
> [Gardening] Revert "updater: use the same ProgramFiles(x86) directory for both 32 and 64 bit"
>
> This reverts commit ba46ea5763.
>
> Note: PS2->PS3 contains additional changes that were necessary to
> resolve an unrelated merge conflict that came up in the mean time.
>
> Reason for revert: Consistent test failures on win11-arm64-rel, see
> https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/2761/overview for an example.
>
> Original change's description:
> > updater: use the same ProgramFiles(x86) directory for both 32 and 64 bit
> >
> > Low-Coverage-Reason: COVERAGE_UNDERREPORTED
> > Bug: 374217027
> > Change-Id: I816313c31fdc11c5215c1fae34f678f7652c4d1a
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5941730
> > 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@{#1370733}
>
> Bug: 374217027, 374382498
> Change-Id: I1a4f4fe86d05cfbb8b5c90cc40dfd49a012d22fe
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5942702
> Owners-Override: Tanmoy Mollik <triploblastic@google.com>
> Reviewed-by: Tanmoy Mollik <triploblastic@google.com>
> Commit-Queue: Jan Keitel <jkeitel@google.com>
> Cr-Commit-Position: refs/heads/main@{#1371264}

Low-Coverage-Reason: COVERAGE_UNDERREPORTED
Bug: 374217027, 374382498
Change-Id: I70b3fec7d6632b6a362e304cfd6ebeb198cd92b8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5950984
Commit-Queue: S Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1371769}
2024-10-22 00:42:50 +00:00
Jan Keitel
468c9d9096 [Gardening] Revert "updater: use the same ProgramFiles(x86) directory for both 32 and 64 bit"
This reverts commit ba46ea5763.

Note: PS2->PS3 contains additional changes that were necessary to
resolve an unrelated merge conflict that came up in the mean time.

Reason for revert: Consistent test failures on win11-arm64-rel, see
https://ci.chromium.org/ui/p/chromium/builders/ci/win11-arm64-rel-tests/2761/overview for an example.

Original change's description:
> updater: use the same ProgramFiles(x86) directory for both 32 and 64 bit
>
> Low-Coverage-Reason: COVERAGE_UNDERREPORTED
> Bug: 374217027
> Change-Id: I816313c31fdc11c5215c1fae34f678f7652c4d1a
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5941730
> 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@{#1370733}

Bug: 374217027, 374382498
Change-Id: I1a4f4fe86d05cfbb8b5c90cc40dfd49a012d22fe
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5942702
Owners-Override: Tanmoy Mollik <triploblastic@google.com>
Reviewed-by: Tanmoy Mollik <triploblastic@google.com>
Commit-Queue: Jan Keitel <jkeitel@google.com>
Cr-Commit-Position: refs/heads/main@{#1371264}
2024-10-21 09:39:19 +00:00
S. Ganesh
ba46ea5763 updater: use the same ProgramFiles(x86) directory for both 32 and 64 bit
Low-Coverage-Reason: COVERAGE_UNDERREPORTED
Bug: 374217027
Change-Id: I816313c31fdc11c5215c1fae34f678f7652c4d1a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5941730
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@{#1370733}
2024-10-18 18:26:32 +00:00
S. Ganesh
55127b87a6 updater: Clarify InstallerResult as it relates to other InstallerXXX values
Low-Coverage-Reason: COVERAGE_UNDERREPORTED
Change-Id: Icc174269937f117541dcafba054df77816acc587
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5936179
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1369603}
2024-10-16 20:25:51 +00:00
S. Ganesh
d6660af598 updater: Clarify the format for the AutoRunOnOSUpgrade app commands
Fixed: 373637908
Change-Id: I513a5eaef70b9baa2e2dbc6ab7359e558f000c0e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5935495
Commit-Queue: David Bienvenu <davidbienvenu@google.com>
Reviewed-by: David Bienvenu <davidbienvenu@google.com>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1369158}
2024-10-16 02:51:17 +00:00
Xiaoling Bao
0b4a04230e Delete the misleading comment about the deprecation of MCX.
Change-Id: Id9d28e8e7f32da2b28ab9e86f74ff4c5de521b63
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5921993
Commit-Queue: S Ganesh <ganesh@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Auto-Submit: Xiaoling Bao <xiaolingbao@chromium.org>
Reviewed-by: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1366377}
2024-10-09 19:32:13 +00:00
S. Ganesh
6019aec691 updater: fix UI title to say App Name Installer
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}
2024-10-09 19:20:21 +00:00
Allan Kerr
901b3fd477 Lookup Installed Version in the Clients Registry
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}
2024-10-08 18:13:51 +00:00
Michael Herrmann
72cdc53a2a Add link to a tutorial to updater design_doc.md
Change-Id: I4f7d9f65ce26e1ed0f0eda293833f76b36e1039a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5913512
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1364983}
2024-10-07 16:34:36 +00:00
S. Ganesh
a5e853f9da updater: Fix multiple updater instances in services and task scheduler
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}
2024-10-02 12:53:42 +00:00
S. Ganesh
2415f9bb21 updater: use google-branded logo or blank logo based on branding
Bug: 40234383
Change-Id: I738510e462a3171d9ea0c96f8a353cd4c266d3ae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5899653
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@{#1362737}
2024-10-01 23:08:11 +00:00
Joshua Pawlicki
df62196726 Updater: Update functional spec eula docs to match that actual impl.
Change-Id: I4e0bcba59f7cb9077ec8d2e2f70920c6865aa795
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5899262
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1362591}
2024-10-01 19:07:06 +00:00
S. Ganesh
d0bbe258b9 updater: splash screen enhancements
* 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}
2024-09-27 19:23:10 +00:00
S. Ganesh
22700bbf25 updater: Add scripts to generate ADM group policy templates
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}
2024-09-11 13:15:25 +00:00
S. Ganesh
d7677eddf7 updater: preserve the log file in SystemTemp or %TMP% on uninstall
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}
2024-09-07 00:57:09 +00:00
Joshua Pawlicki
d38fd4953e Updater: document the most important build output.
Fixed: 40269445
Change-Id: I12c433237d5abf4c65aabb06eed44a0a8ac4eb12
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5837701
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1351496}
2024-09-05 16:46:46 +00:00
Noah Anderson
4ea9ab1450 Updater: Rename Last Update Check Error protocol fields for consistency.
This makes the names consistent with other fields used to report errors elsewhere in the protocol.

Also, propagate the protocol additions to the version 4 protocol.

Change-Id: I32511393f36150770974c8762764e375ad4d08ca
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5835647
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Noah Rose Ledesma <noahrose@google.com>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Noah Rose Ledesma <noahrose@google.com>
Auto-Submit: Noah Anderson <noahanderson@google.com>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Noah Anderson <noahanderson@google.com>
Cr-Commit-Position: refs/heads/main@{#1350933}
2024-09-04 18:04:01 +00:00
S. Ganesh
f99d61d50c updater: instructions to upload UI screenshots manually
Bug: 40285290
Change-Id: Id21fbec2d2ff84367e2d105cb6acb6de1516bfb3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5830009
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1350400}
2024-09-03 21:02:20 +00:00
Joshua Pawlicki
9d26a73880 Component Updater: Transmit updater's last update check outcome with US.
Updater: Log the last update check outcome in prefs.

Future work would improve how we instantiate UpdaterState to allow
testing that doesn't destroy prod updaters.

Bug: 341334315
Change-Id: I9f61b262ed8a1f3b812479695161d384eae0fad0
Low-Coverage-Reason: HARD_TO_TEST - Tests modify system state.
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5757352
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1348779}
2024-08-29 18:26:09 +00:00
James Decker
04ffe43e1b Proposal for new omaha protocol v4.0
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}
2024-08-27 19:28:29 +00:00
Noah Rose Ledesma
2740abbaab Use lowercase strings for Linux install dir
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}
2024-08-20 16:52:11 +00:00
S. Ganesh
d1c4b0b7d5 updater: de-elevated metainstaller redux
This CL uses the Windows explorer token to run the child process using
`::CreateProcessWithTokenW`. The approach is adapted from the
[following article](https://learn.microsoft.com/en-us/archive/blogs/
aaron_margosis/
faq-how-do-i-start-a-program-as-the-desktop-user-from-an-elevated-app)
.

Low-Coverage-Reason: COVERAGE_UNDERREPORTED
Fixed: 355539751
Change-Id: Ib73adc02da8ce51e014cefc522d8657f830f41bd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5769821
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1339236}
2024-08-08 19:46:05 +00:00
Joshua Pawlicki
6c319392a6 Docs: Update some TODOs in updater docs.
Fixed: 356361157
Change-Id: Iadbd216923934028150bf92cdd5c177831e3890e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5770294
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1338703}
2024-08-07 21:54:59 +00:00
Joshua Pawlicki
a01af13152 update_client: Create a "download" operation.
Also fix up some issues in the protocol doc.

Bug: 353249967
Change-Id: I2fc8cd8a5bd5da9f90282f97569f13755724f49c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5707530
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1336700}
2024-08-02 17:55:47 +00:00
S. Ganesh
b9fda6a2d7 updater: document the de-elevation to medium IPC mechanism
This CL documents the de-elevation to medium IPC mechanism introduced in
crrev/1333597.

Bug: 355539751
Change-Id: I387bb93ee860c28b66479ec594e3c0acfbfd6b41
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5744313
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@{#1333784}
2024-07-26 21:30:20 +00:00
S. Ganesh
dba3f73715 updater: reduce installer error overlaps with Windows/other error codes
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}
2024-07-13 00:40:17 +00:00
S. Ganesh
9ab775d80d updater: Show meaningful messages on encountering metainstaller errors
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}
2024-07-10 16:39:36 +00:00
S. Ganesh
2ea533ac83 updater: add information to the functional spec about the ADMX templates
Fixed: b/40212354
Change-Id: I404f8d752807421889bc04e24edf31bc51f407a4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5664298
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1320558}
2024-06-27 19:22:31 +00:00
Xiaoling Bao
7604bdb227 Exclude qualification app from the global update-disable policy.
Bug: 348677136
Change-Id: Ic629c3fe8a19ca81c674767f76883357fcc56739
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5651702
Reviewed-by: S Ganesh <ganesh@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1318867}
2024-06-24 23:27:51 +00:00
S. Ganesh
7266105011 updater: Fix functional spec, correct the msi standalone command line
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}
2024-06-21 17:34:02 +00:00
S. Ganesh
b98a07e01e updater: set/delete eulaaccepted in registry, backward compatibility
Omaha 3 sets the eulaaccepted value to 0 when the EULA has not been
accepted, and also deletes the eulaaccepted value in the registry at
`Google\Update` when the EULA has been accepted. Apps may rely on this
value to determine when the overall EULA has been accepted, so the
updater also now updates this value accordingly in this CL.

Fixed: b/347737726
Change-Id: I7c16f19ca1d56cc19ebaaf513bfdd715226280b5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5637855
Commit-Queue: S Ganesh <ganesh@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Code-Coverage: findit-for-me@appspot.gserviceaccount.com <findit-for-me@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1316668}
2024-06-18 20:27:08 +00:00
S. Ganesh
f83ca12641 updater: update protocol 3.1 docs
This CL updates the protocol 3.1 documentation with the changes in
r1315365 and r1315429.

Bug: b/40259471
Change-Id: I4bfbe0c18b6f8474c633cdf3a8205bf9bb21fd4d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5633643
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@{#1315446}
2024-06-14 21:37:57 +00:00