installshield xp service recovery配置失败

前提:

     windows service需要做一个恢复设置,具体如下:

    installshield xp service recovery配置失败

Installshield service recovery配置:

发现在win7中可以通过installshield自带servcie配置 进行操作,在xp中就不可以,网上搜了一圈 也发现有类似问题,没找到原因

installshield xp service recovery配置失败

解决思路:

如果用installshield自带配置在xp上不行,想着就写一个CA可以去配置,简略方案如下:

新建一个Custom Action,执行下面命令,注意需要deferred执行

win7 sc命令写法:

sc.exe failure SERVICENAME actions=restart/60000 reset=0

xp sc命令写法:

sc.exe failure SERVICENAME actions= restart/60000 reset=0

注意区别,actions= 后面xp有一个空格

 

原因思考:

分析了win7跟xp的安装log,发现一个有意思的地方,在xp中MsiConfigureService的condition是false,这个自带action不会执行

installshield xp service recovery配置失败

而win7中MsiConfigureServices可以执行。

需要注意的是MsiConfigureServices的执行条件是VersionMsi>="5.0"

xp中VersionMsi是:

installshield xp service recovery配置失败

win7中VersionMsi是:

installshield xp service recovery配置失败

所以猜测这是xp中不能配置service recovery的原因