Gefunden die Antwort hier: link text Die Dateiversion-Methode funktioniert nicht auf Windows 2008, die inetserv-EXE ist woanders, denke ich.
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);
}
}
Ich habe es getestet, es perfekt auf Windows XP arbeitet, 7 und 2008
Server-Seite oder Client-Seite (z ein IIS-Web von einer Winforms-App aufrufen)? Ich denke du meinst Server-Seite. – splattne
Ich meinte von einem winapp (tatsächlich entwickelt das Szenario ein benutzerdefiniertes Installationsprogramm, das die Version des installierten IIS überprüfen möchte, um die entsprechenden APIs aufzurufen) sollte es in der Hauptfrage geschrieben .. (sorry) .. –