我正在帮助我们的testing人员解决Windows XP SP3系统上的configuration问题。 我们的应用程序使用名为APP_HOME的环境variables来引用安装应用程序的目录。 安装应用程序时,我们使用以下环境variables:
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环境variables显然仍然在看APP_HOMEvariables的旧扩展。 所以,例如,在她更改了APP_HOME之后,PATH仍然指向7.0 bin目录。
任何想法为什么这可能会发生? 它看起来像PATHvariables正在cachingAPP_HOME环境variables的扩展。 有什么办法可以closures这种行为吗?
这些更改不是dynamic的。 当您更改Windows的环境variables时,需要重新启动其他进程才能在新环境中运行。
当一个进程启动时,它将扩展你的APP_HOMEvariables的值并将其附加到你的PATH 。 您需要重新启动进程以重新初始化,或重置PATHvariables,以便读取APP_HOME的新值。
这似乎是一个IIS错误。 重新启动将解决您的问题。 请注意,杀w3wp和回收应用程序池将不会做任何事情。
您可以检查以确保w3wp通过processexplorer.exe使用正确的环境path