我正在使用Visual Studio Express for Desktop 2013,因为我使用的是Express版本,我决定使用WiX构建一个简单的安装程序。
我正在使用WiX Edit v0.7.5.0并安装了WiX Toolset v3.8。
我已经成功构建了一个可行的msi,但现在想在这个等式中添加一个.NET Framework检查。
我仍然非常擅长使用WiX,我已按照本指南中的步骤进行操作,我可以构建一个msi,其中包括对.NET Framework 3.5版的检查:
一旦我尝试检查.NET Framework 4.0或更高版本,我就会遇到错误。
我简单修改了PropertyRef和Condition,如下所示:
<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>
当我运行Build MSI Setup Package时,我在Results Panel中得到以下内容:
----- 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 :(得分:0)
使用WiX Toolset本身的Extension 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"