Windows注册表变量与环境变量?

时间:2010-01-08 16:15:14

标签: environment-variables registry

乍一看,这似乎是一个纯粹的主观/审美问题,但我有兴趣听听关于环境变量或注册表是否是在Windows环境中存储配置数据的首选位置的意见(尤其是任何技术问题)

我目前只能想到以下差异:

  • 注册表设置在会话中是持久的,但我相信环境变量也可以具有此属性。
  • 从命令行设置环境变量比使用regedit更容易
    • (反驳:regedit非命令行应用程序更容易?)
  • 环境变量在平台上更常见(?)。

我也知道可以从注册表中查询,修改和设置环境变量。

2 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:0)

使用Windows服务时,环境变量可能很痛苦:只需更改变量然后重新启动服务就无济于事。通常需要重新启动系统 如果服务在注册表中查找设置,则更容易。

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