omals
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору ChVL [_Files] Source: "file32" ; DestDir: "{pf}"; Flags: regserver noregerror onlyifdoesntexist; Check: (not MyIsWin64); Source: "file64" ; DestDir: "{pf}"; Flags: regserver noregerror onlyifdoesntexist; Check: MyIsWin64; [_Code] function MyIsWin64: boolean; begin if IsWin64 then begin MsgBox('64-bit program files reside in: ' + ExpandConstant('{pf}'), mbInformation, MB_OK); Result:=True; end else begin MsgBox('32-bit program files reside in: ' + ExpandConstant('{pf}'), mbInformation, MB_OK); Result:=False; end; end Добавлено: zhe_zho [_Code] var MyPath: String; //глобальная переменна, значение присвоить там где оно уже известно // добавляем procedure CurStepChanged(CurStep: TSetupStep); var StrPath: String; begin if CurStep = ssDone then begin RegQueryStringValue(HKLM,'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', StrPath); tmpStr := ';'+ MyPath + ';'; StrPath := StrPath + tmpStr; RegWriteStringValue(HKLM,'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', StrPath); end; end; // для корректного удаления твоего пути procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); var StrPath, tmpStr: String; begin if CurStep = ssDone then begin RegQueryStringValue(HKLM,'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', StrPath); tmpStr := ';'+ MyPath + ';'; P := Pos(tmpStr, StrPath); //индекс начала вхождения твоей строки L := Length(tmpStr); //длинна твоего пути (строки) Delete(StrPath, P, L); // удаляем твою подстроку RegWriteStringValue(HKLM,'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', StrPath); end; end; кажись так но не уверен будет ли PATH (с твоим дополнением) рабодать до перезагрузки системы |