我目前有一个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" />
答案 0 :(得分:3)
有时,您会遇到WiX或InstallShield提供的自定义操作未公开的IIS元数据库属性。在这些情况下,通常最简单的方法是使用AppCmd.exe来调用Quiet Execute Custom Action。
基本上充分利用IIS扩展,然后在安装结束时调整应用程序池。