在烧录中基于系统架构设置属性

时间:2016-08-02 13:30:52

标签: wix

在我的包中,我有一个包含默认安装路径的变量。然后我使用此变量在我的自定义BA中显示默认路径,并将其传递给MSI包。我现在面临的问题是我希望每个架构有一个不同的值,基本上是64位机器的[ProgramFiles64Folder]和32位的[ProgramFilesFolder]。

我到目前为止的代码是:

// if 64 bit
<Variable Name="installationpath" Value="[ProgramFiles64Folder]$(var.Manufacturer)\$(var.ProductName)"/>
// else
<Variable Name="installationpath" Value="[ProgramFilesFolder]$(var.Manufacturer)\$(var.ProductName)"/>

<Chain>
  <MsiPackage SourceFile="..\32.msi" Id="client32" Cache="yes" Visible="no" Vital="yes" InstallCondition="Installed OR NOT VersionNT64">
    <MsiProperty Name="INSTALLFOLDER" Value="[installationpath]" />
  </MsiPackage>
  <MsiPackage SourceFile="..\64.msi" Id="client64" Cache="yes" Visible="no" Vital="yes" InstallCondition="Installed OR VersionNT64">
    <MsiProperty Name="INSTALLFOLDER" Value="[installationpath]" />
  </MsiPackage>
</Chain>

这是我正在努力的if条件。有没有办法用单变量来做,或者我需要2?

1 个答案:

答案 0 :(得分:1)

使用内置ProgramFiles6432Folder variable代替让Burn处理它。