Ame*_*wan 7 windows-installer custom-action orca
我有一个安装程序,安装了一些组件,包括Windows服务,安装后它将启动使用CustomAction安装到系统上的服务.
卸载应用程序时出现问题,安装程序要求在继续之前关闭应用程序.

我创建了一个停止服务的自定义操作,我使用卸载操作安排了它.
但是在手动停止服务后按下确定错误对话框之前,它才会执行.
它在Win7上失败,但我在WinXP上测试了相同的MSI并且工作正常(在检查文件正在使用之前执行自定义操作)!
我正在使用VS2010安装项目来创建安装程序,但是在构建之后我没有修改它(例如使用Orca)的问题.
以下是InstallExecuteSequence表的内容:

我发现InstallValidate操作检查使用中的文件,但是我无法对我之前停止服务的自定义操作进行排序,因为它之前的InstallInitialize操作需要所有自定义操作都在它之后(ICE77 Evaluator)
如果在InstallInitialize操作之前或InstallFinalize操作之后对脚本内自定义操作进行了排序,则ICE77会发出错误.
我该怎么办,我应该使用MSIRESTARTMANAGERCONTROL属性来指定Windows Installer程序包是否使用FilesInUse对话框功能,但我需要通知用户其他正在使用的文件.
Windows Installer 中为此提供了内置功能 - 无需自定义操作。事实上,我强烈建议不要为此使用自定义操作,除非您的服务非常特殊(例如,停止速度很慢,或者需要关闭大量资源,并且您需要验证它是否这样做)。大多数正常服务会在半分钟左右停止。我不确定 Windows Installer 引擎配置为等待服务停止多长时间。
MSI 的服务控制表是此功能的“幕后”功能。大多数安装工具都提供类似向导或 GUI 元素,以便以更简单的方式进行控制。
以下是一个 Installshield 版本中的服务控制视图:

| 归档时间: |
|
| 查看次数: |
4311 次 |
| 最近记录: |