相关疑难解决方法(0)

从WiX设置项目引用WiX库项目中定义的WixVariable

我正在尝试配置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(或某些派生)?

wix wix3.5

23
推荐指数
1
解决办法
1万
查看次数

标签 统计

wix ×1

wix3.5 ×1