[wix-users] Unable to upgrade per-machine driver package with burn bundle

Steve Sanders steve at keyba.se
Tue Aug 2 15:34:46 PDT 2016


I've been trying to make a mixed bundle with a per-user application package
and per-machine driver package. It seems to work fine on initial install,
asking for elevation only when the drivers need to be applied. But when an
upgrade is applied with newer driver package, it uninstalls the current
driver without installing the new one, and I see a line like this in the
log, which seems to explain what's going on:

Skipping cross-scope dependency registration on package: Dokan_x64.msi,
bundle scope: PerUser, package scope: PerMachine

The UAC prompt does happen when running the updated bundle.
I have seen other bugs and discussions around "mixed bundles", such as
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/bundle-with-mixed-privilege-packages-td7601094.html

Our fallback is to error out with a message to manually uninstall the
existing driver package on update, but it would be nice to not have to do
that.

Bundle logs:
https://gist.github.com/zanderz/efc710d9bf4e4099687b0edc056304b1

The per machine package project file can be seen here:
https://github.com/keybase/dokany/blob/zanderz/test_2016.08.02/dokan_wix/Dokan_x64.wxs

Per user package:
https://github.com/keybase/client/blob/zanderz/installer_2016.08.02/packaging/windows/WIXInstallers/KeybaseApps/KeybaseApps.wxs

Burn bundle:
https://github.com/keybase/client/blob/zanderz/installer_2016.08.02/packaging/windows/WIXInstallers/KeybaseBundle/Bundle.wxs

Burn v3.10.2.2516
Windows 10

Am I correct in assuming that the per-machine package is gone after
updating due to "Skipping cross-scope dependency registration", and if so,
what can I do?


More information about the wix-users mailing list