0
Commit Graph

73 Commits

Author SHA1 Message Date
fbcbf8d941 Update doc to run tests in internal pools.
We requested mb tool to support internal pools (crrev/c/3943908).
This CL adds instruction of how to run the tests in internal pool.

Bug: 1225352
Change-Id: I502c0467e35d67d8357548e7194cc79e74ab9272
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3946462
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1059521}
2022-10-14 22:59:10 +00:00
53ff3a716e Updater: Fix tagged metainstaller not elevating/deelevating correctly
This CL fixes issues where a tagged metainstaller does not:
* elevate when run with needsadmin=true|prefers from medium integrity.
* deelevate when run with needsadmin=false from high integrity.

This CL also adds detailed steps to create a tagged metainstaller in
the design document.

Bug: 1370538
Change-Id: I1f00846a080158e21805ef88e15e133feb35f095
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3936957
Commit-Queue: S Ganesh <ganesh@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1055593}
2022-10-06 03:54:22 +00:00
67dc63c22e COM documentation for the design document
Documentation for COM on Windows, including COM Security and system
services.

Bug: 1035895
Change-Id: I9640ff0d51d8c99448eb7896243dccec6f6580ac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3936352
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@{#1055469}
2022-10-05 20:42:29 +00:00
4efec393ee Event auto-reset, unit tests, docs for the legacy shutdown event
This CL uses a closure that resets the shutdown event when it goes out
of scope. Also adds unit tests and documentation for the shutdown event.

Bug: 1290496
Change-Id: I911c5ae1dbb3ecd0836c5c9febe02a259c916733
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3911688
Commit-Queue: S Ganesh <ganesh@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1050262}
2022-09-22 17:48:33 +00:00
37e5dc0dcc Update doc for appargs switch.
Bug: 1286576
Change-Id: Id0e83abfd40ff5b14ee24529d083961e89c062fd
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3894365
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1047520}
2022-09-15 16:25:32 +00:00
9de4b182e1 Add builder for Win11 bots in UAC pool.
1) Modify `waterfalls.pyl`.
2) Run `vpython3 .\testing\buildbot\generate_buildbot_json.py` to
re-generate `chromium.updater.json`.
3) Modify `chromium.updater.star` to add the builder. Run
`lucicfg fmt .\infra\config\subprojects\chromium\ci\chromium.updater.star` if
necessary.
4) Run `lucicfg infra\config\main.star`.

Bug: 1225352
Change-Id: I2eddb6831ef3e5fb7a682e7142ed6cdcea94a61d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3864352
Reviewed-by: Hans Wennborg <hans@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1042260}
2022-09-01 19:46:55 +00:00
825dfc4d99 Run DM registration and policy fetch on fresh installs
This CL introduces a `FetchPolicies` that is run to refresh the DM
registration and policies after a successful first install.

Bug: 1345407
Change-Id: I780be9b9eb2b8dc7f921c95078638c927ab38eb0
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3866721
Commit-Queue: S Ganesh <ganesh@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1041677}
2022-08-31 19:41:56 +00:00
8e804b90d7 Updater: Flesh out and reorganize design doc.
Fixed: 1353069
Change-Id: I3cf8463fc4e5b8a5a6b3e1dc806afc352b6c63d1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3860287
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@{#1040479}
2022-08-29 17:32:52 +00:00
c706951bfd Document mandatory enrollment and timing of enrollment and policy fetch.
`EnrollmentMandatory` is documented in line with the corresponding
documentation for chrome's `CloudManagementEnrollmentMandatory`.
https://support.google.com/chrome/a/answer/9301891

Bug: 1345407,1339451
Change-Id: Iaf9633c85ab9d0cbd3e2b870b6a03ef590febc71
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3851053
Commit-Queue: S Ganesh <ganesh@chromium.org>
Auto-Submit: S Ganesh <ganesh@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1038846}
2022-08-24 17:51:51 +00:00
e4ab4dceda Updater: Update the old version of the updater.
Also add some docs about it.

Bug: 1345887
Change-Id: I44c1c9abec2e60f8bedfbcd3e2af082997bdd75b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3848718
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1038208}
2022-08-23 12:54:06 +00:00
ac1ef724a8 Create a tool to auto-update IDL files.
1. Update IDL files for all 6 flavors (CPU_ARCH x IS_CHROME_BRANDED).
2. Build a smaller GN target
(`chrome/updater/app/server/win:updater_idl_idl_idl_action` vs
 `chrome/updater:all`)

