我正在协助我们的一名测试人员解决 Windows XP SP3 系统上的配置问题。我们的应用程序使用一个名为 APP_HOME 的环境变量来引用应用程序的安装目录。安装应用程序时,我们使用以下环境变量:
APP_HOME = C:\application\
PATH = %PATH%;%APP_HOME%bin
现在,问题在于她正在使用同一应用程序的多个版本。因此,为了在版本 7.0 和 8.1 之间切换,她可能会使用:
APP_HOME = C:\application_7.0\ (for 7.0)
然后将其更改为:
APP_HOME = C:\application_8.1\ (for 8.1)
问题是,一旦进行了此更改,PATH 环境变量显然仍在查看 APP_HOME 变量的旧扩展。因此,例如,在她更改了 APP_HOME 之后,PATH 仍然指向 7.0 bin 目录。
您对为什么会发生这种情况有什么想法吗?在我看来,PATH 变量正在缓存 APP_HOME 环境变量的扩展。有什么办法可以关闭此行为吗?
答案1
这些变化不是动态的。当您更改 Windows 的环境变量时,需要重新启动其他进程,以便它们在新环境中运行。
当进程启动时,它会扩展APP_HOME
变量的值并将其附加到PATH
。您需要重新启动进程以重新初始化,或重置变量PATH
以便它读取 的新值APP_HOME
。
答案2
这似乎是一个IIS
错误。重新启动将解决您的问题。请注意,终止w3wp
并回收应用程序池不会产生任何效果。
您可以通过以下方式检查是否w3wp
使用了正确的环境路径processexplorer.exe