Necesito detectar si WCF Http/Non-Http Activation Components está instalado durante la instalación de mi producto. ¿Como lo puedo hacer?Cómo comprobar programáticamente los componentes WCF Http/Non-Http Activation?
Gracias.
Necesito detectar si WCF Http/Non-Http Activation Components está instalado durante la instalación de mi producto. ¿Como lo puedo hacer?Cómo comprobar programáticamente los componentes WCF Http/Non-Http Activation?
Gracias.
Para IIS7, compruebe la siguiente clave del registro:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ InetStp \ Components \
Para los siguientes componentes:
Desde esta página: http://learn.iis.net/page.aspx/135/discover-installed-components/
ACTUALIZACIÓN: Dado lo anterior es cierto incluso cuando los componentes no están instalados, intente ejecutar este comando desde la línea de comandos:
consulta sc nettcpactivator
Si el servicio se detiene o no existe, es probable que los componentes WCF de activación no HTTP no estén instalados. Para instalarlos, ejecute este comando:
pkgmgr/iu: WCF-NonHTTP-activación
Desafortunadamente, esto no es útil. Estos tres valores existen en el registro (e igual a 1) independientemente de los componentes de activación http/no http instalados.(Windows Server 2008R2) – Dmitrii
¿Qué hay de la comprobación para ver si existe el "Servicio de activación de proceso de Windows" y se inicia el estado? – DarrellNorton
@Eric: verifique mi actualización anterior y vea si eso ayuda. – DarrellNorton
La clave de registro para la activación HTTP es HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ NET Framework Setup \ NDP \ v3.0 \ Setup \ Windows Communication Foundation \ HTTPActivation, y para la activación que no es HTTP, se comprueba si el servicio NetTcpActivation o NetPipeActivator existe en la máquina y se está ejecutando.
Para IIS8 con Windows Server 2012 (y probablemente Windows 8), se puede comprobar esta clave de registro (para .NET 4,5)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ServerManager\ServicingStorage\ServerComponentCache\NET-WCF-HTTP-Activation45\InstallState
cero no dispone de sistema, y 1 significa instalados.
La clave existe para 2012, pero no para Windows 8 – Tung
También puede utilizar PowerShell para permitir que los componentes de Activación HTTP de WCF/No http:
Import-Module ServerManager
Add-WindowsFeature NET-HTTP-Activation,NET-Non-HTTP-Activ
De esta manera usted no tiene que meterse con el registro de Windows. Para obtener más información sobre cómo agregar la función de Windows con PowerShell: http://technet.microsoft.com/en-us/library/cc732263.aspx#BKMK_powershell
Probablemente debería usar el comando get-WindowsFeature powershell. Puede verificar la existencia en el Servidor 2012 de .NET Framework 4.5 WCF Services para la Activación HTTP llamando al:
$wcfActivationFeature = Get-WindowsFeature -name NET-WCF-HTTP-Activation45
$wcfActivationFeature.Installed
¿Qué sistema operativo? –
Win 7, Win 2008, Win 2008R2 – Dmitrii