Я создаю две переменные среды во время установки. Во время самой установки эти переменные среды используются некоторыми из моих пакетных файлов. Но я не могу найти переменные среды, доступные в тот момент, когда мои пакетные файлы начинают выполняться. После установки я могу найти переменную среды, установленную правильно. Что мне здесь не хватает? Есть ли какая-либо проблема с последовательностью, например, я запускаю свои пакетные файлы еще до того, как переменная среды установлена? Пожалуйста, пролейте свет на это, я пытаюсь это сделать за последнюю неделю.
Переменная среды для текущего процесса установки installshield 2011
Ответы (1)
Было бы полезно точно знать, где ваш код запускается (секвенируется) и является ли он отложенным, олицетворенным и т. д., а также для какой переменной предназначена пользовательская или системная.
Проблемы, как правило, следующие:
Если он отложен и работает под учетной записью локальной системы, он не увидит пользовательскую переменную.
Если он олицетворен, он не увидит никаких пользовательских переменных, потому что олицетворение означает только учетные данные учетной записи пользователя, а не загрузку всего профиля пользователя (который требуется для просмотра пользовательских переменных).
Вы можете быть обречены, потому что установщик Windows не передает и не фиксирует изменения до конца установки. Пользовательское действие Commit может найти их, или запуск программы оболочки после InstallFinalize может их найти.
Службы их не видят, потому что SCM удерживает их с момента загрузки системы и не обновляет.
Если вам нужна работающая программа, чтобы подобрать их после установки, она должна ответить на сообщение Windows WM_SETTINGSCHANGED.
Первые три, вероятно, наиболее актуальны для вашей проблемы.