【问题标题】:WIX bootstrapper per User每个用户的 WIX 引导程序
【发布时间】:2015-08-13 13:46:10
【问题描述】:

使用 WiX 3.8。我创建了一个应该为每个用户帐户安装的 MSI。我已将该 .msi 与引导程序项目中的其他先决条件链接起来。但是,在安装生成的 .exe 文件期间,我已提示输入管理员权限。当我输入管理员用户/通过时,应用程序安装在管理员帐户而不是用户的帐户下。如果我单独安装 .msi 包,则应用程序会在用户帐户下正确注册。知道如何处理吗?

MSI 包

 <Package InstallerVersion="500"
              Compressed="yes"
              InstallScope="perUser" />

引导程序

<Chain>
      <PackageGroupRef Id="Netfx4Full"/>
      <PackageGroupRef Id="OpenXMLSDK"/>
      <PackageGroupRef Id="SQLServerCompact_4.0"/>
      <MsiPackage Id="MyApp" SourceFile="$(var.MyAddin.TargetPath)"/>
     </Chain>
  </Bundle>

【问题讨论】:

  • 您的&lt;Package&gt;InstallScope="perUser" 那么为什么&lt;MsiPackage&gt;ForcePerMachineyesInstallerVersion 设置为200 而不是500)?解释:我在想this MSDN article
  • 我不确定,我这里没有 SDK 可以测试,但我会先将 InstallerVersion 更改为 500。 AFAIK InstallScope="perUser"(因为它会将 MSIINSTALLPERUSER 设置为 1)仅从 5.0 版开始受支持。此外,如果 &lt;MsiPackage&gt; 是您的 WiX 项目(应该安装的项目 perUser),那么您为什么要设置为 ForcePerMachine?不应该默认no
  • 根据您的建议 InstallerVersion="500" 和 ForcePerMachine 被删除..因此默认设置为“no”。但问题依然存在
  • 问题:如果没有 Netfx4Full(当然需要管理员权限),您是否有同样的问题?
  • 我必须以任何一种方式安装它,你能解释一下为什么你认为这是一个问题吗?正如你所见,我必须安装其他库,它们当然也需要管理员权限。

标签: c# wix


【解决方案1】:

我认为,您需要相应地更新您的 msi。在这个 Wix-User's thread 上,您可能会在 Bootstrapper 的上下文中找到关于 Per-Machine 或 Per-User 的一些很好的讨论。

此外,MSDN article 可能会让您对您的问题有所了解。 希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多