我正在尝试动态命名我的WiX安装程序项目的输出,因此产生的MSI是MyProject-Version-Configuration。msi(例如MyProject-1.2.0.1325-Debug)。由于输出文件的名称是由链接器(light.exe)设置的,因此我认为我会在WiX项目的工具设置中使用附加参数:
-out $(TargetDir)MyProject-$(Version)-$(Configuration)$(TargetExt)
不幸的是,$(TargetDir)和$(TargetExt)在项目运行时没有被评估,所以light接收到:
-out MyProject-1.2.0.1325-Debug
显然不能产生正确的输出。既然$(Configuration)
设置正确,我想知道为什么$(TargetDir)
和$(TargetExt)
没有设置正确?
我可以通过使用构建后事件重命名输出文件来解决这个问题,并且然后我确实可以访问$(TargetDir)
和$(TargetExt)
属性,但我想知道为什么链接器没有收到正确的命令。
您需要编辑。wixproj文件并在Visual Studio之外进行此更改。据我所知,Votive错误地转义了一些字符(它用$$代替了$$)。