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

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

Старожил


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

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


Только начал освоение InnoSetup, чую что вопрос пустяковый, но сам дойти пока не могу...
Нужно сделать чтобы во время установки выводился запрос на указание пути к файлу, а после его указания путь к этому файлу использовался бы в создании ярлыка для другого файла как параметр. Притом оба этих файла распаковываются только во время установки, то есть окно выбора должно появляться после распаковки файлов, но перед окончанием установки ... то есть:
Например нужно создать ярлык для приложения №1 с параметрами [Путь к файлу №2 -l -c] , где "-l -c" тоже параметры, само приложение №1 лежит в установленном каталоге {app}, а вот путь к файлу №2 который мы выбираем, как и название этого файла после установки могут быть в разных местах (единственное что всегда верно, это его расширение) и выбираются во время загрузки...

Использовал Afterinstall чтобы войти в установку перед ее окончанием, но после распаковки файлов:

#define XXXName - объявленная переменная, где XXXName - файл №1
ProjectName - переменная содержащая в себе путь к файлу №2

procedure AfterInstall1 ;
var
ProjectName: String;
begin
ProjectName := '';
if GetOpenFileName('', ProjectName,'', 'Text Documents (*.txt)|*.txt|All Files|*.*', 'txt') then
begin
CreateShellLink(ExpandConstant('{userdesktop}\XXX.lnk') , '' , ExpandConstant('{app}\Просто_путь\{#XXXName}') , ExpandConstant('ProjectName') , ExpandConstant('') , ExpandConstant('D:\IS FILES\eye.ico') , 0 , SW_SHOWNORMAL);
end;
end;

Выделенное жирным и есть блок ответственный за установку параметров, но он воспринимает функцию ProjectName как текст, а нужно чтобы он считывал путь из нее...ну и чтобы там же еще прописывались -l -c , но это вторично.... Буду признателен и за менее топорное решение... да я знаю что я краб Спасибо...

-------
Не забывайте что если вам помогли - стоит отметить сообщение полезным, а если вы решили свою проблему - будет не лишним отметить вашу тему решенной.


Отправлено: 15:36, 19-12-2016 | #1750