0

私は 1 つの wcf サービス プロジェクト msi を持っています。Wix で MSI を生成し、 appool を割り当てています。しかし、私が msi をアンインストールしているとき。その apppool の参照を持つ他の仮想ディレクトリであっても、アプリプールも削除されています。

誰かが知っているなら、それについて私を助けてください..

4

3 に答える 3

0

他の2つの答えに加えて。私の場合、アンインストール後も WebAppPool をそのままにしておきたいと思いました。したがって、msi に WebAppPool をインストールし、アンインストール後もそのままにしておく場合は、「コンポーネント」タグに「永続的」属性を追加し、次のようにその値を「はい」に設定します。

<Component Id="RepoAppPoolCmp" Guid="{B676B577-FEDB-44BF-9096-1510D2A29E38}" KeyPath="yes" Permanent="yes">
    <iis:WebAppPool Id="RepoAppPool" ManagedRuntimeVersion="v4.0" IdleTimeout="0" RecycleMinutes="0" Name="[WEB_APP_POOL_IDENTITY]" Identity="networkService" />
</Component>

これで契約が成立するはずです。

于 2014-07-15T09:08:26.870 に答える
0

WiX で AppPool を操作するために使用するコードを貼り付けると、問題を特定しやすくなる場合があります。<iis:WebAppPool>要素の下に要素をネストすると仮定します<Component>。この場合、アプリケーション プールはインストール中に作成され、アンインストール中に削除されます。インストール時に存在していたとしても、削除されます。

or要素の<iis:WebAppPool>下にを配置する必要があります。この場合、それはlocatorとして機能し、他の要素がそれを参照できるようにしますが、インストール/アンインストールはされません。ProductModuleFragment

詳細については、要素の説明を参照してください。要素のロケーター動作のトリックについては、<WebSite>要素の記事で説明されています。

于 2012-08-14T09:15:35.973 に答える
0

そのアプリケーション プールを共有する仮想ディレクトリが異なる MSI にある場合は、コンポーネント ルールと共有コンポーネントの概念を読む必要があります。このようにして、MSI はコンポーネントを参照カウントし、適切な場合はそれとそのリソースを削除します。

それ以外の場合は、通常、競合を避けるためにアプリ プールをさらに作成します。

于 2012-08-14T11:25:56.877 に答える