Iis 将现有Web服务扩展设置为";允许;使用WiX

Iis 将现有Web服务扩展设置为";允许;使用WiX,iis,wix,asp.net-2.0,Iis,Wix,Asp.net 2.0,在Web服务扩展下的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

在Web服务扩展下的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条目,但不启用第一个条目。

在WIX中使用元素,它位于IISExtension中,需要添加对WIX项目的引用。

我将以下代码放入自定义操作中:

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

它可能不漂亮,但确实有效。

我在使用wix3时也遇到了同样的问题。因为我还没有找到任何其他的解决方案(??),所以我决定也用一个自定义操作来实现它。我使用c#和框架(System.Management)的WMI支持几乎没有区别。

好吧,我发现我的Wix有两处错误 1.@Group丢失->我将其设置为“ASP.NET v2.0.50727” 2.文件的路径错误。我用一个反斜杠表示了很多。
解决这些问题后,wix iis:WebServiceExtension对我来说非常适合。

我使用vbScript修改了代码以启用.NET 4.0 Web服务扩展:

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

我已尝试使用:这会添加第二个ASP.NET 2.0.50727条目,但不会启用第一个条目。以下是适用于我的完整行: