在与wixproj相同的解决方案中引用WiX扩展

时间:2013-04-16 16:35:29

标签: wix wix3 wix-extension

我写了一个快速的WiX预处理器扩展,从我们保存在根文件夹中的文件中获取一些产品版本信息。

我希望将此扩展保留在与我们的WiX安装项目相同的解决方案中,因为它更易于维护。但问题是,在测试时,我们使用Debug配置,在发布版本时,我们切换到Release。这意味着我有两个扩展要处理。

我如何根据当前配置告诉WiX获取一个?

我一直在关注WiX项目属性中的reference paths,并将“.. \ MyWiXExtensions \ bin \ $(Configuration)\”添加为文件夹,希望它能够获取MSBuild属性,但这似乎不起作用。

我也看过构建事件。我可以将输出dll复制到我的安装项目的文件夹中,但是如果我清理我的解决方案,它不会破坏引用吗?

我正在使用WiX 3.7和Visual Studio 2012。

1 个答案:

答案 0 :(得分:1)

我最终在我的扩展程序上使用了一个post-build事件,它会将输出复制到我的wixproj文件夹中。

我只需要与解决方案的其余部分分开构建我的wixproj,以防止在覆盖dll时出现文件锁定问题。如果确实出现了文件锁定,我只需要关闭VS并重新打开解决方案。

作为旁注,引用项目本身而不是dll可能是Votive中的一个很好的功能。