Installshield在次要升级期间不停止服务

时间:2013-01-18 14:48:59

标签: service installshield installshield-2008

在我的安装程序中,我有一个安装NT服务的组件。我有一个问题,即在小幅升级期间,服务不会停止。我在升级期间观察了installshield生成的日志,并报告它正在执行StopServices操作,其返回代码为1.我还启动了process hacker来记录服务启动/停止事件但是服务在升级期间从未停止过。我还验证了在卸载期间服务已停止然后删除。知道为什么会这样吗?

我正在使用installshield 2008,但任何与installshield相关的答案都会非常有用。

2 个答案:

答案 0 :(得分:1)

最终我无法解决这个问题。花了几天时间试图找出究竟发生了什么,并且无法弄清楚为什么服务既没有停止也没有在次要升级期间启动。我被迫编写执行此操作的自定义操作,并使用sc.exe。这不是installshield中第一个无法解决的问题,我被迫使用自定义操作进行修复。希望这个答案可以节省几天给某人。

答案 1 :(得分:0)

可以通过安装脚本和执行它的自定义操作来完成。

停止/启动服务的示例(我在IS2016中使用过它):

#include "ifx.h"

//Function to stop the service
export prototype stopService(HWND);
function stopService(hMSI)
begin
    ServiceStopService ( "my service name" );
end;

//Function to start the service
export prototype startService(HWND);
function startService(hMSI)
begin
    ServiceStartService ( "my service name" ,"");
end;

要仅在次要升级期间运行自定义操作,请将其条件设置为:

REINSTALLMODE=vomus