Wix Burn 3.10.3 & Windows 10:从程序和功能中卸载不会提升

Wix Burn 3.10.3 & Windows 10: Uninstall from Programs and Features doesn't Elevate

我创建了一个 burn bundle 安装程序,它安装了几个 MSI,都是 perMachine。该捆绑包确实在安装时正确提升。如果我 运行 带有 /uninstall 命令行的 bundle exe,它会在卸载时提升。如果我从 Windows 10 的应用程序和功能 window 卸载,它 得到 提升(这是因为无论您的捆绑设置如何,应用程序和功能似乎都会在这里盲目提升) .

但是,如果我从控制面板的 "Programs and Features" 对话框卸载,卸载不会提升(即使日志似乎表明它提升)。有问题的安装程序确实需要提升才能执行某些操作(例如彻底停止服务)。

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,从程序和功能中卸载时它们都会提升。

我有点不知所措。

好的,EXE 显然是自动从 ARP 运行 提升的(而 MSI 不是。这在 MSI 的卸载程序日志中得到确认:

MSI (s) (9C:F4) [17:20:38:470]: MSI_LUA: 不需要凭据提示,用户是管理员