我有一个安装程序,它安装了几个组件,包括 Windows 服务,安装后它将启动使用 CustomAction 安装到系统上的服务。
卸载应用程序时的问题,安装程序要求在继续之前关闭应用程序。
我创建了一个将停止服务的自定义操作,并使用卸载操作安排了它。
但是直到我在手动停止服务后为错误对话框按 OK 后才执行它。
它在 Win7 上失败了,但我在 WinXP 上测试了相同的 MSI 并且工作正常(在检查文件使用中之前执行的自定义操作)!!!
我正在使用 VS2010 安装项目来创建安装程序,但是在构建后修改它(例如使用 Orca)没有问题。
这是 InstallExecuteSequence 表的内容:
我发现检查 In-Use 文件的InstallValidate操作,但我无法对在它之前停止服务的自定义操作进行排序,因为它在InstallInitialize操作之前需要所有自定义操作都在它之后(ICE77 Evaluator)
如果在 InstallInitialize 操作之前或 InstallFinalize 操作之后对脚本内自定义操作进行排序,ICE77 会发布错误。
我应该怎么做,我应该使用指定 Windows Installer 包是否使用 FilesInUse Dialog 功能的MSIRESTARTMANAGERCONTROL属性,但我需要通知用户其他正在使用的文件。