Я создал установщик пакета записи, который устанавливает несколько файлов MSI, оба perMachine. Комплект действительно поднимается правильно при установке. Если я запустил пакет exe с помощью командной строки / uninstall, он повысится при удалении. Если я удалю из окна «Приложения и компоненты» Windows 10, он получит повышенный уровень (это потому, что «Приложения и функции», кажется, слепо поднимаются здесь независимо от настроек вашего пакета).
Однако, если я удалю из диалогового окна «Программы и компоненты» Панели управления, при удалении не произойдет повышения (даже если журналы, кажется, указывают на это). Рассматриваемый установщик действительно нуждается в повышении прав для выполнения некоторых действий (например, для полной остановки службы).
Фрагмент Bundle.wxs:
<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>
Я установил для двух MsiPackage значение «ForcePerMachine», чтобы убедиться, что пакет поднимается. Для обоих элементов пакета MSI установлено значение InstallScope = "perMachine". Если я устанавливаю MSI самостоятельно, они повышаются при удалении из «Программы и компоненты».
Я здесь как бы в растерянности.