我正在尝试配置WiX设置和库,以便将库中某个文件的版本用作设置中的Product/@ Version.
背景
在本地定义文件的设置中,这是相对简单的,假设组件项目由WiX项目引用然后配置:
<Component Id="Company.Assembly" Guid="[GUID]">
<File Id="Company.AssemblyFile"
Name="Company.Assembly.dll" KeyPath="yes"
DiskId="1"
Source="$(var.Company.Assembly.TargetPath)" />
</Component>
Run Code Online (Sandbox Code Playgroud)
然后可以将产品版本设置为
<Product Id="[GUID]"
Name="Product Name"
Language="1033"
Version="!(bind.FileVersion.$(var.Company.AssemblyFile
.TargetFileName))"
Manufacturer="Company Name"
UpgradeCode="[GUID]">
Run Code Online (Sandbox Code Playgroud)
问题
因此,将所有组件移动到WiX库项目后,就不再可能直接引用该!(bind.FileVersion.$(var.Company.AssemblyFile.TargetFileName))变量.
我已经尝试在库中配置WixVariable
WixVariable Id="BuildVersion" Value="!(bind.FileVersion.Company.AssemblyFile)"/>
Run Code Online (Sandbox Code Playgroud)
然后从设置中引用它
<Product Id="[GUID]"
Name="Product Name"
Language="1033"
Version="!(wix.BuildVersion)"
Manufacturer="Company Name"
UpgradeCode="[GUID]">
Run Code Online (Sandbox Code Playgroud)
没有成功.
库或设置中是否需要一些额外的步骤或语法才能从设置中访问WixVariable(或某些派生)?