【发布时间】:2011-11-19 21:25:27
【问题描述】:
我有一个 Java 程序,它需要是一个以管理员身份运行的启动程序。如果不将其作为服务,似乎无法做到这一点。我试过使用HKLM\SYSTEM\CurrentControlSet\Services\Services\MyService。我尝试了类似于 Google Updater 使用的东西(他们使用 ...\Services\gupdate)。该过程没有开始(或者至少它立即停止,我无法确定。
我认为我使用注册表的方式有问题,因为该服务未显示在“服务”选项卡下的 msconfig.exe 中。它也没有显示在控制面板“查看本地服务”中(Windows 7,在开始菜单中搜索“服务”)
我尝试了much simpler approach found here。我用这些内容创建了一个.reg 文件。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService]
"Description"="My Service starts the Special Process."
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MyService\Parameters]
"Application"="C:\\Test\\MyProcess.cmd"
如有必要,我愿意考虑另一种命令行替代方案,但我喜欢注册表方法,因为如果我告诉我的安装程序添加某些注册表项,它会在卸载时自动删除这些项。
上面的.reg 文件是否有任何原因不会向msconfig 添加名为“MyService”的项目?
我编写的程序是用 Java 编写的。它没有 GUI 界面。
【问题讨论】:
-
据我了解,您不是自己开发此程序,您有一个不是 Windows 服务的应用程序,因此您不应尝试将其安装为服务。如果我的假设是错误的,请澄清编辑问题。这是什么类型的应用程序(Windows 或控制台),你用什么语言编写的?
标签: windows service registry startup administrator