Bug: 1353883
Change-Id: I7cc55655edfb74f644d32b44d25c6bbf7217fdc6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3835274
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Reviewed-by: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1036310}
2022-08-17 22:09:31 +00:00
35999e0652 Update functional spec.
- Enrollment discovery locations
- Policy value search order.

Bug: 1339451
Change-Id: I302dbb7183f44343ce76c712c4cb7482211f81ee
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3824539
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Reviewed-by: S Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1033799}
2022-08-11 00:39:50 +00:00
84fbd2eea8 Document location of the Device Management cache in Windows
Bug: 1345407
Change-Id: I9485b31d379ff904f27f31bf9a85499358f0ffc7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3822061
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1033302}
2022-08-10 02:02:22 +00:00
967be2b84d Updater: fill out some areas of the functional spec.
Bug: 1347910, 1339451, 1316098
Change-Id: Icae1419d2fc19e7084046449edcf0803696bc5d8
Fixed: 1328903
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3817004
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1032758}
2022-08-08 22:28:18 +00:00
459cd85207 Updater: Set the application installer timeout to 15 minutes.
Sets the timeout on macOS as well. The timeout applies per-script.

Fixed: 1344545
Change-Id: I175384159b48cfae0a81ac6a9b76a55626033f0c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3806552
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@{#1031337}
2022-08-04 02:41:41 +00:00
508c72fbf7 Make the legacy COM classes/interfaces available to non-branded builds
This change makes the testing story simpler, and allows for
non-branded builds to use the legacy COM classes and interfaces.

The branded and non-branded builds use different GUIDs for the legacy
COM classes and interfaces.

For cross compilation reasons, the IDL files are generated with
different names for chrome-branded and open source. The common template
`updater_legacy_idl.template` is copied to the appropriately suffixed
template under the gen dir, and that copied template is used to then
generate the MIDL output with substitutible `defines` such as
`UPDATER_LEGACY_LIB_UUID` in the `midl("updater_legacy_idl_idl")`
action.

### How to generate the cross-compilation IDL COM headers and TLB
files

6 different build flavors need to be built in sequence as outlined
below. Each of those builds will generate the corresponding IDL files
and stop with a message to copy the files. Here is an example output
to copy generated files. After copying the files, the next step is to build the next build flavor and copy those files, until all build flavors are built:


```
midl.exe output different from files in
gen/chrome/updater/app/server/win, see C:\src\temp\tmppbfwi0ds

To rebaseline:
  copy /y C:\src\temp\tmppbfwi0ds\* c:\src\chromium\src\third_party\win_build_output\midl\chrome\updater\
app\server\win\x64
ninja: build stopped: subcommand failed.
```


```
* call gn gen out\ChromeBrandedDebug "--args=target_cpu=\"arm64\"
use_goma=true is_chrome_branded=true is_debug=true enable_nacl=false
blink_symbol_level=0 v8_symbol_level=0"
* autoninja -C out\ChromeBrandedDebug chrome/updater:all
* copy the generated files

* call gn gen out\ChromeBrandedDebug "--args=target_cpu=\"x64\"
use_goma=true is_chrome_branded=true is_debug=true enable_nacl=false
blink_symbol_level=0 v8_symbol_level=0"
* autoninja -C out\ChromeBrandedDebug chrome/updater:all
* copy the generated files

* call gn gen out\ChromeBrandedDebug "--args=target_cpu=\"x86\"
use_goma=true is_chrome_branded=true is_debug=true enable_nacl=false
blink_symbol_level=0 v8_symbol_level=0"
* autoninja -C out\ChromeBrandedDebug chrome/updater:all
* copy the generated files

* call gn gen out\Default "--args=target_cpu=\"arm64\" use_goma=true
is_chrome_branded=false is_debug=true enable_nacl=false
blink_symbol_level=0 v8_symbol_level=0"
* autoninja -C out\Default chrome/updater:all
* copy the generated files

* call gn gen out\Default "--args=target_cpu=\"x64\" use_goma=true
is_chrome_branded=false is_debug=true enable_nacl=false
blink_symbol_level=0 v8_symbol_level=0"
* autoninja -C out\Default chrome/updater:all
* copy the generated files

* call gn gen out\Default "--args=target_cpu=\"x86\" use_goma=true
is_chrome_branded=false is_debug=true enable_nacl=false
blink_symbol_level=0 v8_symbol_level=0"
* autoninja -C out\Default chrome/updater:all
* copy the generated files
```

Bug: 1255965,1348293
Change-Id: Id411940e3a0d7ae46f0e3c57724b61751ba7b4a3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3795492
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@{#1030420}
2022-08-02 06:54:02 +00:00
c8bce7cf4e Install applications in the wake task based on the ForceInstalls policy.
Bug: 1347562
Change-Id: Id94d52f10bea873d146f5a2b7576321f91137cae
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3793244
Reviewed-by: Xiaoling Bao <xiaolingbao@google.com>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1029630}
2022-07-29 05:11:05 +00:00
1ab5347191 Updater: Add policy manager support for force installs
For each application that needs to be deployed via the updater, the
policy for that application can be set to either `Force installs (system
wide)` or `Force installs (per user)`.

The updater is then expected to download and install the application on
all machines where the policy is deployed, and where the application is
not already installed.

Bug: 1347562
Change-Id: I2ec00244202b64b7c1ba18d0439bc9e59ed08cac
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3788901
Commit-Queue: S Ganesh <ganesh@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@google.com>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1028971}
2022-07-27 22:41:16 +00:00
a9f37275d2 Updater: Implement IPolicyStatus2 and IPolicyStatusValue
This CL implements the legacy Omaha3 IPolicyStatus2 and
IPolicyStatusValue interfaces, which return the current updater policies
for external constants, group policy, and device management.

