Я помогаю одному из наших тестировщиков в устранении неполадок конфигурации в системе 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 по-прежнему относится к каталогу bin 7.0.
Есть мысли о том, почему это может происходить? Мне кажется, что переменная PATH кэширует расширение переменной среды APP_HOME. Есть ли способ отключить это поведение?
Изменения не динамические. При изменении переменных среды для Windows необходимо перезапустить другие процессы, чтобы они могли работать в новой среде.
Когда процесс начнется, он увеличит ценность вашего APP_HOME
переменную и добавьте ее в свой PATH
. Вам нужно будет перезапустить процесс для повторной инициализации или сбросить PATH
переменная, поэтому она считывает новое значение APP_HOME
.
Кажется, это IIS
ошибка. Перезагрузка решит вашу проблему. Обратите внимание, что убийство w3wp
и повторное использование пула приложений ничего не даст.
Вы можете проверить, чтобы убедиться w3wp
использует правильный путь к среде через processexplorer.exe