2

在我们的 WIX 安装程序中,我们为各种组件创建了多个应用程序池,但是我们的 .net 1.1 应用程序池在安装完成后始终位于 .net 2.0 上。

这导致我们在每次安装和升级后手动将我们创建的应用程序池修复回 1.1。

我的问题是有没有办法让安装程序将其正确注册为 1.1 应用程序池,而不是将其更改为 2.0 应用程序池?

我们用于创建应用程序池的代码:

<Component Id ="WebApps.Component" Guid="{5F518238-F564-43ff-A249-F87C23E02B52}">
            <CreateFolder />
            <iis:WebAppPool
               Id="V1WebAppPool"
               Name=".Net 1.1 App Pool"
               ManagedRuntimeVersion="v1.1"
               Identity="networkService">
            </iis:WebAppPool>
            <iis:WebAppPool
               Id="V2WebAppPool"
               Name=".Net 2.0 App Pool"
               ManagedRuntimeVersion="v2.0"
               Identity="networkService">
            </iis:WebAppPool>
            <iis:WebAppPool
               Id="V4WebAppPool"
               Name=".Net 4.0 App Pool"
               ManagedRuntimeVersion="v4.0"
               Identity="networkService">
            </iis:WebAppPool>
         </Component>
4

1 回答 1

1

看看这个为 ASP.NET Web 应用程序创建 WIX 安装程序

asp.net 版本的代码部分

    <!-- Switch ASP.NET to version 2.0 -->
    <CustomAction Id="MakeWepApp20" Directory="MYWEBWEBSITE" 
      ExeCommand="[ASPNETREGIIS] -norestart -s W3SVC/1/ROOT/[WEB_APP_NAME]" 
      Return="check"/>

    <InstallExecuteSequence>
        <Custom Action="MakeWepApp20" After="InstallFinalize">
               ASPNETREGIIS AND NOT Installed</Custom>
    </InstallExecuteSequence>

设置 ASP 版本的是 CustomAction,您可以创建一个条件来运行正确的 CustomAction 以在版本之间切换。这是切换版本的链接。

高温高压

于 2012-11-22T14:41:54.103 回答