2011-03-14 103 views
1

我只是在Visual Studio 2010,Windows 7中使用Wix 3.5。我无法自定义Preprocessor Extension运行。我在.NET 3.5中创建了扩展项目。和编译的.dll文件复制到维克斯3.5程序文件,加上设置在扩展项目属性参考路径维克斯项目构建还是失败,我的扩展名“未定义预处理功能”。Wix 3.5预处理器扩展 - undefined预处理函数

例子: 扩建工程:WixFileVersionExtension(从wixfileversionext.codeplex.com) 维克斯程序文件: “C:\ Program Files文件\的Windows Installer XML v3.5版本\ BIN”

我缺少的东西? Google无法回答我。


更新: 这是一个错误,并已在这里报道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扩展和维克斯库)

或复制扩展DLL到维克斯文件夹作为这里所说http://wix.sourceforge.net/manual-wix3/extension_development_intro.htm与其他所有的WiX扩展DLL

解决方案旁边放置的WiX的EXE一起:添加引用浏览扩展dll文件 INSTEAD OF添加引用项目即使您在一个解决方案中有这些项目。如果你想跟着配置,调试发布,卸载维克斯项目,编辑.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项目只会假设它是Wix Extension,无论何时您只要添加引用dll文件(浏览)并且也只假定它是一个应用程序将包含在安装程序每当您增加引用项目

回答

2

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

+0

我明白了...首先我尝试添加引用,但不工作。然后我意识到我需要将dll复制到wix文件夹中,但我删除了该引用。让我试试两个添加引用,并将该DLL在明天的wix文件夹中。我使用的是Visual Studio Wix Project,而不是命令行中的MSBuild,它是否与Candle.exe相关? – CallMeLaNN 2011-03-14 17:17:25

+2

Candle.exe是WiX编译器。扩展不必位于WiX二进制文件目录中;您可以在Visual Studio中的.wixproj中添加引用。 – 2011-03-14 21:01:24

+0

是最后一次我在VS项目和Wix文件夹中设置**参考路径**来仔细检查,但没有成功。现在我尝试添加引用和设置路径(+复制到wix文件夹),但也无法正常工作。它仍然没有识别自定义前缀。 ------------------- 等一下,我看到没有-ext,我在VS中设置的** Reference Path **没有包含在Build输出中。 Wix 3.5中的Wix Votive版本似乎存在缺陷。我想在SourceForge中发送错误报告,但他们转移到了CodePlex。 – CallMeLaNN 2011-03-15 00:58:13