Currently, bundle registration scope is determined at build time based on the properties of packages in the chain: if any package is scoped for the current user only, the bundle registration is also user scoped. Conditions are not taken into account.
Bundles that can install either user scoped or machine scoped will contain at least one user scoped package, which will force the bundle registration to be user scoped. As a result, even if all packages that are actually installed are machine scoped, the bundle is user scoped and other users cannot modify or remove the bundle. (Further, if the installing user is removed, the bundle cannot be modified or removed easily at all.)
I propose that a custom BA should be able to change bundle registration from user scoped to machine scoped at runtime, after detection and before planning. For bundles declared as user scoped, detection should also be extended to detect machine scoped installs and change scope automatically.
As a WiX User I can author a Bundle that is registered for all users of a machine when all user-scoped packages in my Chain are excluded by runtime conditions.
(WIP to follow)
Originally opened by stevedower
The text was updated successfully, but these errors were encountered:
Sounds like #3913 wants it to be dynamic and automatic based on install-time conditions (e.g., don't elevate if per-machine packages are conditioned out) but this one wants it under BA control to select different packages based on UI (which is why I duped #5420 to it).
My takeaway is #3913 wants to be able create a bundle with per-user and per-machine packages, then can skip per-machine packages to install as per-user (thus avoiding elevation). This one wants to be able create a bundle with per-user and per-machine packages, then can skip per-user packages to install as per-machine.