在我的包中,我有一个包含默认安装路径的变量。然后我使用此变量在我的自定义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?