8

WiX インストーラーは Silverlight Web アプリケーションをインストールします。32 ビットまたは 64 ビットのアプリ プールで動作します。しかし、インストールが完了すると、選択したアプリ プールが常に [32 ビット アプリケーションを有効にする] に設定されていることがわかります。これは 64 ビット プールでも同様です。以前にインストールされた 64 個のアプリケーションの既存のプールを変更できるため、適切ではありません。このパラメーターを明示的に変更しません。問題の原因は何ですか?

コード サンプルは次のように追加されました。

<Component Id="WebAppVDirComponent"
    Guid="C7A4B0E8-2389-4A2A-B285-96960BEE1C52" KeyPath="yes">
    <Condition><![CDATA[RBGROUP_HOSTING = "iis"]]></Condition>
        <iis:WebVirtualDir Id="VDir"
                Alias="[WEB_APP_NAME]"
                Directory="INSTALLDIR"
                WebSite="TheWebSite" >
        <iis:MimeMap Id="SilverlightMimeType" Extension=".xap" Type="application/x-silverlight-app" />
        <iis:WebApplication Id="WorkWebApplication"
                Name="[WEB_APP_NAME]" WebAppPool="TheAppPool"/>
        </iis:WebVirtualDir>
        <iis:WebAppPool Id="TheAppPool" Name="[APP_POOL_NAME]" ></iis:WebAppPool>           
        <CreateFolder/>
</Component>
4

1 に答える 1

19

私の意見では、これは非常にエレガントな方法で設計されていました。

as とマークされた に<iis:WebAppPool>要素宣言を配置すると、フラグが に設定されたアプリケーション プールが作成されます。それ以外の場合 (つまり、既定では)、set toで作成されます。<Component>Win64="yes"Enable32bitfalseEnable32bittrue

インストールでアプリケーションプールを作成せず、代わりに既存のものを参照する場合の動作はわかりません。このフラグはまったく変更されないと思います。これを試して、正確にどのように機能するかを確認できます。

補足: 既存のアプリケーション プールや Web サイトへのインストールは避けたいと思います。これは維持するのがはるかに困難です。アンインストール後、マシンを「インストール前」の状態にしておく必要があることに注意してください。これは、カスタム アクションで変更したすべての状態をバックアップ/復元する必要があることを意味します... Brrr...

于 2012-07-27T14:09:15.397 に答える