在Web服务扩展下的IIS管理器中,默认情况下,ASP.NET v2.0.50727设置为“禁止”。我想在安装过程中将其设置为Allow。
我目前正在使用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 :(得分:1)
使用wix3我遇到了同样的问题。由于我还没有找到任何其他解决方案(??),我决定采用自定义操作。我使用c#和WMI支持框架(System.Management)的差别不大。 using WMI to configure IIS
好的,我发现我的Wix中只有两次错误 1. @Group缺失 - &gt;我把它设置为“ASP.NET v2.0.50727” 2.文件的路径错误。我有一个反斜杠。 解决了这些问题后,wix-iis:WebServiceExtension对我来说非常适合。
答案 1 :(得分:0)
使用WIX中的WebApplicationExtension元素,它位于IISExtension中,需要添加对WIX项目的引用。
答案 2 :(得分: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")
它可能不漂亮,但确实有效。
答案 3 :(得分:0)
我使用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")