Windows注册表变量与环境变量有什么区别?

10
乍一看这似乎是一个纯主观/审美问题,但我很想听听意见(特别是任何技术方面的意见),关于在Windows环境中存储配置数据,环境变量或注册表哪个更好。
我目前只能想到以下区别:
- 注册表设置在会话之间是持久的,尽管我认为环境变量也可以具有此属性。 - 与使用regedit相比,从命令行设置环境变量更容易
- (反驳:对于非命令行应用程序,regedit更容易?)
- 环境变量在各平台上更常见吗?
我还知道可以从注册表中查询、修改和设置环境变量。
2个回答

6

当您希望被其他应用程序(或技术用户)配置,并且此配置可能不同(即,同时运行具有不同设置的2个实例)时,请使用环境变量。通常不需要混乱用户的环境。在大多数情况下,请使用注册表或存储在$HOME\AppData\Roaming\YourApp中的配置文件。


0

在使用Windows服务时,环境变量可能会成为一个痛点:仅更改变量然后重新启动服务是不够的。通常需要重启系统。
如果该服务在注册表中查找设置,则这要容易得多。

我在Windows XP上看到了这种行为,不确定以后的版本是否已解决此问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接