I've created a burn bundle installer that installs a couple of MSI's, both perMachine. The bundle does elevate properly on install. If I run the bundle exe with the /uninstall command line, it elevates on uninstall. If I uninstall from Windows 10's Apps & Features window, it gets elevated (this is because Apps & Features seems to blindly elevate here regardless of your bundle settings).
However, if I uninstall from Control Panel's "Programs and Features" dialog, the uninstall will not elevate (even though the logs seem to indicate that it does). The installer in question does need elevation to do some things (like stop a service cleanly for instance).
Bundle.wxs snippet:
<Bundle Name="Test Bundle"
Version="1.0.0.0"
Manufacturer="My Company, Inc."
Copyright="Copyright 2016 My Company, Inc."
IconSourceFile="Resources\Icons.ico"
DisableModify="yes"
UpgradeCode="$(var.UpgradeCode)">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkSidebarLicense">
<bal:WixStandardBootstrapperApplication
LogoFile="Resources/logo.png"
LogoSideFile="Resources/logoside.png"
ThemeFile="Resources/HyperlinkSidebarTheme.xml"
LocalizationFile="Resources/HyperlinkTheme.wxl"
LicenseUrl="" />
</BootstrapperApplicationRef>
<Chain>
<MsiPackage Id="MyMsi.msi"
SourceFile="$(var.SolutionDir)Installer\MyMsi.msi"
Compressed="yes"
ForcePerMachine="yes"
Vital="yes">
</MsiPackage>
<MsiPackage Id="MyOtherMsi.msi"
SourceFile="$(var.SolutionDir)Installer\MyOtherMsi.msi"
Compressed="yes"
ForcePerMachine="yes"
Vital="yes">
</MsiPackage>
</Chain>
</Bundle>
I've set the two MsiPackage's to "ForcePerMachine" to make sure the bundle elevates. Both MSI's package element has InstallScope="perMachine" set. If I install the MSI's by themselves, they both elevate when uninstalling from Programs and Features.
I'm kind of at a loss here.