2013-08-27 72 views
0

某些Windows服务只有在重新启动计算机后才会启动,其中一些安装软件后立即启动。某些服务如何在无需重新启动的情况下启动,某些情况下需要重新启动

例如,sql server(实例名称)将在安装后立即启动。其他一些服务需要重新启动。重新启动该计算机后,它将开始出现在services.msc中。它通过使用注册表完成吗?我得到了一个与registry of services相关的链接,但我无法跟踪哪个链接?它是注册表还是别的? (设置服务为手动或自动不同,我的问题是关于首次安装软件时添加的服务)

+0

服务无法启动或服务列表中是否无法显示? –

回答

0

您不应该直接操作注册表来创建服务。您应该使用服务控制管理器API来创建并根据需要启动服务。注册表值已记录,但它们仍然是API专用的,并且仅在重新启动后才生效。使用API​​将立即生效,并且注册表更改由API完成。

如果您使用Windows Installer,则可以让安装程序使用Windows Installer的ServiceInstall和ServiceControl表为您处理所有这些问题。

某些服务依赖于直到重新启动后才可用的资源。一个例子可能是一个锁定文件,它将在启动过程中通过Pending Files Rename Operations模式被覆盖。另一个问题是如果服务依赖于系统环境变量。更新注册表以设置环境后,您应该向广播地址发送消息,通知设置更改的所有进程。不幸的是,服务控制管理器忽略这些消息,因此需要重新启动才能赶上。

其他例子将以个案为基础。

相关问题