今天上午Edward同窗問我一個問題:如何知道本身本機安裝的.NET Framework版本呢?
之前這個問題我也遇到過,那就是在寫自動部署程序的時候,若是客戶的機器已經安裝了.NET Framework就再也不安裝。做爲安裝包的製做者,本身應該是知道程序是用哪一個版本.NET Framework編譯的。目前.NET Framework的版本有1.1(基本上已經退出舞臺)、2.0.5072七、3.0和3.5。
如何獲取它們呢?
方法一:經過Visual Studio 2008的菜單項「Help」來查看(有點無厘頭的辦法)
方法二:在Visual Studio 2008 Command Prompt(或者.NET SDK的命令行工具) 裏輸入csc,而後回車(依然很無厘頭、沒什麼實用價值)
方法三:從註冊表裏查
註冊表其實就是一個大型的「鍵-值對列表」(Key-Value Pair List)。註冊表中的鍵是以樹狀層級結構記錄的,因此圖標看起來像是一個「文件夾」;一個鍵下,能夠有「值」,而能夠有再下一級的鍵。值是有數據類型的,好比字符串型、數字型;每一個值都有本身的「Value Name」和「Value Data」。因此:
若是:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727鍵下Value Name爲
Install的值的Value Data等於1,則說明.NET Framework 2.0.50727已經安裝。同理,檢查
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.0鍵和
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5鍵下的Install值的Value Data就知道是否安裝了這兩個版本。我估計,若是沒有安裝過3.0和3.5的話,這兩個鍵是不會存在的,若是安裝後又卸載了,鍵可能會在,Install的Value Data可能會是0。