如何将变量从python脚本传递给wix?

时间:2013-03-01 06:12:13

标签: python-2.7 wix

我有一个python脚本,它有一个变量'var',包含一个库文件的路径,wix需要这个文件来创建一个msi。我需要将这个'var'发送到wix proj。我可以通过吗? 我的wix代码看起来有点像..

<Component Id='MainExecutable' Guid='*'>
<File Id='ExecutableFile' Name='mc.exe' DiskId='1' Source='c:\my path to\mc.exe'KeyPath='yes'/>
</Component>

文件ID中的源路径应该来自python脚本中的'var'。

1 个答案:

答案 0 :(得分:1)

以下内容适用于WiX v3.6 +

<Component Id='MainExecutable'>
  <File Id='ExecutableFile' Source='$(var.VariableNameForPath)\mc.exe' KeyPath='yes'/>
</Component>

要定义变量,请将其传递给命令行,如:

candle -dVariableNameForPath="C:\my path to" my.wxs

或者如果使用MSBuild和.wixproj,请通过DefineConstants属性传递值,如:

<PropertyGroup>
  <DefineConstants>VariableNameForPath=C:\my path to</DefineConstants>
</PropertyGroup>

或者如果您希望C:\my path to成为MSBuild中的属性,它看起来像:

<PropertyGroup>
  <DefineConstants>VariableNameForPath=$(MsbuildPropertyForPath)</DefineConstants>
</PropertyGroup>