所以我有一个安装IIS7本机代码模块的Wix 3.0项目。卸载时,我希望能够在删除文件之前关闭IIS7应用程序池,以便不需要重新启动。
我正在使用appcmd实用程序来关闭CustomAction元素中的应用程序池,但是当我尝试执行卸载时,我会在调用customaction之前收到此错误:
设置必须更新文件或 无法更新的服务 系统正在运行。如果你选择 要继续,需要重新启动 完成设置。
我在CustomAction上设置了“After ='InstallInitialize'”属性,因为文档说任何延迟/未模拟的自定义操作必须介于InstallInitialize和InstallFinalize之间。
在检查正在使用的文件之前,有没有办法让自定义操作执行?或者对给定文件禁用此检查,或者在序列中稍后进行检查?
答案 0 :(得分:1)
是的,您可以通过修改MSI文件中the InstallExecuteSequence table中的序列列来指定要执行的操作的顺序。
Get the ORCA tool检查MSI文件以查看我的意思,use a Javascript script to modify the MSI as appropriate。