J'ai besoin de détecter si WCF Http/Non-Http Activation Components est installé pendant l'installation de mon produit. Comment puis-je le faire?Comment faire pour vérifier par programme les composants WCF Http/Non-Http Activation?
Merci.
J'ai besoin de détecter si WCF Http/Non-Http Activation Components est installé pendant l'installation de mon produit. Comment puis-je le faire?Comment faire pour vérifier par programme les composants WCF Http/Non-Http Activation?
Merci.
Pour IIS7, vérifiez la clé de Registre suivante:
HKEY_LOCAL_MACHINE \ Software \ Microsoft \ InetStp \ Components \
Pour les composants suivants:
A partir de cette page: http://learn.iis.net/page.aspx/135/discover-installed-components/
MISE À JOUR: Depuis ce qui précède est vrai même lorsque les composants ne sont pas installés, essayez d'exécuter cette commande à partir de la ligne de commande:
requête sc nettcpactivator
Si le service est arrêté ou n'existe pas, les composants d'activation non-HTTP de WCF ne sont probablement pas installés. Pour les installer, exécutez la commande suivante:
pkgmgr/iu: WCF-NonHTTP-activation
Malheureusement, ce n'est pas utile. Ces trois valeurs existent dans le registre (et égal à 1) indépendamment des composants d'activation http/non-http sont installés.(Windows Server 2008 R2) – Dmitrii
Pourquoi ne pas vérifier si le "Service d'activation de processus Windows" existe et si l'état est Démarré? – DarrellNorton
@Eric: Vérifiez ma mise à jour ci-dessus et voir si cela aide. – DarrellNorton
La clé de Registre pour l'activation HTTP est HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Setup NET Framework \ NDP \ v3.0 \ Setup \ Windows Communication Foundation \ HTTPActivation, et pour l'activation non-HTTP vérifie si le service NetTcpActivation ou NetPipeActivator existe sur la machine et est en cours d'exécution.
Pour IIS8 avec Windows Server 2012 (et probablement Windows 8), vous pouvez vérifier cette clé de Registre (pour 4,5 .NET)
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ServerManager\ServicingStorage\ServerComponentCache\NET-WCF-HTTP-Activation45\InstallState
zéro signifie pas installé, et 1 des moyens installés.
La clé existe pour 2012, mais pas pour Windows 8 – Tung
Vous pouvez également utiliser PowerShell pour activer WCF Http/composants non-activation Http:
Import-Module ServerManager
Add-WindowsFeature NET-HTTP-Activation,NET-Non-HTTP-Activ
De cette façon, vous n'avez pas gâcher avec Windows Registry. Pour plus d'informations sur l'ajout de la fonctionnalité Windows avec PowerShell: http://technet.microsoft.com/en-us/library/cc732263.aspx#BKMK_powershell
Vous devez probablement utiliser la commande Get-WindowsFeature powershell. Vous pouvez vérifier l'existence sur le serveur 2012 des services WCF .NET Framework 4.5 pour l'activation HTTP en appelant:
$wcfActivationFeature = Get-WindowsFeature -name NET-WCF-HTTP-Activation45
$wcfActivationFeature.Installed
Quel système d'exploitation? –
Win 7, Win 2008, Win 2008R2 – Dmitrii