如何以编程方式知道IIS是否已安装

3
在 Windows 窗体应用程序中,如何使用 C# 编程来判断本地计算机是否安装了 IIS?
2个回答

7
如果已安装IIS,则应存在注册表键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp,并且它应包含一个条目VersionString
来源:这里
private static bool IsIisInstalled() => Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp", "VersionString", null) != null;

4

关于检查注册表键,我发现如果您安装了IIS并卸载它,则会在注册表中留下该键。因此,这不是一种可靠的测试IIS存在的方法。

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接