2008-11-06 6 views
2

В диспетчере IIS под расширениями веб-сервисов по умолчанию для ASP.NET v2.0.50727 установлено значение «Запрещено». Я хотел бы установить для этого значение Разрешить во время установки.Установить существующее расширение веб-службы на «Разрешить» с помощью WiX

настоящее время я использую WiX версии 2.

Я попытался с помощью:

<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> 

Это добавляет второй ASP.NET 2.0.50727 запись и не дает возможности в первую очередь.

ответ

0

я в конечном итоге положить следующий код в настраиваемого действия:

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") 

Это может быть не очень, но это работает.

0

Используйте элемент WebApplicationExtension Элемент в WIX, он находится в IISExtension, необходимо добавить ссылку на проект WIX.

+1

Я попытался с помощью: \t Это добавляет второй ASP.NET 2.0.50727 и не включает первый. – 2008-11-06 21:44:31

1

У меня была такая же проблема, используя wix3. Поскольку я не нашел другого решения (??), я решил также сделать это с помощью специального действия. С небольшой разницей, что я использую C# и поддержку WMI для framework (System.Management). using WMI to configure IIS

OK Я узнал, что я только что имел два misstakes в моем Wix 1. @group был пропавшие -> Я поставил его в «ASP.NET v2.0.50727» 2. Путь к файлу был неправильно. У меня была одна обратная косая черта. После устранения этих проблем wix-iis: WebServiceExtension отлично подойдет для меня.

+0

Не могли бы вы разместить всю строку кода? – 2009-09-04 18:35:01

0

Я изменил код, чтобы включить мой .NET 4.0 Web Service Extension, используя 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")