Что было бы неправильным при запуске двух setup.exe с первым, выполняющим настройку переменных окружения, а второе - для необходимых настроек. Первый будет запускаться с setup.exe / VERYSILENT
Я делаю, чтобы добавить системную переменную среды:
[Setup]
; Tell Windows Explorer to reload the environment
ChangesEnvironment=True
[Registry]
Root: "HKLM"; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environment"; ValueType: string; ValueName: "EGPL_GeoLibrarian_Drive"; ValueData: "L"; Flags: createvalueifdoesntexist preservestringtype