4

我目前有一个 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" />
4

1 回答 1

3

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

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

于 2012-11-25T21:06:59.477 回答