我需要检测在安装产品期间是否安装了WCF Http / Non-Http Activation Components。我怎么能这样做?
感谢。
答案 0 :(得分:4)
对于IIS7,请检查以下注册表项:
HKEY_LOCAL_MACHINE \ SOFTWARE \微软\ InetStp \组件\
对于以下组件:
从此页面:http://learn.iis.net/page.aspx/135/discover-installed-components/
更新:由于即使未安装组件也是如此,请尝试从命令行运行此命令:
sc query nettcpactivator
如果服务已停止或不存在,则可能未安装WCF非HTTP激活组件。要安装它们,请运行以下命令:
pkgmgr / iu:WCF-NonHTTP-Activation
答案 1 :(得分:2)
对于带有Windows Server 2012(可能还有Windows 8)的IIS8,您可以检查此注册表项(适用于.NET 4.5)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ServerManager\ServicingStorage\ServerComponentCache\NET-WCF-HTTP-Activation45\InstallState
零表示未安装,1表示已安装。
答案 2 :(得分:2)
您还可以使用PowerShell启用WCF Http / Non-Http Activation组件:
Import-Module ServerManager
Add-WindowsFeature NET-HTTP-Activation,NET-Non-HTTP-Activ
这样您就不必搞砸Windows注册表了。有关使用PowerShell添加Windows功能的详细信息:http://technet.microsoft.com/en-us/library/cc732263.aspx#BKMK_powershell
答案 3 :(得分:1)
您应该使用Get-WindowsFeature powershell命令行开关。您可以通过调用:
来检查Server Framework上是否存在用于HTTP激活的.NET Framework 4.5 WCF服务$wcfActivationFeature = Get-WindowsFeature -name NET-WCF-HTTP-Activation45
$wcfActivationFeature.Installed
答案 4 :(得分:0)
HTTP激活的注册表项是 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v3.0 \ Setup \ Windows Communication Foundation \ HTTPActivation,对于非HTTP激活,检查计算机上是否存在服务NetTcpActivation或NetPipeActivator并且正在运行。