我正在寻找certificate或反驳我的理论。 我们有在LocalSystem帐户下运行的windows服务。 该服务调用msbuild并build立使用环境variables的csproj (Visual Studio项目)文件。 但是由于它不能识别或发现环境variables而下降。
有什么方法可以testing或确保在LocalSystem下运行的win服务可以访问环境variables吗?
如果您的环境variables正在改变,并且您正在Windows Server 2003,XP或2000中运行该服务(如LocalSystem),那么您可能会遇到需要重新启动计算机以便服务pipe理器重新读取环境。 有关更多信息,请参阅此KB文章 。
有一个可用于Windows Server 2003 的修补程序可解决此问题。
以SYSTEM(LocalSystem,NT_AUTHORITY \ SYSTEM)身份运行的程序将具有由HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment和HKEY_USERS\.DEFAULT\Environment指定的variables构build的HKEY_USERS\.DEFAULT\Environment 。 确保您希望“看到”的variables在其中一个位置定义,并且可以访问。