2014-09-05 44 views
2

我使用Visual Studio Express for Desktop 2013,因为我使用快速版本,我决定使用WiX来构建简单的安装程序。WiX Edit v0.7.5.0 - 检查.NET Framework版本> 3.5

我正在使用WiX Edit v0.7.5.0并安装了WiX Toolset v3.8。

我已经成功构建了一个可以工作的msi,但是现在想要将.NET Framework检查添加到等式中。

我还是很新的,使用WiX的,我也跟着步骤在此如何引导,我可以得到一个MSI建成,其中包括为.NET Framework 3.5版的检查:

http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/check_for_dotnet.html

只要我尝试检查.NET Framework Version 4.0或更高版本,就会遇到错误。

我只是修改了PropertyRef和条件如下:

<PropertyRef Id="NETFRAMEWORK40FULL" /> 
<Condition Message="This application requires .NET Framework 4.0. Please install the .NET Framework then run this installer again."><![CDATA[Installed OR NETFRAMEWORK40FULL]]></Condition> 

当我再运行生成的MSI安装包,我得到我的结果面板如下所示:

----- Starting C:\Program Files (x86)\WixEdit\wix-3.0.5419.0\candle.exe -nologo "C:\Users\GT\Documents\Visual Studio 2013\WiX\Temp.wxs" -out "C:\Users\GT\Documents\Visual Studio 2013\WiX\Temp.wixobj" -ext WixUIExtension -ext WixNetFxExtension at 05/09/2014 14:34:12 

    Temp.wxs 

    Done in: 358 ms 

    ----- Starting C:\Program Files (x86)\WixEdit\wix-3.0.5419.0\light.exe -nologo "C:\Users\GT\Documents\Visual Studio 2013\WiX\Temp.wixobj" -out "C:\Users\GT\Documents\Visual Studio 2013\WiX\Temp.msi" -ext WixUIExtension -ext WixNetFxExtension at 05/09/2014 14:34:12 

    C:\Users\GT\Documents\Visual Studio 2013\WiX\Temp.wxs(39) : error LGHT0094 : Unresolved reference to symbol 'Property:NETFRAMEWORK40FULL' in section 'Product:F0989A9C-638B-4924-8BB1-6556A546E2AE'. 

----- Finished 

Error in light 

我已经做了相当多的搜索尝试和解决这个问题,并遇到了几篇文章,似乎与我所做的一致,唉,我仍然得到上面显示的相同的错误信息。

我在这里错过了很简单的东西吗?

回答

0

使用WiX Toolset本身的扩展dll而不是WiXEdit打包的扩展dll将确保light.exe使用最新的dll。

例如:

C:\Program Files (x86)\WixEdit\wix-3.0.5419.0\light.exe -nologo "C:\Users\GT\Documents\Visual Studio 2013\WiX\Temp.wixobj" -out "C:\Users\GT\Documents\Visual Studio 2013\WiX\Temp.msi" -ext "C:\Program Files (x86)\WiX Toolset v3.8\bin\WixUIExtension.dll" -ext "C:\Program Files (x86)\WiX Toolset v3.8\bin\WixNetFxExtension.dll" 
+0

我想你,试图从命令PROMT的light.exe路径建议什么,但现在我得到错误LGHT0010的一个新的错误消息:WixLocalization/@文化属性没找到;这是必需的。 – garyt 2014-09-08 08:25:49

+0

假设您正在为美国开发添加文化:en-us到您的命令行 – 2014-09-08 18:11:32

+0

现在接收到与WiXEdit相同的错误:错误LGHT0094:在产品:F0989A9C-638B-4924部分中未解析对符号'属性:NETFRAMEWORK40FULL'的引用-8BB1-6556A546E2AE' – garyt 2014-09-09 08:21:52