1

我只是将 Wix 3.5 与 Visual Studio 2010、Windows 7 一起使用。我无法进行自定义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 扩展 DLL 一起放置在 WiX EXE 旁边

解决方案是:添加引用浏览扩展dll 文件而不是按项目添加引用,即使您在一个解决方案中拥有这些项目。如果你想按照配置、调试发布,卸载 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 扩展,并且也只会假设它是在您通过Project添加引用时包含在安装程序中的应用程序。

4

1 回答 1

2

您需要添加对实际扩展程序集 (.dll) 的引用,以便 Candle.exe 加载它。等效的命令行是 -ext。

于 2011-03-14T11:38:38.213 回答