При использовании сервис-менеджера, такого как srvany или nssm чтобы запустить обычную программу как службу, вы можете настроить среду программы с помощью реестра, как описано здесь: http://support.microsoft.com/kb/197178. При этом вам необходимо установить все переменные среды, а не только те, которые вы хотите изменить. В статье Microsoft говорится: «Не забудьте включить все основные записи, такие как PATH, TEMP, OS и так далее». Что именно входит в "и так далее" и есть ли исчерпывающая ссылка на эту информацию?
Нет конкретного списка переменных среды, которые вам нужно установить. Ответ - это просто все переменные среды, которые будет использовать ваше приложение / служба. Это зависит от приложения. Конкретное приложение может использовать только TEMP
, или ему могут вообще не понадобиться никакие переменные среды. Или он может использовать _NT_SYMBOL_PATH
и произойдет сбой, если эта переменная среды не найдена! Невозможно узнать, не зная свое приложение.
Если вы напечатаете set
в командной строке вам будет предоставлен список ваших текущих переменных среды, который является неплохим списком для начала.
Изменить: если вы хотите увидеть, какие переменные среды ваши текущие службы Windows используют в качестве примера, введите это в Powershell 3:
$(Get-Process svchost)[0].StartInfo.EnvironmentVariables