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

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

Аватара для R.i.m.s.k.y.

Ветеран


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

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


Цитата vk_k14m@vk:
Вроде все ясно, вот запускаешь ты установщик с уже установленным приложением, листаешь далее далее, выбираешь создавать не создавать ярылки, и потом с нажатием кнопки "установить". сразу извлекается и запускается этот файл, и после завершение этого файла извлечение продолжается в обычном режиме. »
это можно сделать через [Files] BeforeInstall, CurStepChanged, CurPageChanged и NextButtonClick
Я обычно делаю так
Код: Выделить весь код
[Files]
Check: Уже_установленное_приложение; Source: сразу_извлекается_и_запускается_этот_файл.exe; DestDir: {tmp}; BeforeInstall: ChangeCaption('Установка этого файла'); AfterInstall: install_this_file; Flags: ignoreversion recursesubdirs createallsubdirs; 
...
Source: Твои файлы...


[Code]

procedure install_this_file();
var res:integer; file, path : string;
begin
  file := ExpandConstant('{tmp}\сразу_извлекается_и_запускается_этот_файл.exe'); path := ExpandConstant('{tmp}');
  if FileExists(file) then Exec(file, ' параметры',path,SW_SHOW,ewWaitUntilTerminated,res) else MsgBox('Файл') + ' ' + file + #13#10 + 'не найден'), mbInformation, MB_OK);
end;

Function Уже_установленное_приложение():boolean;
begin
 if это_приложение_уже_установлено then Result := True else Result := False;
end;

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:53, 26-09-2017 | #2128