У меня есть программа на Java, которая должна быть программой запуска, которая запускается от имени администратора. Кажется, что это невозможно сделать, не сделав это услугой. Я пытался использовать HKLM\SYSTEM\CurrentControlSet\Services\Services\MyService
. Я попробовал нечто похожее на то, что использует Google Updater (они используют ...\Services\gupdate
). Процесс не запускается (или, по крайней мере, сразу останавливается, чего я точно не могу сказать.
Я думаю, что это неправильно с использованием реестра, потому что служба не отображается в msconfig.exe
на вкладке Службы. Также он не отображается на панели управления «Просмотр локальных служб» (Windows 7, в меню «Пуск» для поиска «службы»)
Я попробовал гораздо более простой подход, найденный здесь . Я создаю файл .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. У него нет интерфейса с графическим интерфейсом.