Open wixbot opened 9 years ago
Release
changed fromv3.x
tov4.x
This is basically the opposite of https://github.com/wixtoolset/issues/issues/3913.
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 https://github.com/wixtoolset/issues/issues/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.
OK, so opposite but not mutually exclusive. I can deal with that. :)
Can we expect any development on this issue in v.4? It was shoved to v4 9 years ago and is still not done. Many people need this as this issue keeps popping up. We have been waiting for v.4 since we thought that this would be included.
This issue is open and unassigned. That means it's waiting for someone to investigate the root problem, discuss possible solutions to the problem, and implement an agreed solution.
If you are interested in doing that work yourself, our developer documentation provides a great checklist for getting started.
If you are not interested in doing that work, someone else needs to become interested enough to do it. If this issue has been open for a long time, there probably isn't general interest in this particular issue. In that case, you'll want to consider how to motivate others to fix it for you. This is a pretty good list of support options.
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.
User story: 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)