Установите для существующего расширения веб-службы значение «Разрешить использование WiX».

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

В настоящее время я использую 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 и не включает первую.


person Friend Of George    schedule 06.11.2008    source источник


Ответы (4)


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

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

person uli78    schedule 03.09.2009
comment
Вот полная строка, которая работает для меня: ‹iis:WebServiceExtension Id=ExtensionASP2 Group=ASP.NET v2.0.50727 Allow=yes File=[NETFRAMEWORK20INSTALLROOTDIR]aspnet_isapi.dll Description=ASP.NET v2.0.50727/› - person uli78; 07.09.2009

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

person CheGueVerra    schedule 06.11.2008
comment
Я пытался использовать: ‹WebServiceExtension Id=ASP.NET Allow=yes File=C:\WINNT\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll Description=ASP.NET 2.0.50727 UIDeletable=yes /> Это добавляет вторая запись ASP.NET 2.0.50727 и не включает первую. - person Friend Of George; 07.11.2008

В итоге я поместил следующий код в пользовательское действие:

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

Это может быть не красиво, но это работает.

person Friend Of George    schedule 05.02.2009

Я изменил код, чтобы включить расширение веб-службы .NET 4.0 с помощью 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")
person Bon    schedule 20.04.2010