Вопрос Нужна помощь со скриптом Inno Download Plugin

Darksoul

Новичок
Установщик качает с помощью Inno Download Plugin архивы с файлами, которые потом распаковуются в корневую папку игры мир танков. Нужна помощь со скриптом IDP, нужно запилить:
1) Чтобы архивы качались не так как сейчас, в корневую папку с игрой, а в отдельную папку.
2) Можно было отменить нажатием на кнопку загрузку и установку файлов, и соответственно архивы из той папки удалялись и папка рес модс очищалась, при этом в ней оставалась пустая папка ../res_mods/{Patch}.
 

Вложения

  • 3.5 KB Просмотры: 20

Darksoul

Новичок
Вы уважаемый не поняли. мне нужна помощь только подправить под желаемые функции готовый скрипт, всё остальное налажено и работает, поэтому думаю что не ошибся:)
 

Shegorat

Lord of Madness
Администратор
1) Чтобы архивы качались не так как сейчас, в корневую папку с игрой, а в отдельную папку.
Путь, куда будут загружаться файлы задается не в этом модуле, а в родительском. С помощью функций idpAddFile, idpAddFileComp, idpAddMirror. Естественно если модуль используется так, как было задумано, с созданием доп. страницы.

2) Можно было отменить нажатием на кнопку загрузку и установку файлов, и соответственно архивы из той папки удалялись и папка рес модс очищалась, при этом в ней оставалась пустая папка ../res_mods/{Patch}.
Здесь есть отмена скачивания файла(-ов), и даже есть удаление файлов при отмене
Код:
procedure idpCancelButtonClick(Page: TWizardPage; var Cancel, Confirm: Boolean);
begin
  if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then
  begin
    IDPForm.Status.Caption:=ExpandConstant('{cm:IDP_CancellingDownload}');
    WizardForm.Repaint;
    idpStopDownload;
    Cancel:=True;
    Confirm:=False;
/// --- Удаляем недокачанные файлы begin --- ///
    DeleteFile(ExpandConstant('{app}\xubuntu-12.04.4-desktop-i386.iso'));
    DeleteFile(ExpandConstant('{app}\xubuntu-12.04.4-desktop-amd64.iso'));
/// --- Удаляем недокачанные файлы end --- ///
  end
  else
    Cancel:=False;
end;
Ну а вообще DelTree(ExpandConstant('{app}\res_mods\{#Patch}\*'), false, true, true) вам в помощь.
 

Ekspoint

Новичок
Путь, куда будут загружаться файлы задается не в этом модуле, а в родительском. С помощью функций idpAddFile, idpAddFileComp, idpAddMirror. Естественно если модуль используется так, как было задумано, с созданием доп. страницы.


Здесь есть отмена скачивания файла(-ов), и даже есть удаление файлов при отмене
Код:
procedure idpCancelButtonClick(Page: TWizardPage; var Cancel, Confirm: Boolean);
begin
  if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then
  begin
    IDPForm.Status.Caption:=ExpandConstant('{cm:IDP_CancellingDownload}');
    WizardForm.Repaint;
    idpStopDownload;
    Cancel:=True;
    Confirm:=False;
/// --- Удаляем недокачанные файлы begin --- ///
    DeleteFile(ExpandConstant('{app}\xubuntu-12.04.4-desktop-i386.iso'));
    DeleteFile(ExpandConstant('{app}\xubuntu-12.04.4-desktop-amd64.iso'));
/// --- Удаляем недокачанные файлы end --- ///
  end
  else
    Cancel:=False;
end;
Ну а вообще DelTree(ExpandConstant('{app}\res_mods\{#Patch}\*'), false, true, true) вам в помощь.
ааа,ясно,тут эта кнопка выключена просто
 

Darksoul

Новичок
Немного не понял про отдельную страницу, у меня происходит так: После страницы выбора компонентов в инсталляторе идет страница с списком выбранного, потом устанавливаются файлы которые внутри сборки, а потом на этой же странице начинается загрузка файлов скриптом из сети и потом их распаковка, при загрузке файлов невозможно включить эту кнопку отмены, она серая, и я хоть палкой бей не понимаю как её активировать.
 

Darksoul

Новичок
Как же всё-таки сделать кнопку отмены установки активной?
 
Сверху