2010-06-29 62 views
0

我使用Wix 3.0並開發了一個託管自定義操作,其中dotnet 框架版本爲2.0。是否可以在只安裝.net 4的計算機上運行由WI 3.0下的.net 2.0編寫的託管自定義操作?

現在,我遇到了一個問題。這個自定義動作不能在dot net 4.0 的機器上運行,比如WinXP SP2 + dotNet 4.0。

(對於託管EXE應用程序,我可以添加的app.config指示 supportedruntime 2.0和4.0,但對於維克斯3.0,我不知道該怎麼 解決這個問題。)

我不想要將Wix 3.0升級到3.5。

是否有解決此問題的方法?

+0

爲什麼不安裝2.0/3.5框架?他們都愉快地共存。 – 2010-06-29 16:27:44

回答

0

是否有解決此問題的方法?

是的,文檔說.NET 2.0是安裝程序的先決條件。您可以在您的安裝程序中使用add a check for the .NET version,以便在必要時出現錯誤消息並顯示錯誤消息。

另請注意,比Windows XP SP3更早的任何東西都無法運行.NET 4,並且任何新的東西都已隨.NET 2.0安裝開箱。因此,您所描述的情況(.NET 4.0安裝但不是.NET 2.0)只能在Windows XP SP3上發生。

+0

Windows Server不一定安裝任何特定版本的.Net。 – Gabe 2010-06-30 22:59:11

+0

@Gabe:我忘了Windows Server 2003,它確實沒有預裝.NET 2.0,也是.NET 4.0支持的最舊的服務器版本。但是更新的Windows Server版本總是預裝了.NET 2.0。 http://blogs.msdn.com/b/astebner/archive/2007/03/14/mailbag-what-version-of-the-net-framework-is-included-in-what-version-of-the- os.aspx – 2010-06-30 23:22:31

+0

儘管很少見,但Windows 2008 Server Core安裝時沒有.Net(2008 R2可能會解決該問題)。 – Gabe 2010-07-01 00:09:59

1

它似乎是您開發的託管自定義操作和.Net Framework 2.0的強大依賴關係。如果我是你,我會考慮下一個:

  • WiX v3.0與這個問題沒有任何關係。
  • .Net Framework 2.0 是安裝程序的基本先決條件
  • .Net Framework 4.0 不是安裝程序的先決條件

摘要:我建議在安裝程序中添加一個Condition來驗證.Net Framework 2.0的存在。爲此,您可以使用'NetFxExtension'。

希望它有幫助。

+0

是的,看來這是最好的解決方案。 :( – 2010-07-06 05:35:37

+0

這是否解決了您的問題? – Mario 2010-07-07 02:52:35

相關問題