Bug: 1293203
Change-Id: Idd1cd18ecdab353b1d1505d05c3bdad8b07a4d60
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3778356
Commit-Queue: S Ganesh <ganesh@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@google.com>
Cr-Commit-Position: refs/heads/main@{#1026838}
2022-07-21 17:22:13 +00:00
8d55099bbe Updater: Transmit /enterprise to the server.
/enterprise should disable pings in offline installs. However, it turns
out that no pings are actually sent for offline installs yet, so this
just hooks up some of the plumbing.

Also fixes a DCHECK that is too strict.

Fixed: 1286582
Change-Id: I0639fd0328a266087fee5269a2b167181bf951a8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3773537
Auto-Submit: 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@{#1026389}
2022-07-20 19:35:35 +00:00
648ab05793 Updater: preliminary implementation of IPolicyStatus
This CL implements the legacy Omaha3 IPolicyStatus interface, which
returns the current updater policies for external constants, group
policy, and device management.

Bug: 1293203
Change-Id: I10b9ad9d6d8e6a33b96e15186689b121f8a39da3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3775883
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@google.com>
Commit-Queue: S Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1026320}
2022-07-20 18:17:40 +00:00
401fdb3251 Security: Enforce admin for the active and internal system COM classes
This change adds restrictions on system updater COM callers that are
CoCreating the active or internal COM classes, because the interfaces
exposed allow for unrestricted functionality, such as installing any app
that the updater supports.

With this change, COM callers for the system active or internal
COM classes need to be admin, otherwise COM creation will fail with
E_ACCESSDENIED.

The legacy COM classes allow non-admin callers because the interfaces
only expose functionality that non-admin callers need.

Bug: 1343119
Change-Id: I6d6dfd754d2e1d7003620876b6fa1e6945d53d0d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3750851
Commit-Queue: S. Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1023308}
2022-07-12 18:10:29 +00:00
311235192e Eliminate hardcoded "updater.exe" literals.
In addition, this CL:
* creates specific version resources for updater and updater_test
* deletes an unused data file

This CL changes the tests to run updater.exe instead of
updater_test.exe. This is done in one unit test and in the Uninstall()
of the integration tests. Running updater.exe everywhere simplifies
the code in a future CL where processes are killed in between
successive unit tests runs.

