Writing/Read Windows Registry - Windows Service
我开发了将在SYSTEM用户下运行的Windows服务。因此,我想制作一个安装程序来配置此服务。安装程序将在Windows注册表中创建条目。
Windows服务启动时,它将读取安装程序生成的这些条目。
该条目将指向配置文件以及该服务的日志文件的存储位置。
要完成这项工作,我需要写/读哪个键?我担心权限。
是否在CURRENT_USER键中?
我在Delphi中开发Windows Service。
谢谢,
- 如果您正在开发服务,我认为使用LOCAL_MACHINE键是安全的。无论如何,您的服务将需要管理员特权才能进行安装,因此您可以在安装程序中包含注册表的初始值。
-
@DD:不,不要将您的服务配置存储在HKEY_CURRENT_USER中。您的服务在SYSTEM帐户中运行,但是用户将使用自己的帐户运行安装程序,因此HKEY_CURRENT_USER将映射到注册表的不同部分。您必须使用HKEY_LOCAL_MACHINE,或者根本不使用注册表。
雷米的评论正确。
SYSTEM帐户没有自己的HKEY_CURRENT_USER注册表配置单元。
您应该将配置信息存储在HKEY_LOCAL_MACHINE中,或者存储在AppData目录中自己的自定义xml配置文件中。
侧面说明:我认为在未加载配置文件配置单元时尝试使用HKEY_CURRENT_USER会使您HKEY_USERS/.DEFAULT;这不是您要使用的东西。