如何通过installscript在InstallShield中将现有服务的模式从自动更改为手动,反之亦然?

时间:2016-10-06 09:45:36

标签: installshield installscript

我无法理解如何通过InstallShield中的installscript将现有服务模式从自动更改为手动。

1 个答案:

答案 0 :(得分:1)

您需要使用installscript启动CMD并运行命令来更改服务。

我相信你使用LaunchApplication方法,传递它 WINSYDIR ^ "cmd.exe"要将应用程序作为第一个参数启动。

对于下一个方法参数,即传递给要运行的应用程序的参数,将其传递给

"/c " + WINSYDIR ^ sc +" config servicename start=mode"

将servicename替换为您要更改的服务名称,并使用其中一个选项替换模式

  • auto - 即使没有用户,服务也会在启动时自动启动 登录
  • boot - 引导加载程序加载的设备驱动程序
  • 需求 - 必须手动启动的服务(默认)
  • 已停用 - 无法启动的服务
  • system - 在内核初始化期间启动的服务

您可能不得不使用第二个参数。基本上,我们在这里做的是运行命令行,以及一次性运行它的命令。传递给CMD的/ c参数告诉它您还希望在启动时向CMD传递一个命令来运行。因此,正在运行的实际命令是“sc config servicename start = mode”。 WINSYDIR只是一个Installscript宏,它返回windows / system32文件夹的位置,其中cmd.exe和sc.exe等应用程序存在。如果此路径已经是计算机上的环境变量,则可能不需要这样做。

如果您有任何问题,请与我们联系。