Bug: 1241276
Change-Id: I9d97fd120748c296a8830428b8e5d2396fb476a9
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3751877
Auto-Submit: Sorin Jianu <sorin@chromium.org>
Reviewed-by: S. Ganesh <ganesh@chromium.org>
Commit-Queue: S. Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1022313}
2022-07-08 22:01:35 +00:00
d8f8809bbe Implement IProcessLauncher::LaunchCmdElevated using AppCommandRunner
This change makes `IProcessLauncher::LaunchCmdElevated` more secure,
because it now uses the command line processing that `AppCommandRunner`
implements, including restrictions around the executable being under
%ProgramFiles% and not having any replaceable parameters.

Bug: 1256944
Change-Id: I2d7d2b92c25211ccf821932d49524e0991bc25ef
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3749606
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: S. Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1021835}
2022-07-07 20:29:17 +00:00
f26bfa2ea1 Omaha Protocol: Add "extended" to list of known updaterchannel values.
Change-Id: I747d5ffe355d8aa76da192c552b420c42961e7ea
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3736208
Auto-Submit: Noah Anderson <noahanderson@google.com>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1019290}
2022-06-29 19:33:45 +00:00
cf58892eb6 OS upgrade substitutible parameters for AutoRunOnOSUpgrade
`command format` can now optionally contain a single substitutible
parameter, which is filled in with the OS versions in the format
`{Previous OS Version}-{Current OS Version}`. It is ok to have a static
command line as well if the OS versions information is not required.

Bug: 1316682
Change-Id: I0b2e379dcaa89024664a41bd2d153dfc65cc88d3
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3731212
Reviewed-by: Xiaoling Bao <xiaolingbao@chromium.org>
Commit-Queue: S. Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1018754}
2022-06-28 17:41:38 +00:00
2da2b5d8c8 Updater: A few more functional spec additions.
These additions complete the imports from the O3/Keystone functional
spec brainstorm doc. Everything in that document is now either tracked
here (potentially as a TODO), rejected from O4, or referenced by a P3
crbug (and is not critical to ship).

Bug: 1316098
Change-Id: I8803352b615caa8bf3408b05f913433b3071a0bb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3724187
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1018214}
2022-06-27 14:08:40 +00:00
1fd5fb7c24 Add support for running AutoRunOnOSUpgrade app commands on OS upgrades
The AutoRunOnOsUpgrade task runs AutoRunOnOSUpgrade app commands
registered for the updater apps on Windows as a part of the update
service's periodic tasks.

Bug: 1316682
Change-Id: I2eb918f165b5ffd484c125dcf4f3033a1bc2f5cb
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3717426
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: S. Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1017895}
2022-06-25 00:54:58 +00:00
f1b50a54d2 AppCommandRunner class, encapsulates loading and running AppCommands.
For more information about the AppCommands feature, please see the
functional spec.

Bug: 1316682
Change-Id: Ie65518cc7dd261202d27b3f341963e102bac654e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3718401
Commit-Queue: S. Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1017890}
2022-06-25 00:29:28 +00:00
8bc230f5b8 Updater: Implement remainder of jitter algorithm.
Sub-minute jitter already exists; this implements the cross-hour jitter.

Fixed: 1329868, 1328943
Change-Id: If4db0009175d77b2e23dcb3ed1b06436449567d5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3721298
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1017328}
2022-06-23 21:07:28 +00:00
d0b4c70c15 Updater: reorganize functional spec.
1. Combine duplicate sections.
2. Reorganize topics under the lifecycle headings (Installation,
Updates, Services, Uninstallation, Tools).
3. Remove some incorrect information.
4. Add TODOs to clarify what is not yet implemented.

Bug: 1316098
Change-Id: I23a1d37dbc04c09d1087e418296007c4ea7dd6bf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3684709
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1009787}
2022-06-01 20:25:36 +00:00
a65eb56c85 Updater: Remove --install-from-out-dir.
The updater should be installed using UpdaterSetup.exe.

