在 Windows 窗体应用程序中,如何使用 C# 编程来判断本地计算机是否安装了 IIS?
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp
,并且它应包含一个条目VersionString
。private static bool IsIisInstalled() => Registry.GetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp", "VersionString", null) != null;
关于检查注册表键,我发现如果您安装了IIS并卸载它,则会在注册表中留下该键。因此,这不是一种可靠的测试IIS存在的方法。
我选择使用以下代码来检查IIS Windows服务是否存在:
IsIisInstalled = ServiceController.GetServices().Any(s => s.ServiceName.Equals("w3svc", StringComparison.InvariantCultureIgnoreCase));