Продолжение (начало см. выше):
То есть, в общих чертах, образовалась такая проблема:
Свежеустановленная инсталлятором программа запускается в секции [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'а, или я что-то не так делаю???
Если - это баг, то существует ли способ его обойти???
Спасибо за внимание.
ЗЫ:
Я уже сталкивался с этой проблемой ранее,
получил ответ, но разрешить проблему так и не удалось... Поэтому и начал копать сам...