Скрипты Inno Setup. Помощь и советы [часть 6]

Ответить
 • Просмотры: 54
Аватара пользователя
saurn

Re: Скрипты Inno Setup. Помощь и советы [часть 6]

Сообщение saurn »

Alloc, пихать в ресурсы придется не только библу, но и абсолютно все рабочие файлы. Есть вариант гораздо проще, на начальном этапе проверить наличие бинарников рядом с сетапом и, если хоть один из них не будет найден, выводить соответствующее уведомление, и только, если все части инстала на месте, тогда проводить инициализацию.
Аватара пользователя
Gnom_aka_Lexander

Re: Скрипты Inno Setup. Помощь и советы [часть 6]

Сообщение Gnom_aka_Lexander »

saurn, не мучайся. пока скрипта не увидишь - все равно ничем помочь не сможешь. я-то уже знаю решение, но нужно удостовериться, что я прав. а для этого нужно видеть скрипт.
Аватара пользователя
Aquila

Re: Скрипты Inno Setup. Помощь и советы [часть 6]

Сообщение Aquila »

Цитата semen77:



/LOADINF="filename"
Скрипты Inno Setup. Помощь и советы [часть 6]




Это всего лишь файл ответов инстала. Позволяет выполнять установку с заранее предустановленными параметрами установки.


Цитата semen77:



function GetCmdTail: String;
Скрипты Inno Setup. Помощь и советы [часть 6]




Функция возврата параметров ком.строки.

---------------------------------------------------------

По поводу указания ексишнику местоположения псевдо бинарников, знатоки скажут вам более точно. Я с таким никогда не сталкивался, и не думаю, что это возможно. Инсталлятор - *.exe, *.bin - по сути архив, разбитый на части. Все части архива должны располагатся в одной директории.
Аватара пользователя
saurn

Re: Скрипты Inno Setup. Помощь и советы [часть 6]

Сообщение saurn »

Aquila, я просто не совсем понял, что подразумевается под использовать несколько ключей установки. Имеется ввиду установка через ком.строку с различными параметрами?
Аватара пользователя
Aquila

Re: Скрипты Inno Setup. Помощь и советы [часть 6]

Сообщение Aquila »

Здравствуйте, друзья!



Собственно, вот что я хотел у Вас спросить. Мне необходимо, чтобы во время установки загрузился файл из Интернета. Организовал я всё это дело через Inno Tools Downloader. Мне необходимо, чтобы этот загружаемый файлик сохранялся не в корневую папку установки, а в подпапку. Попытался написать вот так:





Код:

Код: Выделить всё

  itd_addfile('http://u.to/8Su7Aw',expandconstant('{tmp}\subdir\file')); // Пишем ссылки на файлы тут

Естественно, не качает. Выдаёт ошибку Sorry, the files could not be downloaded. Click 'Retry' to try downloading the files again, or click 'Cancel' to terminate setup. Если просто написать expandconstant('{tmp}\file'), то всё прекрасно закачивается.



Как же можно это организовать? Спасибо.
Аватара пользователя
saurn

Re: Скрипты Inno Setup. Помощь и советы [часть 6]

Сообщение saurn »

Aquila, всё, что могу подсказать по этому вопросу: использовать файл ответов - свой для каждой конфигурации.



Код:

Код: Выделить всё

/LOADINF="filename"
Указывает инсталлятору загрузить параметры установки из указанного файла после проверки командной строки. Этот файл может быть подготовлен с помощью '/SAVEINF=' command. 
Не забудьте ставить кавычки при использовании имен, содержащих пробелы. 
/SAVEINF="filename"
Указывает инсталлятору сохранять параметры установки в указанный файл. 
Не забудьте ставить кавычки при использовании имен, содержащих пробелы.

Все параметры командной строки Inno
Аватара пользователя
Aquila

Re: Скрипты Inno Setup. Помощь и советы [часть 6]

Сообщение Aquila »

Цитата vint56:

volga163@vk попробуй так
Скрипты Inno Setup. Помощь и советы [часть 6]


Спасибо огромное, помогло.



Ещё один вопрос. Я использую в коде Паскаля вместо {app} WizardDirValue, но он выдаёт только папку установки по умолчанию. А как можно сделать, чтобы файлы загружались в папку, которую выбирает пользователь при установке? Код:



Код:

Код: Выделить всё

procedure InitializeWizard();
begin
  ITD_Init;
