在WiX安装程序中的应用程序池上设置禁用重叠循环

时间:2012-11-25 19:21:27

标签: asp.net iis-7 wix

我目前有一个WiX安装程序,用于将Web应用程序部署到IIS中。

该应用程序使用Lucene.Net及其近实时搜索功能。

不幸的是,这样做的副作用是Lucene索引在应用程序运行期间保持打开/锁定状态。这意味着如果“禁用重叠的回收”设置为false,那么当应用程序池回收时(例如在升级期间),我们就会遇到仍然被前一个实例锁定的lucene索引的问题。

解决方法是在应用程序池的高级设置中将“禁用重叠的回收”更改为True,但我无法弄清楚如何使用wix执行此操作。

无论如何我可以通过WiX自动设置这个值吗?

仅供参考 - 以下是我的安装程序项目中WebAppPool部分的内容:

<iis:WebAppPool Id="AppPool" Name="Some App" ManagedRuntimeVersion="v4.0"
    IdleTimeout="0" RecycleMinutes="0" ManagedPipelineMode="integrated"
    Identity="networkService" />

1 个答案:

答案 0 :(得分:3)

有时,您会遇到WiX或InstallShield提供的自定义操作未公开的IIS元数据库属性。在这些情况下,通常最简单的方法是使用AppCmd.exe来调用Quiet Execute Custom Action

基本上充分利用IIS扩展,然后在安装结束时调整应用程序池。