回答
你可以從SERVER_SOFTWARE
變量此信息。這將返回以下內容:
Microsoft-IIS/5.0 (Windows 2000)
Microsoft-IIS/5.1 (Windows XP)
Microsoft-IIS/6.0 (Windows 2003 Server)
等
如果您使用ASP.NET,您可以通過
Request.ServerVariables["SERVER_SOFTWARE"];
編輯得到這個字符串:似乎您將不得不查詢註冊表以獲取此信息。看看this page看看如何。
該鏈接正是我需要感謝你。 – 2009-01-15 12:40:33
-1這將僅適用於Web請求 – balexandre 2010-01-25 19:21:47
你可以在註冊表中找到它。
最多IIS 6版本,你可以在這裏找到:
HKLM \系統\ CurrentControlSet \服務\ W3SVC \參數
自從7版在這裏:
HKEY_LOCAL_MACHINE \ SOFTWARE \微軟\ InetStp
MajorVersion MinorVersion
IIS 7在HKLM \ SYSTEM \ CurrentControlSet \ Services \ W3SVC \ Parameters中也有一個條目,至少在Windows7 32位上。 (主要版本7,次要版本5)。但是這個密鑰似乎不再適用於Windows Server 2008(IIS7)。 – 2010-09-07 07:53:34
檢查X供電-By頭: http://www.http-stats.com/X-Powered-By
那裏你可以找到的可能值...
它在響應的HTTP頭中通常呈現,因爲我知道。
使用System.Web.HttpRequest.ServerVariables(「SERVER_SOFTWARE」)。返回值是格式名稱/版本中的字符串。
這就是我該怎麼做的。
FileVersionInfo verinfo = FileVersionInfo.GetVersionInfo(System.Environment.SystemDirectory + @"\inetsrv\inetinfo.exe");
//Tip... look at verinfo.MajorVersion.
太棒了,thxs! – balexandre 2010-01-25 19:22:29
我只想檢查操作系統的版本:XP有IIS 5.1,Server 2003中具有IIS 6和Vista/Server 2008有IIS 7
在這裏找到答案:link text fileVersion方法不適用於Windows 2008,inetserv exe是我猜的其他地方。
public Version GetIisVersion()
{
using (RegistryKey componentsKey = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\InetStp", false))
{
if (componentsKey != null)
{
int majorVersion = (int)componentsKey.GetValue("MajorVersion", -1);
int minorVersion = (int)componentsKey.GetValue("MinorVersion", -1);
if (majorVersion != -1 && minorVersion != -1)
{
return new Version(majorVersion, minorVersion);
}
}
return new Version(0, 0);
}
}
我測試了它,它完美的作品在Windows XP,Windows 7和2008年
對於安裝自定義操作: 在您的自定義操作視圖中,可以通過將數據傳遞給客戶安裝程序類的「 CustomActionData」在自定義動作作爲屬性屬性如下: /iisv = 「[IISVERSION]」
檢查:
您可以使用下面的代碼
public static bool IisInstalled()
{
try
{
using (RegistryKey iisKey = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\InetStp"))
{
return (int)iisKey.GetValue("MajorVersion") >= 6;
}
}
catch
{
return false;
}
}
脫穎而出的更多信息,請訪問:http://www.java2s.com/Code/CSharp/Windows/IIShelperisIISInstalledIISstateIISversion.htm
在.NET 4.5
HttpRuntime.IISVersion
- 1. 如何檢測IIS Express版本?
- 2. 如何使用PHP檢測當前的IIS版本?
- 3. 如何使用php檢測iOS版本?
- 4. 如何使用C++檢查python版本?
- 5. 使用MSBuild檢測IIS的存在和版本
- 6. 如何檢測iOS版本?
- 7. 如何檢測IE版本
- 8. 使用腳本檢測DLL版本號
- 9. 舊版本版本檢測
- 10. 使用C++或C++/CX檢測Windows Phone版本
- 11. 如何讓IIS使用與IIS-Express相同版本的Oracle
- 12. 檢測任何iOS版本
- 13. 使用PHP檢測iOS版本
- 14. 使用Modernizr的檢測Internet Explorer版本
- 15. 使用JavaScript檢測Windows版本
- 16. 使用Silverlight進行版本檢測
- 17. 使用VB6檢測Internet Explorer版本
- 18. 使用Telerik AppBuilder(Cordova.js)檢測iOS版本
- 19. 檢測使用哪種Guava版本?
- 20. 使用GWT檢測瀏覽器版本?
- 21. 檢測PowerPoint版本
- 22. 檢測iOS版本
- 23. 編譯時檢測OCaml版本C
- 24. 在編譯時檢測C#版本
- 25. C++檢測操作系統版本
- 26. 如何檢測微軟樂隊版本
- 27. PhoneGap如何檢測IOS版本?
- 28. 如何檢測手機及其版本
- 29. 如何檢測Clang中的libstdC++版本?
- 30. 如何檢測perl的ActiveState版本?
服務器端或客戶端(例如從一個winforms應用程序調用IIS網站)?我想你的意思是服務器端。 – splattne 2009-01-15 11:58:43
我的意思是從一個winapp(實際上情況是開發一個自定義安裝程序,想檢查已安裝的IIS的版本以調用相應的api) 應該在主要問題中寫下它。(抱歉).. – 2009-01-15 12:11:11