我正在尝试使用WiX创建一个带有UI的安装程序。
我的安装文件是使用以下设置的:
<Directory Id="TARGETDIR"
Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<Directory Id="ManufacturerFolder"
Name="[Manufacturer]">
<Directory Id="INSTALLFOLDER"
Name="[ProductName]" />
</Directory>
</Directory>
</Directory>
在&lt; Product&gt;中部分,我正在定义:
<UIRef Id="WixUI_InstallDir" />
<UIRef Id="WixUI_ErrorProgressText" />
<Property Id="WIXUI_INSTALLDIR"
Value="INSTALLFOLDER" />
当我运行安装程序并进入“目标文件夹”面板时,我看到:
Install Service to:
C:\Program Files\[Manufacturer]\[ProductName]\
如何评估显示变量?
注意:如果我离开它们,请单击“下一步”,“安装并完成”。它看起来很糟糕。
答案 0 :(得分:37)
Binder变量可以很容易地实现这一点,而无需定义预处理器变量。它会像这样:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<Directory Id="ManufacturerFolder" Name="!(bind.property.Manufacturer)">
<Directory Id="INSTALLFOLDER" Name="!(bind.property.ProductName)" />
</Directory>
</Directory>
</Directory>
!(bind.)
语法记录在WiX.chm中的Linker (light)
主题中。
答案 1 :(得分:9)
在配置文件中定义变量。
例如,创建一个名为config.wxi的文件,其中包含以下内容:
<?xml version="1.0" encoding="utf-8"?>
<Include>
<?define Manufacturer = "Company Name" ?>
<?define ProductName = "Product Name" ?>
</Include>
然后使用$(var.Manufacturer)
和$(var.ProductName)
引用.wxs文件中的变量。