4

我正在尝试动态命名我的 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)and$(TargetExt)属性,但我想知道为什么链接器没有收到正确的命令。

4

1 回答 1

0

您需要编辑 .wixproj 文件并在 Visual Studio 之外进行此更改。据我所知,Votive 错误地转义了一些字符(AFAIR 将 $ 替换为 $$)。

于 2011-12-21T13:17:35.980 回答