Windows Server 2012 R2上IIS8.5的Wix先决条件检查失败

Windows Server 2012 R2上IIS8.5的Wix先决条件检查失败,wix,wix3.8,Wix,Wix3.8,尽管我已使用服务器管理器删除了Windows Server 2012 R2上的Web服务器IIS角色和功能,但我的Wix安装程序先决条件检查显示已安装IIS 我正在使用以下注册表项进行先决条件检查 <Property Id="P_IISVERSIONMAJOR"> <RegistrySearch Id="SearchIISMajor" Type="raw" Root="HKLM" Key="SOFTWARE\Microsoft\InetStp" Name="Ma

尽管我已使用服务器管理器删除了Windows Server 2012 R2上的Web服务器IIS角色和功能,但我的Wix安装程序先决条件检查显示已安装IIS

我正在使用以下注册表项进行先决条件检查

<Property Id="P_IISVERSIONMAJOR">
  <RegistrySearch Id="SearchIISMajor" Type="raw"
      Root="HKLM" Key="SOFTWARE\Microsoft\InetStp" Name="MajorVersion"  Win64="yes" />
</Property>

<Property Id="P_IISVERSIONMINOR">
  <RegistrySearch Id="SearchIISMinor" Type="raw"
      Root="HKLM" Key="SOFTWARE\Microsoft\InetStp" Name="MinorVersion"  Win64="yes" />
</Property>
是否有任何键或其他东西指示需要使用服务器管理器将IIS添加为启用/注册的角色

任何帮助都将非常感谢,因为我正在处理一个发布错误

谢谢

编辑:

我的要求是检测是否安装了IIS。但在Windows Server 2012 R2上,默认情况下IIS可用,并且始终存在以下密钥。 HKEY\U本地\U机器\Software\Microsoft\InetStp 当发现目标计算机上缺少全部或部分先决条件时,安装程序将显示“先决条件”对话框。 因此,当用户从服务器管理器中删除Web服务器IIS角色/功能时,我需要在“必备”对话框中显示未安装IIS。同样,我需要某种方式指示未安装IIS

可能我的第一个问题不太清楚,所以我现在试着详细说明我的要求,希望不要让人困惑。请随时澄清

谢谢你的帮助

根据,您应该检查HKEY\U LOCAL\U MACHINE\Software\Microsoft\InetStp\Components\并查找:

Display Name            Registry Key
====================================
Web Server              W3SVC 
从页面:

。。。我们正在发布一个注册表项列表,其中显示 给定的IIS模块已安装。使用这些注册表项 以编程方式检查IIS组件。如果某个组件已安装 已安装,注册表项的DWORD值为0000000 1。如果 组件从未安装或已卸载 注册表项不存在


IIS.net页面上可能列出了20或30个组件。

谢谢!我确实使用了相同的密钥来设置IIS先决条件的检查和条件。再次感谢。