2010-09-23 81 views
6

如何在.NET 3.5上編寫的WinForms應用程序啓動時檢查.net框架版本?如果.net 3.5沒有安裝,應用程序應該顯示關於它的消息(可能與.net安裝程序或其他一些鏈接)。現在它顯示了一些用戶不清楚的錯誤。從WinForms應用程序檢查.Net框架版本

+2

如果未安裝.Net 3.5框架,您會如何運行.Net 3.5應用程序?你有沒有在這看到這個catch-22? – slugster 2010-09-23 12:03:05

+0

++++ slugster !!! – Aliostad 2010-09-23 12:08:30

回答

2

看看這個C++項目應該做你要求的。

http://www.codeproject.com/KB/mcpp/DotNetTester.aspx

你只設置你的快捷方式來啓動該應用程序,這又將啓動您的.net應用程序。

從項目描述:

例如(測試最少FW 1.1和啓動應用程序):

dotNetTester.exe 1.1 C:\ TEMP \ Myapp.exeC:\溫度\ Myapp.exe

2

你必須創建一個啓動應用或者.NET 2.0中或作爲非託管的應用程序寫入(覆蓋如果沒有安裝在所有版本的.NET),並啓動第一,然後如果NET 3.5的安裝它會啓動真正的應用程序,否則它會顯示一個很好的錯誤消息。

但是,更好的解決方案是讓您的安裝程序安裝.Net 3.5,這樣您就不必擔心它(但這顯然不適用於XCopy部署等)。

1

我重讀你的問題的文章 - 你不能.NET x未安裝時運行.NET x ver應用程序!結束。

如果你安裝了它,那麼對於其他爲特定目的

使用System.Environment.Version找到你所使用的版本目前。

要知道所有安裝的版本,check this

枚舉HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP的子項。每個子項都是.Net版本。如果它存在於機器上,它應該具有Install = 1值,顯示Service Pack的SP值以及使用MSI安裝的MSI = 1值。 (.NET 2.0在Vista沒有最後一個例子,因爲它是操作系統的一部分)

你可以訪問此註冊表項「HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\ NET Framework安裝\新民主黨」和迭代值。

+0

這是一個問題:如果安裝了framework 4.0,而3.5不是... – 2010-09-23 12:11:21

+0

我重新閱讀Danny這個問題,並更正了我的答案。 – Nayan 2010-09-23 12:12:40

相關問題