2011-02-09 83 views
5

在開始我的應用程序(在表單加載)之前,我想檢查並確保.NET框架(3.5或更高版本)安裝在機器上 - if不是我想提示用戶下載並安裝它(簡單的MessageBox與互聯網鏈接到微軟網頁將是最好的主意沒有?) 所以,這實際上需要兩個問題...如何檢查是否安裝了.Net框架[C#/ WPF]

a)如何做我確定如果安裝了.NET FrameWork 3.5或更高版本? (我不信任或只想查找C:\ Program Files \ Microsoft.NET文件夾,似乎很容易出錯?) 由於這非常重要,因此在C#中必須有一種很好的方式來確定用戶在他的機器上運行的.NET版本?我只是不知道如何......如何在一個MessageBox中粘貼一個INTERNET LINK(超鏈接?)?所以,如果用戶沒有安裝.NET框架(1.1或2.0),我可以讓他們只需點擊鏈接去下載它?

任何幫助/提示將不勝感激。

感謝, 錠

+0

看到這個問題:http://stackoverflow.com/questions/951856/is-there-an-easy-way-to-check-net-framework-verison-using-c – 2011-02-09 12:50:19

回答

3

a)您必須使用非.NET語言(C++,VB6等)而不是Form_Load引導程序(其他海報是正確的 - 如果未安裝該框架,.NET程序將不會跑)。一個例子是在這裏:

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

b)你不能把一個超鏈接在一個MessageBox,所以你必須創建自己的彈出式對話框(表格)。 編輯:該表單/對話框必須在引導程序中。

0

您的代碼將不無框架運行,所以你將無法顯示該對話框。

該檢查應該在安裝時完成。

+0

那麼,從技術上說,你可以有一個.NET 2.0應用程序boostrap(或其他語言,如C++) – RQDQ 2011-02-09 12:50:50

1

你不能從你的應用程序做到這一點。應用程序將無法啓動。

您可以執行的一個選項是進行ClickOnce安裝,以驗證是否安裝了.NET。

0

所以你想製作一個.NET應用程序來檢查.NET是否安裝在機器上?

如果未安裝.NET Framework,那麼您如何設想該程序能夠首先啓動?

0

這個問題沒有意義。

作者希望能夠檢測.NET Framework 3.5是否已安裝,但提供了到.NET Framework 1.1和/或.NET Framework 2.0的鏈接。除了事實上,您可以輕鬆構建一個完全像Paint.net一樣的安裝項目(雖然他們確實有引導程序),但您需要確保安裝正確版本的.NET Framework。

如果安裝的唯一東西是.NET Framework 1.1,並且沒有爲用戶安裝.NET Framework 4.0/3.5,則會產生嚴重問題。

如果您推送.NET Framework 4.0,那麼您不會幫助您的其他程序員。