Я вижу, что программы хранят постоянные данные (файлы, базы данных) в (для XP) Documents and Settings\<user>\Local Settings\Application Data\Company\Software
, и SHGetSpecialFolderPath () с CSIDL_LOCAL_APPDATA могут быть вызваны для их получения.Однако, каков каталог хранения для службы Windows NT и есть ли разница, если служба запускается под учетными записями SYSTEM, LOCAL_SERVICE или NETOWRK_SERVICE?Я вижу, что LOCAL_SERVICE и NETWORK_SERVICE имеют "домашние" каталоги в Documents and Settings
.
. Поэтому я должен использовать CSIDL_LOCAL_APPDATA
или CSIDL_COMMON_APPDATA
?
Редактировать: я буду запускать службу с lpServiceStartName = "NT AUTHORITY\\NetworkService"
и CSIDL_LOCAL_APPDATA
возвращает: C:\Documents and Settings\NetworkService\Local Settings\Application Data
для Windows XP.Я имею в виду, что это правильный путь.Поэтому, возможно, мне следует использовать CSIDL_LOCAL_APPDATA
, поскольку данные, которые я храню, имеют отношение только к службе (они не передаются).