Environment-Variables

在Windows上記憶體路徑環境變數?

  • October 1, 2012

我正在協助我們的一位測試人員解決 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 環境變數的擴展。有什麼辦法可以關閉這種行為?

這些變化不是動態的。當您更改 Windows 的環境變數時,需要重新啟動其他程序才能使它們在新環境中執行。

當程序啟動時,它將擴展APP_HOME變數的值並將其附加到您的PATH. 您需要重新啟動該過程以重新初始化或重置PATH變數,以便它讀取APP_HOME.

這似乎是一個IIS錯誤。重新啟動將解決您的問題。請注意,殺死w3wp和回收應用程序池不會做任何事情。

您可以通過以下方式檢查以確保w3wp使用正確的環境路徑processexplorer.exe

引用自:https://serverfault.com/questions/233408