2008-11-06 3 views
2

Dans le Gestionnaire des services Internet, sous Extensions de service Web, ASP.NET v2.0.50727 est défini sur "Interdit" par défaut. Je voudrais définir cela à Autoriser pendant l'installation.Définir l'extension de service Web existante sur "Autoriser" à l'aide de WiX

J'utilise actuellement WiX Version 2.

J'ai essayé d'utiliser:

<Component Id="Allow_WebServiceExtension_ASP.NET_2.0" DiskId="1" Guid="02247363-E423-41E1-AC15-BEF589B65A4D"> 
    <WebServiceExtension Id="WebServiceExtension_ASP.NET_2.0" Allow="yes" File="%SystemRoot%\Microsoft.NET\Framework\[DOTNETFRAMEWORKVER]\aspnet_isapi.dll" Description="ASP.NET v2.0.50727" UIDeletable="no" /> 
</Component> 

Cela ajoute une seconde entrée ASP.NET 2.0.50727 et ne permet pas la première.

Répondre

0

Je fini par mettre le code suivant dans une action personnalisée:

Dim WebSvcObj As Object 
Dim LocatorObj As Object = CreateObject("WbemScripting.SWbemLocator") 
Dim ProviderObj As Object = LocatorObj.ConnectServer(".", "root/MicrosoftIISv2", "", "") 
WebSvcObj = ProviderObj.get("IIsWebService='w3svc'") 
WebSvcObj.EnableWebServiceExtension("ASP.NET v2.0.50727") 

Il ne peut pas être assez, mais il fonctionne.

0

Utilisez l'élément WebApplicationExtension dans WIX, il est dans l'IISExtension, besoin d'ajouter la référence au projet WIX.

+1

J'ai essayé d'utiliser: \t Cela ajoute un deuxième ASP.NET 2.0.50727 entrée et ne permet pas le premier. –

1

J'ai eu le même problème en utilisant wix3. Comme je n'ai pas trouvé d'autre solution (??) j'ai décidé de le faire aussi avec une action personnalisée. Avec la petite différence que j'utilise C# et le support WMI du framework (System.Management). using WMI to configure IIS

OK, je trouve que je viens d'avoir deux misstakes dans mon Wix 1. @group était manquant -> Je l'ai mis à « ASP.NET v2.0.50727 » 2. Le chemin vers le fichier était faux. J'avais un backslash à beaucoup. Après avoir corrigé ces problèmes wix-iis: WebServiceExtension a fonctionné parfaitement pour moi.

+0

Pourriez-vous s'il vous plaît poster toute la ligne de code? –

+0

Voici la ligne complète qui fonctionne pour moi: uli78

0

I modifié le code pour activer mon .NET 4.0 Extension du service Web, en utilisant VBSCRIPT:

Dim LocatorObj 
    Dim WebSvcObj 
    Dim ProviderObj 

    Set LocatorObj = CreateObject("WbemScripting.SWbemLocator") 
    Set ProviderObj = LocatorObj.ConnectServer(".", "root/MicrosoftIISv2", "", "") 
    Set WebSvcObj = ProviderObj.get("IIsWebService='w3svc'") 
    WebSvcObj.EnableWebServiceExtension("ASP.NET v4.0.30319") 
Questions connexes