在Windows窗体应用程序中如何知道iis是使用c#编程安装在本地计算机上的
答案 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));