Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 12
Благодарности: 3

Профиль | Отправить PM | Цитировать


Продолжение (начало см. выше):

То есть, в общих чертах, образовалась такая проблема:

Свежеустановленная инсталлятором программа запускается в секции [Run] c флагом postinstall.
Она использует новые, только что зарегистрированные, пути для поиска необходимых для работы *.dll файлов.
Но инсталлятор, сообщая другим оконным приложениям windows об изменении "environment", похоже не обновляет эти изменения сам у себя.
А так как родителем любых процессов (приложений), запускаемых инсталлятором, является сам инсталлятор, то они (запускаемые приложения) не видят новых путей (обновленных значений других переменных окружения виндовс).

По-моему так. Поправьте меня, если я не прав...


Уже просто разбил стену лбом, но ответа так и нет.
Пример, демонстрирующий описанную проблему с %PATH%

Пояснения:

Инсталлятор добавляет новые пути в %PATH%:
'{app}\bin1'
'{app}\bin2'

ChangesEnvironment=yes;

При выходе, инсталлятор запускает bat'ничек (секция [Run] c флагом postinstall) с командой SET PATH внутри, для просмотра значений системной переменной %PATH%, и ждет закрытия окна консоли.
И я не вижу здесь (в окне консоли, открытой из инсталлятора) никаких изменений в переменных окружения...

Если, не закрывая окна консоли, открытой инсталлятором, открыть новую консоль и ввести руками туже команду: SET PATH, то я вижу новые пути в переменной...



НИЧЕГО НЕ ПОНИМАЮ!!!
Это БАГ Inno Setup'а, или я что-то не так делаю???
Если - это баг, то существует ли способ его обойти???

Спасибо за внимание.

ЗЫ:
Я уже сталкивался с этой проблемой ранее, получил ответ, но разрешить проблему так и не удалось... Поэтому и начал копать сам...

Последний раз редактировалось ADremLIN, 20-12-2009 в 03:54.


Отправлено: 13:16, 19-12-2009 | #717