2012-08-14 132 views
0

我有一个wcf服务项目msi。我由Wix生成MSI并分配appool。但是当我卸载msi。即使其他具有该apppool引用的虚拟目录,应用程序池也会被删除。卸载msi删除应用程序

如果某些人知道的请帮我这句话..

回答

0

这可能是更容易,如果您贴上您使用维克斯与程序池的工作代码来查找问题。我假设你将<iis:WebAppPool>元素嵌套在<Component>元素下。在这种情况下,应用程序池将在安装过程中创建,并在卸载过程中被删除。即使在安装的时候,它仍然会被删除。

您应该在ProductModuleFragment元素下找到<iis:WebAppPool>。在这种情况下,它将作为定位器,允许其他元素引用它,但未被安装/卸载。

查看element description了解更多详情。 定位器的技巧在<WebSite> element article中描述。

0

如果共享该应用程序池的虚拟目录位于不同的MSI中,则需要阅读组件规则和共享组件的概念。通过这种方式,MSI将引用对该组件进行计数并将其删除,并在适用时进行资源删除。

否则,我通常只是创建更多的应用程序池以避免冲突。

0

除了其他两个答案。即时通讯我的情况我希望WebAppPool留在它卸载后。所以,如果你想安装WebAppPool在MSI和留卸载后,您可以添加一个“永久”属性的“分量”的标签并将其值设置为“yes”是这样的:

<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> 

这应该使交易。

相关问题