2010-07-16 54 views
2

我正在使用Wix为Web应用程序构建一个简单的安装程序。我希望使用现有的应用程序池。下面的代码在安装应用程序时按照我的需要工作。如何让我的Wix安装程序在IIS6中使用现有的应用程序池?

<iis:WebAppPool Id='MyAppPool' Name='CRMAppPool' /> 

这将使用现有CRMAppPool设置虚拟目录。

问题是,当我卸载应用程序时,它删除了应用程序池。

我该如何预防?

回答

3

将WebAppPool元素放入它自己的组件中,并将该组件标记为永久。 permananent属性将确保组件在卸载时不会被删除。

+0

如果我和你在同一个房间里,先生,我会马上接过来亲吻你。 谢谢! – NotMyself 2010-07-16 16:21:32

1

首先我想问你为什么要这样做。在我多年前第一次了解到.NET 1.1 webapp可以JIT,然后.NET 2.0 webapp会失败时,我一直对共享应用程序池感到非常偏执。

假设你已经考虑过所有这些,真的想分享应用程序池,我不会用永久性组件做到这一点,如上所述。我会用共享组件来做。由于应用程序池不能真正成为密钥文件,因此我会创建一个假的注册表项,将其作为密钥文件提供服务,并将应用程序池作为协同资源。

然后,我会在所有安装中复制此组件,以便MSI可以引用对组件进行计数,并在最后一次安装脱机时它将删除应用程序池。

相关问题