2014-09-05 97 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