Tìm thấy câu trả lời ở đây: link text Phương thức tệpVersion không hoạt động trên Windows 2008, exet inetserv ở đâu đó khác mà tôi đoán.
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);
}
}
Tôi đã thử nghiệm nó, nó hoạt động hoàn hảo trên Windows XP, 7 và 2008
Server-side hoặc phía khách hàng (ví dụ gọi một web IIS từ một ứng dụng winforms)? Tôi đoán bạn có nghĩa là phía máy chủ. – splattne
Tôi có nghĩa là từ một winapp (thực tế kịch bản đang phát triển một trình cài đặt tùy chỉnh muốn kiểm tra phiên bản của IIS đã cài đặt để gọi api thích hợp) nên ghi nó vào câu hỏi chính .. (xin lỗi) .. –