如何以编程方式了解IIS的安装情况

时间:2016-06-15 22:29:11

标签: c# iis

在Windows窗体应用程序中如何知道iis是使用c#编程安装在本地计算机上的

2 个答案:

答案 0 :(得分:4)

如果安装了IIS,则注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp应该存在,并且应包含条目VersionString

来源:here

private static bool IsIisInstalled() => Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp", "VersionString", null) != null;

答案 1 :(得分:0)

关于检查注册表项,我发现如果您已安装IIS并将其卸载,则它将注册表项留在注册表中。因此,这不是测试IIS是否存在的可靠方法。

我选择使用以下代码检查IIS Windows服务是否存在:

IsIisInstalled = ServiceController.GetServices().Any(s => s.ServiceName.Equals("w3svc", StringComparison.InvariantCultureIgnoreCase));