2012-11-07 100 views
0

這是一個兩部分問題。我需要解決兩個部分的完整答案。要求.NET 4.0 for .NET 4.5應用程序

第一部分

我有一個.NET 4.5的桌面應用程序,我想知道如果我可以,如果在應用程序的Installshield的項目「要求」中,我剔它部署到Windows XP」。 NET 4.0完整軟件包安裝「複選框,而不是」.NET 4.5完整軟件包安裝「之一。

我讀here說:

您可以編譯應用程序的.NET 4.5和4.0運行時運行它 - 那就是直到你打一個新功能,不上4.0存在。在這個時候應用程序在運行時炸彈。假設你編寫了一些主要是.NET 4.0的代碼,但是隻有.NET 4.5的一些新特性,比如aync/await被深埋在應用程序的內部,偶爾會觸發它。 .NET會很高興地啓動你的應用程序,並且運行所有4.0版本,直到它達到4.5代碼 - 然後在運行時不經意地崩潰。

所以我知道我的應用程序在.NET 4.0上運行Windows XP的能力取決於。讓我們假設這個問題,我的應用程序不會像上面的報價中所描述的那樣崩潰。

第二部分

我還需要知道什麼樣的影響選擇「.NET 4.0完全軟件包安裝」,而不是「.NET 4.5完整軟件包安裝」與安裝應用程序到計算機時將有.NET 4.5,但不是.NET 4.0,已安裝。 Installshield安裝程序會將安裝的.NET 4.5軟件包看作是.NET 4.0,因此不會投訴嗎?或者它會挑剔,並阻止應用程序的安裝,因爲具體.NET 4.0沒有安裝?

回答

1

您需要做的第一件事是將項目的Target Framework版本從4.5更改爲4.0並重建。如果你使用了任何4.5特定的功能,那麼你現在就會知道。你需要修復錯誤。

第2部分不是問題,.NET 4.5是用於.NET 4.0的替代。安裝程序不會首先卸載4.5,因此它可以安裝4.0,這將打破該機器上所有現有的.NET應用程序。

+0

關於第1部分,除了缺少訪問新的4.5功能之外,是否有針對4.0的缺點?關於第2部分,我已經知道4.5代替4.0。但我的問題是:Installshield知道嗎? – HappyNomad

+2

1:不。 2:Installshield是必須知道這一點的業務。 –

相關問題