我的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报告的版本相同。为什么会这样,并且有比检查操作系统版本更好的解决方案吗?