Wix安装程序。如何停止IIS池

时间:2017-09-21 05:44:30

标签: iis wix windows-installer

我在WIX安装程序中遇到了问题:如何在修复,更改或更新期间停止特定的IIS应用程序池? 描述:交付和部署Web应用程序,运行修复。出现对话框,表示 w3wp 进程锁定文件。另外,由于要求我不能隐藏该消息,我无法更改Web应用程序。

enter image description here

我试图做的事情:

  1. 我试图停止服务" W3SVC"使用ServiceControl,它工作得很好!但我真正需要做的是只停止一个特定的IIS池。
  2. 我考虑编写自己的自定义操作以停止应用程序池的方法,但据我所知,我无法在InstallValidate之前安排它。如果我错了,请纠正我。
  3. 请帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

您可以使用安静的执行自定义操作来弹出appcmd以停止应用程序池。你是对的,在InstallValidate之前你不会总是被提升。

https://technet.microsoft.com/en-us/library/cc732742(v=ws.10).aspx

我怀疑这可能是一个误报,并会在安装程序中稍后解决。我会看看各种是压制这个对话框。也许这会有所帮助:

WiX: Avoid showing files-in-use dialog and just prompt for reboot at end of install

答案 1 :(得分:0)

首先,请接受我的谢意!

据我了解,只有两种方法可以解决这个问题:

  1. 添加< ServiceControl Id =“iisServiceControl”Name =“W3SVC”Start =“both”Stop =“both”/&gt ;,如果您同意停止整个服务
  2. 添加设置属性<属性ID =“MSIRESTARTMANAGERCONTROL”值=“禁用”安全=“是” />并安排自定义操作以停止/启动AppPool。
  3. 我想根据要求使用选项2。但是,正如我认为的那样,最好的解决方案是在InstallValidate验证器之后应该忽略某些按名称过滤它们的进程。