我只是在Visual Studio 2010,Windows 7中使用Wix 3.5。我无法进行自定义Preprocessor Extension
运行。我在.NET 3.5中创建扩展项目。并将已编译的dll复制到 Wix 3.5程序文件中,并在扩展项目属性中设置参考路径,但 Wix项目构建仍然失败,我的扩展程序上的“未定义的预处理器功能”。
实施例: 扩展项目:WixFileVersionExtension(来自wixfileversionext.codeplex.com) Wix程序文件:“C:\ Program Files \ Windows Installer XML v3.5 \ bin”
我错过了什么吗?谷歌无法回答我。
更新 这是一个错误,已在此处报告http://sourceforge.net/tracker/?func=detail&atid=642714&aid=3212304&group_id=105970
更新 不要在VS项目属性中使用引用路径,如此处所述http://wix.sourceforge.net/manual-wix3/votive_property_pages.htm 参考路径部分允许您定义在查找引用时要使用的路径(WiX扩展和WiX库) )
或将扩展程序dll复制到Wix文件夹中,如此处所述http://wix.sourceforge.net/manual-wix3/extension_development_intro.htm 放置在WiX EXE旁边以及所有其他WiX扩展DLL
解决方案是:添加参考和浏览扩展 dll文件 INSTEAD OF添加参考项目即使您在一个解决方案中拥有这些项目。如果您想要按照配置,调试或发布,请卸载Wix项目,编辑.wixproj文件并将..\WixExtension\bin\Debug\WixExtension.dll
更改为..\WixExtension\bin\$(Configuration)\WixExtension.dll
所以它会变成这样:
<ItemGroup>
<WixExtension Include="WixExtension">
<HintPath>..\WixExtension\bin\$(Configuration)\WixExtension.dll</HintPath>
<Name>WixExtension</Name>
</WixExtension>
</ItemGroup>
注意: Wix Visual Studio项目只会假设只要您通过 dll 文件(浏览)添加参考,它就是Wix扩展程序假设只要您通过项目 添加引用,它就会包含在安装程序中。
答案 0 :(得分:2)
您需要添加对实际扩展程序集(.dll)的引用,以便Candle.exe加载它。命令行等效项是-ext。