You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过注册表判断用户是否安装IIS及获取其版本号?

通过注册表检测IIS安装状态与版本号的方法

我经常帮开发者处理这类系统服务检测的需求,通过注册表判断IIS是否安装以及获取版本号是非常可靠的方案,下面是具体的注册表项和判断逻辑:

核心注册表路径

判断IIS是否安装,主要看以下两个注册表项(根据系统位数和程序位数区分):

  • 对于32位系统,或者64位系统上的64位程序,访问:
    HKEY_LOCAL_MACHINE\Software\Microsoft\InetStp
  • 对于64位系统上的32位程序,需要访问Wow6432Node下的路径:
    HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\InetStp

如果上述注册表项不存在,基本可以判定用户未安装IIS服务。

获取版本号的关键键值

在上面的注册表项中,有几个关键键值可以用来确定IIS版本:

  • MajorVersion(DWORD类型):主版本号,比如IIS 10的主版本是10
  • MinorVersion(DWORD类型):次版本号,比如IIS 8.5的次版本是5
  • VersionString(字符串类型):直接显示版本字符串,比如"10.0"对应IIS 10

常见IIS版本对应的版本号参考:

  • IIS 5.1:MajorVersion=5,MinorVersion=1
  • IIS 6.0:MajorVersion=6,MinorVersion=0
  • IIS 7.0:MajorVersion=7,MinorVersion=0;IIS 7.5:MajorVersion=7,MinorVersion=5
  • IIS 8.0:MajorVersion=8,MinorVersion=0;IIS 8.5:MajorVersion=8,MinorVersion=5
  • IIS 10.0:MajorVersion=10,MinorVersion=0

额外验证逻辑

如果需要更严谨的判断,还可以检查注册表项中的InstallPath键值,它会指向IIS的核心安装目录(通常是C:\Windows\System32\inetsrv\),若该路径存在且对应目录有文件,也能辅助确认IIS已正确安装。

内容的提问来源于stack exchange,提问作者Garry.Gu

火山引擎 最新活动