// Оглашаем создание папок Bukkit.
  CreateDir(WizardDirValue()+'\1.5.2 Bukkit\');
  CreateDir(WizardDirValue()+'\1.5.1 Bukkit\');
  CreateDir(WizardDirValue()+'\1.5.0 Bukkit\');
  CreateDir(WizardDirValue()+'\1.4.7 Bukkit\');
  CreateDir(WizardDirValue()+'\1.4.6 Bukkit\');
// ЗАКОНЧИЛИ ОГЛАШАТЬ СОЗДАНИЕ ПАПОК
// -------------------------
// Загружаем следующие файлы
  itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/02161_1.5.2-R0.2/craftbukkit-dev.jar',Wizarddirvalue()+'\1.5.2 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.5.2
  itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/02099_1.5.1-R0.3/craftbukkit-dev.jar',Wizarddirvalue()+'\1.5.1 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.5.1
  itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/01980_1.5-R0.1/craftbukkit-dev.jar',Wizarddirvalue()+'\1.5.0 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.5.0
  itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/01845_1.4.7-R1.0/craftbukkit.jar',Wizarddirvalue()+'\1.4.7 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.4.7
  itd_addfile('http://dl.bukkit.org/downloads/craftbukkit/get/01800_1.4.6-R0.4/craftbukkit-dev.jar',Wizarddirvalue()+'\1.4.6 Bukkit\'+'craftbukkit-1.0.0-SNAPSHOT.jar'); // Bukkit 1.4.6
// ЗАКОНЧИЛИ ЗАГРУЖАТЬ ФАЙЛЫ
// -------------------------
  itd_setoption('UI_DetailedMode', '1'); // Детализированный режим
  itd_downloadafter(wpInstalling); // Загружаем файл после установки
end;
Аватара пользователя
saurn

Re: Скрипты Inno Setup. Помощь и советы [часть 6]

Сообщение saurn »

Цитата volga163@vk:



Я использую в коде Паскаля вместо {app} WizardDirValue, но он выдаёт только папку установки по умолчанию
Скрипты Inno Setup. Помощь и советы [часть 6]




Так и будет, даже если использовать константу {app} ничего не изменится, список папок загрузки у вас создается на этапе инициализации формы мастера, соответственно, когда у пользователя появляется возможность выбрать папку для загрузки, папки уже созданы. Вызывайте процедуру создания папок после страницы выбора папки установки(wpSelectDir), ну или создайте свою страницу, или форму, с едитом для выбора папки и вызывайте ее в нужном вам месте.
Аватара пользователя
Crazy Noise

Re: Скрипты Inno Setup. Помощь и советы [часть 6]

Сообщение Crazy Noise »

saurn, Благодарю!

Скрипт рабочий, если добавить в него [Dirs].


читать дальше »




Код:

Код: Выделить всё

[Dirs]
Name: {userdocs}\GameEX
[code]
var
  SerialPage: TWizardPage;
  Block_1, Block_2, Block_3, Block_4: TNewEdit;
  sNumber: String;
procedure InitializeWizard();
begin
 SerialPage := CreateCustomPage(wpSelectTasks, 'Serial number', 'Please insert serial number');
  Block_1 := TNewEdit.Create(nil);
  with Block_1 do
  begin
    Parent := SerialPage.Surface;
    SetBounds(ScaleX(96), ScaleY(98), ScaleX(50), ScaleY(21));
    Text := '';
    MaxLength := 4;
  end;
  Block_2 := TNewEdit.Create(nil);
  with Block_2 do
  begin
    Parent := SerialPage.Surface;
    SetBounds(ScaleX(152), ScaleY(98), ScaleX(50), ScaleY(21));
    Text := '';
    MaxLength := 4;
  end;
  Block_3 := TNewEdit.Create(nil);
  with Block_3 do
  begin
    Parent := SerialPage.Surface;
    SetBounds(ScaleX(208), ScaleY(98), ScaleX(50), ScaleY(21));
    Text := '';
    MaxLength := 4;
  end;
  Block_4 := TNewEdit.Create(nil);
  with Block_4 do
  begin
    Parent := SerialPage.Surface;
    SetBounds(ScaleX(265), ScaleY(98), ScaleX(50), ScaleY(21));
    Text := '';
    MaxLength := 4;
  end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
  sNumber := ExpandConstant(Block_1.Text + '-' + Block_2.Text + '-' + Block_3.Text + '-' + Block_4.Text);
  case CurStep of
    ssPostInstall: SaveStringToFile(ExpandConstant('{userdocs}\GameEX\keysgame.ini'), sNumber, True);
  end;
end;







Но что делать если использовать второй вариант
читать дальше »




Код:

Код: Выделить всё

//или вместо шага CurStepChanged записывать серийник в файл при нажатии "Далее" на этой странице.
(*function NextButtonClick(CurPageID:integer): Boolean;
begin
  sNumber := ExpandConstant(Block_1.Text + '-' + Block_2.Text + '-' + Block_3.Text + '-' + Block_4.Text);
  case CurPageID of
    SerialPage.ID: SaveStringToFile(ExpandConstant('{userdocs}\GameEX\keysgame.ini'), sNumber, True);
  end;
  Result := True;
end;*)



где создание папки GameEX через [Dirs] не прокатит?
Ответить

Вернуться в «Автоматическая установка приложений»