Change-Id: Ia4c634efc6c7158e6b74eaa72832bf88bbdc74ba
Fixed: 1319591
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3679984
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@{#1009650}
2022-06-01 16:44:15 +00:00
01c758c421 ChromiumUpdater - Add Some Mac Documentation
This CL adds some Mac documentation for the ChromiumUpdater. It details
the scheduler for Mac and the XPC process for Mac. It also adds a little
note for the scheduler on Windows.

Change-Id: I508e59447ba0f709d67fda088137efab9ba0e39f
Bug: 1035895
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3671383
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Dong Sung Chang <donchan@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#1009137}
2022-05-31 16:59:31 +00:00
7b38b051a9 Updater: functional spec updates.
Bug: 1316098
Change-Id: I3d99fe5d92e4475873d93573448eee7eff2e357d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3669645
Auto-Submit: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: S. Ganesh <ganesh@chromium.org>
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1008345}
2022-05-27 18:30:31 +00:00
b1ee717430 Updater: Document sameversionupdate.
Change-Id: I27529fae942e6e151463306aaf0e6f281b805ade
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3668291
Reviewed-by: Xiaoling Bao <xiaolingbao@chromium.org>
Auto-Submit: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1007939}
2022-05-26 19:14:57 +00:00
77ad0635c9 Update developer's manual.
Addressed some comments from https://crrev.com/c/3668669.
Bug: 1327486

Change-Id: I4ca3164d7a69699f670c4943fb9113072adc9304
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3668356
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Reviewed-by: S. Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1007563}
2022-05-25 21:06:33 +00:00
1002768e37 Add dev manual
Bug: 1327486
Change-Id: I24cad30fe3de432af480ef819be61ace4eb47091
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3668669
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Reviewed-by: S. Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1007544}
2022-05-25 20:40:06 +00:00
451db2c8a5 Updater: documentation updates.
Bug: 1316098
Change-Id: Ia64141d6f568260182f868e3f5bbe90f765591a4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3665630
Reviewed-by: S. Ganesh <ganesh@chromium.org>
Commit-Queue: S. Ganesh <ganesh@chromium.org>
Auto-Submit: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1007165}
2022-05-25 00:43:20 +00:00
5b7c6a71e1 Use external constants to enable setting group policies
The chrome builders are not joined to a domain, so the
`IntegrationTest.LegacyUpdate3Web` test fails. This change allows for
the test to run as if it were joined to a domain, which allows the test
to succeed. In addition, with using external constants, the registry
is not a constraint anymore, and arbitrary group policies can be set.

Bug: 1325740
Change-Id: I27cf7fc740d14284edb44c888992761cb41bde82
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3654538
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: S. Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1006065}
2022-05-21 01:20:56 +00:00
c01f8ea263 Updater: documentation updates.
Bug: 1316098

