我的 Web 应用程序的安装程序通过 WMI 进行了一些配置,为了处理不同的版本,将向 IIS 询问其版本,代码如下:
DirectoryEntry folderRoot = new DirectoryEntry("IIS://localhost/W3SVC/Info");
Version iisVersion = new Version((int)folderRoot.InvokeGet("MajorIIsVersionNumber"), (int)folderRoot.InvokeGet("MinorIIsVersionNumber"));
Server 2012 和 Windows 8 都为此返回 7.5,即使官方版本是 8.0。这不是什么大问题,只是这与 Windows 2008 报告的版本相同。为什么会这样,是否有比检查操作系统版本更好的解决方案?