8

我创建了一个 WIX Burn Bundle。在捆绑包中,我安装了 .Net 4(如果未安装),然后再安装 2 个 .msi 文件。1 是第三部分 msi,另一个是我使用 WIX 为我的软件创建的 msi。我需要成为机器上的管理员才能运行这些 .msi 文件。

如果用户不是管理员,我希望 Burn 包不执行任何操作,即不安装任何内容。在我的产品软件中,我可以轻松地在下面使用 - 但是我不能在捆绑包中这样做。我已经阅读了很多类似的帖子,但只是没有找到我想做的工作示例。

<CustomAction Id="IsPrivileged" Error="You must be an Administrator to install [ProductName]." />
  <InstallExecuteSequence>
     <Custom Action='IsPrivileged' Before='LaunchConditions'>
        Not Privileged
     </Custom>
  </InstallExecuteSequence>
4

1 回答 1

9

您可以使用Burn 的内置变量WixBalExtension 的 Condition 元素使用与启动条件等效的捆绑包:

<bal:Condition Message="You can't elevate.">
  <![CDATA[Privileged <> 0]]>
</bal:Condition>

<bal:Condition Message="You're not elevated.">
  WixBundleElevated = 1
</bal:Condition>
于 2013-08-22T01:43:43.493 回答