Change-Id: I96c1f30c0182ca557dd4c40ef1a83cb0b5700e2c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3656313
Commit-Queue: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Xiaoling Bao <xiaolingbao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1005539}
2022-05-20 00:44:48 +00:00
21df8e84bb Restrict System AppCommands to EXEs residing within %ProgramFiles%
Bug: 1325693
Change-Id: I03ca35aee83404d0c1f92e79b3d695c66906f91d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3648730
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: S. Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1004298}
2022-05-17 16:36:38 +00:00
5196b88a42 Documents update for offline install
Bug: 1311354
Change-Id: I310d149c86c9e1be7e26c6515a9d0a505e41f8b4
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3625882
Reviewed-by: S. Ganesh <ganesh@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Commit-Queue: Xiaoling Bao <xiaolingbao@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999531}
2022-05-04 19:07:50 +00:00
fa311d24af Updater: construct a help URL for install failures.
Bug: 1014622
Change-Id: Ic3b12fa5cefd64553fefc5bd6617f39663d2f3da
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3608848
Reviewed-by: S. Ganesh <ganesh@chromium.org>
Commit-Queue: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#999064}
2022-05-03 20:48:45 +00:00
1e1469ebc6 Updater: Flesh out more of the functional spec.
Bug: 1316098, 1035895
Change-Id: Ic08d4e88e273e127fb075bd1be47565acdcb909e
Fixed: 1318574, 1316110, 1316101
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3606729
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@{#996228}
2022-04-26 17:01:41 +00:00
38e46146a1 Updater: implement AppCommandWeb
Application Commands allows installed Updater-managed products to
pre-register and then later run command lines (elevated for system
applications). The command lines can also include replaceable parameters
substituted at runtime.

For more information, please see the functional spec at
https://chromium.googlesource.com/chromium/src/+/refs/heads/main/docs/
updater/functional_spec.md#Application-Commands

Bug: 1243502
Change-Id: Ic90dce3790b87f7c7f8a5aba0ef3512cddeb7317
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3589133
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: S. Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#995529}
2022-04-25 00:14:10 +00:00
b5bd0f6a98 For //chrome/updater metainstaller, use preferred UI language from MUI
For the ChromiumUpdater, instead of reading the language tag, use
GetUserPreferredUILanguageList to get the preferred UI language from
MUI.

Bug: 1281969
Change-Id: Ib5f6141a95976ada0d9c6f5964636931a7c3ff2b
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3594230
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Dong Sung Chang <donchan@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#994400}
2022-04-20 22:46:28 +00:00
018268f972 Reland: Move //chrome/updater metainstaller RC file strings to grd
This is a reland of 52f9fae524

Original change's description:
> Move //chrome/updater metainstaller RC file strings to grd
>
> To take advantage of the chromium.src infrastructure for translations,
> move the existing string resources in
> //chrome/updater/win/ui/resources/resources_en.rc to
> chromium_strings.grd. During the build, utilize generate_embedded_i18n
> along with a Python file detailing which string IDs to pick to embed the
> translated strings into the metainstaller itself.
>
> Bug: 1281969
> Change-Id: I949da93e9b3833f78cb034d7f2eedefce091d772
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3579733
> Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
> Reviewed-by: Sorin Jianu <sorin@chromium.org>
> Commit-Queue: Dong Sung Chang <donchan@microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#992665}

Bug: 1281969
Change-Id: I76f29e1684dd00abc2787db9ce0e828cd7cbdc43
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3587453
Commit-Queue: Dong Sung Chang <donchan@microsoft.com>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Cr-Commit-Position: refs/heads/main@{#992760}
2022-04-14 23:10:01 +00:00
8f5ce0fa9e Revert "Move //chrome/updater metainstaller RC file strings to grd"
This reverts commit 52f9fae524.

Reason for revert: This CL broke win-chrome bot
https://ci.chromium.org/ui/p/chrome/builders/ci/win-chrome/26828/overview

Original change's description:
> Move //chrome/updater metainstaller RC file strings to grd
>
> To take advantage of the chromium.src infrastructure for translations,
> move the existing string resources in
> //chrome/updater/win/ui/resources/resources_en.rc to
> chromium_strings.grd. During the build, utilize generate_embedded_i18n
> along with a Python file detailing which string IDs to pick to embed the
> translated strings into the metainstaller itself.
>
> Bug: 1281969
> Change-Id: I949da93e9b3833f78cb034d7f2eedefce091d772
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3579733
> Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
> Reviewed-by: Sorin Jianu <sorin@chromium.org>
> Commit-Queue: Dong Sung Chang <donchan@microsoft.com>
> Cr-Commit-Position: refs/heads/main@{#992665}

Bug: 1281969
Change-Id: Iae6c749c933485c4d075f2fb7ae447822d33503e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3582853
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Owners-Override: Eugene Zemtsov <ezemtsov@google.com>
Commit-Queue: Eugene Zemtsov <eugene@chromium.org>
Cr-Commit-Position: refs/heads/main@{#992713}
2022-04-14 21:06:19 +00:00
52f9fae524 Move //chrome/updater metainstaller RC file strings to grd
To take advantage of the chromium.src infrastructure for translations,
move the existing string resources in
//chrome/updater/win/ui/resources/resources_en.rc to
chromium_strings.grd. During the build, utilize generate_embedded_i18n
along with a Python file detailing which string IDs to pick to embed the
translated strings into the metainstaller itself.

Bug: 1281969
Change-Id: I949da93e9b3833f78cb034d7f2eedefce091d772
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3579733
Reviewed-by: Joshua Pawlicki <waffles@chromium.org>
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: Dong Sung Chang <donchan@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#992665}
2022-04-14 19:27:59 +00:00
15636a9a59 Handle needsadmin prefers
If needsadmin=prefers, updater setup first tries to elevate to install
as system, and if elevation fails, it tries to install as an user app.

No prompt is shown to the user.

Bug: 1311354
Change-Id: I4f2c3739b3e0ae2ac000637e09d37170d2732aea
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3577989
Reviewed-by: Sorin Jianu <sorin@chromium.org>
Commit-Queue: S. Ganesh <ganesh@chromium.org>
Cr-Commit-Position: refs/heads/main@{#990688}
2022-04-09 01:53:08 +00:00