【问题标题】:Wix installer fails to create application pools in IIS 10Wix 安装程序无法在 IIS 10 中创建应用程序池
【发布时间】:2018-06-06 20:01:33
【问题描述】:

我们在使用 wix 创建应用程序池时遇到了问题。此问题仅在服务器 2016 或 iis 版本 >10 上发生。 这是打开详细日志的错误。 它抱怨找不到路径或试图访问尚未创建或没有权限的路径。安装程序因回滚而失败。

  "C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe" -norestart -s W3SVC/1/ROOT/INFO-SUITE
CAQuietExec:  Microsoft (R) ASP.NET RegIIS version 4.0.30319.0
CAQuietExec:  Administration utility to install and uninstall ASP.NET on the local machine.
CAQuietExec:  Copyright (C) Microsoft Corporation.  All rights reserved.
CAQuietExec:  Start registering ASP.NET (4.0.30319.0) recursively at W3SVC/1/ROOT/MyApplication.
CAQuietExec:  Installation stopped because the specified path (W3SVC/1/ROOT/MyApplication) is invalid.
CAQuietExec:  Error 0x80070001: Command line returned an error.
CAQuietExec:  Error 0x80070001: CAQuietExec Failed

这是创建应用程序池的 wix xml。相同的安装程序 msi 在 Windows 8 上工作。根据日志,IISMajorVersion 为 10。我还运行了 dsim enable feature IIS-ASPNET45 以确保 Asp.net 已注册。我还检查了注册表。仅当 wix 创建应用程序池时。当它升级或我们手动创建应用程序池时,我们没有问题。

    <Fragment>
        <PropertyRef Id="IISMAJORVERSION" />

        <Component Id="Component.WebServer.WebServices.IISSite.v10" Guid="F73DACBB-EF8B-4C8E-8B6A-6610670D991F" Directory="WEBSERVICES_INSTALLLOCATION">
          <Condition><![CDATA[IISMAJORVERSION >= 10]]> </Condition>

          <CreateFolder />

          <iis:WebAppPool Id="WebAppPool.WebServices.IISSite.v10"
                          Name="[WEBSERVICESSERVERINFO_IISAPPNAME]" 
                          ManagedRuntimeVersion="v4.0" 
                          ManagedPipelineMode="integrated"
                          Identity="networkService"
                          IdleTimeout="0" />


          <iis:WebVirtualDir Id="WebVirtualDir.WebServices.IISSite.v10"
                             Directory="WEBSERVICES_INSTALLLOCATION"
                             Alias="[WEBSERVICESSERVERINFO_IISAPPNAME]" 
                             WebSite="WebSite">
            <iis:WebDirProperties Id="WebDirProperties.WebServices.IISSite.v10"
                                  Execute="yes"
                                  Script="yes"
                                  Read="yes"
                                  WindowsAuthentication="yes"
                                  AnonymousAccess="yes"
                                  IIsControlledPassword="yes" />

            <iis:WebApplication Id="WebApplication.WebServices.IISSite.v10"
                                Name="[WEBSERVICESSERVERINFO_IISAPPNAME]"
                                WebAppPool="WebAppPool.WebServices.IISSite.v10" />
          </iis:WebVirtualDir>
        </Component>
      </Fragment>

   <ComponentGroupRef Id="ComponentGroup.WebServer.WebServices.Files" />
        <ComponentRef Id="Component.WebServer.WebServices.SetWebConfig" />
        <ComponentRef Id="Component.WebServer.WebServices.Certificates" />
        <ComponentRef Id="Component.WebServer.WebServices.IISSite.v10" />

【问题讨论】:

    标签: iis wix


    【解决方案1】:

    我自己解决了问题。条件必须是 = "10"]]> 而不是 = 10]]>

    【讨论】:

    • 这是否真的阻止了在旧 IIS 版本上安装? “7”在字符串比较中大于“10”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多