代码之家  ›  专栏  ›  技术社区  ›  Gerald

在检查文件是否在使用之前,如何以WIX3.0的系统用户身份执行自定义操作?

wix
  •  0
  • Gerald  · 技术社区  · 14 年前

    所以我有一个wix 3.0项目,它安装了一个iis7本机代码模块。卸载时,我希望能够在删除文件之前关闭iis7应用程序池,这样就不需要重新启动。

    我正在使用appCmd实用程序关闭customAction元素中的应用程序池,但当我尝试执行卸载时,在调用customAction之前会收到此错误:

    安装程序必须更新文件或 无法更新的服务 系统正在运行。如果你选择 要继续,需要重新启动 完成设置。

    我在customAction上设置了“after='installinitialize'”属性,因为文档说明任何延迟/未模拟的自定义操作必须介于installinitialize和installfinalize之间。

    那么,在对正在使用的文件进行检查之前,是否有方法执行自定义操作?或者对给定的文件禁用此检查,或者稍后在序列中进行检查?

    1 回复  |  直到 14 年前
        1
  •  1
  •   Community George Stocker    7 年前

    是的,您可以通过修改中的序列列来指定操作发生的顺序。 the InstallExecuteSequence table 在msi文件中。

    Get the ORCA tool 检查msi文件以了解我的意思,以及 use a Javascript script to modify the MSI as appropriate .

    alt text http://i48.tinypic.com/29vxgco.jpg