如何確定SP1是否已安裝在具有.NET 3.5的服務器上?如何判斷.NET 3.5 SP1是否已安裝?
回答
使用控制面板中的添加/刪除程序。
看看HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5\
。其中一個必須是真實的:
- 在關鍵的
Version
值應爲3.5.30729.01 - 或同一密鑰
SP
值應爲
在C# (取自第一條評論),你可以沿着這些方向做點什麼:
const string name = @"SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5";
RegistryKey subKey = Registry.LocalMachine.OpenSubKey(name);
var version = subKey.GetValue("Version").ToString();
var servicePack = subKey.GetValue("SP").ToString();
const string name = @「SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v3.5」; RegistryKey subKey = Registry.LocalMachine.OpenSubKey(name); var version = subKey.GetValue(「Version」)。ToString(); var servicePack = subKey.GetValue(「SP」)。的ToString(); – 2009-05-05 20:54:40
在我的機器上,`Version`是`3.5.30729.5420`,`SP`是`1` – 2013-07-26 15:03:34
在命令行上: `reg query「HKLM \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v3.5」/ V Version` `reg query「HKLM \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v3.5」/ V SP` – 2013-07-26 15:04:32
您可以使用服務器上的IE訪問SmallestDotNet。這將告訴你的版本,並提供一個下載鏈接,如果你過時了。
雖然只告訴你最高版本,例如如果你有4個,它不會告訴你你是否也有3.5 sp 1 – codeulike 2013-02-05 16:46:08
假設名稱是無處不在「的Microsoft .NET Framework 3.5 SP1」,您可以使用此:
string uninstallKey = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall";
using (RegistryKey rk = Registry.LocalMachine.OpenSubKey(uninstallKey))
{
return rk.GetSubKeyNames().Contains("Microsoft .NET Framework 3.5 SP1");
}
+1,迄今爲止以編程方式檢查是否安裝了3.5 SP1的最簡單方法 - 實際上,如果它工作正常。我試過了,它不適合我,它總是返回false。 – 2011-07-28 05:48:48
看看這個article這表明你需要尋找的註冊表項,並提供一.NET庫,將爲您做到這一點。
首先,您應該通過查看HKLM \ Software \ Microsoft \ NET Framework Setup \ NDP \ v3.5 \ Install來確定是否安裝了.NET 3.5,這是一個DWORD值。如果該值存在並設置爲1,則安裝該版本的Framework。
查看HKLM \ Software \ Microsoft \ NET Framework安裝\ NDP \ v3.5 \ SP,這是一個DWORD值,指示Service Pack級別(其中0不是Service Pack)。
爲了正確處理事情,您需要確保首先安裝.NET Fx 2.0和.NET Fx 3.0,然後檢查是否安裝了.NET 3.5。如果三者都是真的,那麼您可以檢查服務包級別。
檢查是不是下面的目錄存在:
在64位機: %SYSTEMROOT%\ Microsoft.NET \ Framework64 \ v3.5版本\ Microsoft .NET框架3.5 SP1 \
在32位機: %SYSTEMROOT%\ Microsoft.NET \ Framework \ v3.5 \ Microsoft .NET Framework 3.5 SP1 \
其中%SYSTEMROOT%是SYSTEMROOT環境變量(例如C:\ Windows)。
我在試圖弄清楚如何檢測服務器上安裝的框架版本而無需訪問遠程桌面或註冊表時來到了此頁面,因此Danny V的答案對我很有幫助。
string path = System.Environment.SystemDirectory;
path = path.Substring(0, path.LastIndexOf('\\'));
path = Path.Combine(path, "Microsoft.NET");
// C:\WINDOWS\Microsoft.NET\
string[] versions = new string[]{
"Framework\\v1.0.3705",
"Framework64\\v1.0.3705",
"Framework\\v1.1.4322",
"Framework64\\v1.1.4322",
"Framework\\v2.0.50727",
"Framework64\\v2.0.50727",
"Framework\\v3.0",
"Framework64\\v3.0",
"Framework\\v3.5",
"Framework64\\v3.5",
"Framework\\v3.5\\Microsoft .NET Framework 3.5 SP1",
"Framework64\\v3.5\\Microsoft .NET Framework 3.5 SP1",
"Framework\\v4.0",
"Framework64\\v4.0"
};
foreach(string version in versions)
{
string versionPath = Path.Combine(path, version);
DirectoryInfo dir = new DirectoryInfo(versionPath);
if(dir.Exists)
{
Response.Output.Write("{0}<br/>", version);
}
}
- 1. 如何判斷SP1是否已安裝在Team Foundation Server 2008上?
- 2. 如何判斷SP1是否已安裝在VS2008上?
- 3. 安裝.Net 4.0 RC之後安裝.Net 3.5 SP1是否安全?
- 4. 如何判斷SP1是否安裝在Windows Server 2008 R2 Standard上?
- 5. 如何判斷是否安裝了Visual Studio 2008 SP1?
- 6. 如何判斷是否安裝了node.js
- 7. Microsoft .Net Framework 3.5 SP1安裝失敗
- 8. 如何使用shell來判斷軟件是否已安裝?
- 9. .NET 3.5 SP1和安裝的問題 - 單一安裝
- 10. 如何在Windows 7下「安裝」/「啓用」.Net 3.5 SP1?
- 11. MSCharts&.NET 3.5 SP1
- 12. 如果我已安裝.NET 4.0,可以安裝.NET 3.5嗎?
- 13. Win 2008 r2 x64服務器是否已安裝.net 3 sp1軟件包?
- 14. 如何判斷NSUserDefaults是否已保存?
- 15. 如何判斷HttpResponse是否已關閉?
- 16. 如何判斷tcplistener是否已關閉?
- 17. 如何判斷Streamwriter是否已關閉?
- 18. 如何判斷NSManagedObject是否已保存?
- 19. 如何判斷net/http的ResponseWriter.Write()是否已被調用?
- 20. 如何判斷文件是否已通過.NET更改?
- 21. 使用.Net 2008應用程序自動安裝.NET Framework 3.5 SP1
- 22. 如何檢查SQL Server 2008 R2的SP1是否已安裝?
- 23. 有沒有辦法判斷sdcard是否已安裝或根本沒有安裝?
- 24. 如何判斷ant是否安裝了/什麼是$命令?
- 25. 當您安裝.Net 3.5 SP1時,安裝了什麼版本的.Net框架?
- 26. 如何判斷cudaFree()是否安全?
- 27. 如何判斷iOS應用程序是否已新安裝或更新?
- 28. 如何在Windows Vista上安裝不帶.NET 3.5 SP1的.NET 2.0 SP2?
- 29. 如何判斷安裝程序是否有卸載程序?
- 30. 如何判斷oracle數據庫是否安裝在電腦上
去圖。後來,我想我錯過了一個「編程式」指向你的問題,Guy。 – 2009-05-11 02:58:21