Скрипты Inno Setup. Помощь и советы [часть 6]
-
saurn
Re: Скрипты Inno Setup. Помощь и советы [часть 6]
Alloc, пихать в ресурсы придется не только библу, но и абсолютно все рабочие файлы. Есть вариант гораздо проще, на начальном этапе проверить наличие бинарников рядом с сетапом и, если хоть один из них не будет найден, выводить соответствующее уведомление, и только, если все части инстала на месте, тогда проводить инициализацию.
-
Gnom_aka_Lexander
Re: Скрипты Inno Setup. Помощь и советы [часть 6]
saurn, не мучайся. пока скрипта не увидишь - все равно ничем помочь не сможешь. я-то уже знаю решение, но нужно удостовериться, что я прав. а для этого нужно видеть скрипт.
-
saurn
-
Aquila
Re: Скрипты Inno Setup. Помощь и советы [часть 6]
Цитата semen77:
/LOADINF="filename"
Это всего лишь файл ответов инстала. Позволяет выполнять установку с заранее предустановленными параметрами установки.
Цитата semen77:
function GetCmdTail: String;
Функция возврата параметров ком.строки.
---------------------------------------------------------
По поводу указания ексишнику местоположения псевдо бинарников, знатоки скажут вам более точно. Я с таким никогда не сталкивался, и не думаю, что это возможно. Инсталлятор - *.exe, *.bin - по сути архив, разбитый на части. Все части архива должны располагатся в одной директории.
/LOADINF="filename"
Скрипты Inno Setup. Помощь и советы [часть 6]
Это всего лишь файл ответов инстала. Позволяет выполнять установку с заранее предустановленными параметрами установки.
Цитата semen77:
function GetCmdTail: String;
Скрипты Inno Setup. Помощь и советы [часть 6]
Функция возврата параметров ком.строки.
---------------------------------------------------------
По поводу указания ексишнику местоположения псевдо бинарников, знатоки скажут вам более точно. Я с таким никогда не сталкивался, и не думаю, что это возможно. Инсталлятор - *.exe, *.bin - по сути архив, разбитый на части. Все части архива должны располагатся в одной директории.
-
saurn
Re: Скрипты Inno Setup. Помощь и советы [часть 6]
Aquila, я просто не совсем понял, что подразумевается под использовать несколько ключей установки. Имеется ввиду установка через ком.строку с различными параметрами?
-
Aquila
Re: Скрипты Inno Setup. Помощь и советы [часть 6]
Здравствуйте, друзья!
Собственно, вот что я хотел у Вас спросить. Мне необходимо, чтобы во время установки загрузился файл из Интернета. Организовал я всё это дело через Inno Tools Downloader. Мне необходимо, чтобы этот загружаемый файлик сохранялся не в корневую папку установки, а в подпапку. Попытался написать вот так:
Код:
Естественно, не качает. Выдаёт ошибку Sorry, the files could not be downloaded. Click 'Retry' to try downloading the files again, or click 'Cancel' to terminate setup. Если просто написать expandconstant('{tmp}\file'), то всё прекрасно закачивается.
Как же можно это организовать? Спасибо.
Собственно, вот что я хотел у Вас спросить. Мне необходимо, чтобы во время установки загрузился файл из Интернета. Организовал я всё это дело через 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]
Aquila, всё, что могу подсказать по этому вопросу: использовать файл ответов - свой для каждой конфигурации.
Код:
Код:
Код: Выделить всё
/LOADINF="filename"
Указывает инсталлятору загрузить параметры установки из указанного файла после проверки командной строки. Этот файл может быть подготовлен с помощью '/SAVEINF=' command.
Не забудьте ставить кавычки при использовании имен, содержащих пробелы.
/SAVEINF="filename"
Указывает инсталлятору сохранять параметры установки в указанный файл.
Не забудьте ставить кавычки при использовании имен, содержащих пробелы.Все параметры командной строки Inno
-
Aquila
Re: Скрипты Inno Setup. Помощь и советы [часть 6]
Цитата vint56:
volga163@vk попробуй так
Спасибо огромное, помогло.
Ещё один вопрос. Я использую в коде Паскаля вместо {app} WizardDirValue, но он выдаёт только папку установки по умолчанию. А как можно сделать, чтобы файлы загружались в папку, которую выбирает пользователь при установке? Код:
Код:
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]
Цитата volga163@vk:
Я использую в коде Паскаля вместо {app} WizardDirValue, но он выдаёт только папку установки по умолчанию
Так и будет, даже если использовать константу {app} ничего не изменится, список папок загрузки у вас создается на этапе инициализации формы мастера, соответственно, когда у пользователя появляется возможность выбрать папку для загрузки, папки уже созданы. Вызывайте процедуру создания папок после страницы выбора папки установки(wpSelectDir), ну или создайте свою страницу, или форму, с едитом для выбора папки и вызывайте ее в нужном вам месте.
Я использую в коде Паскаля вместо {app} WizardDirValue, но он выдаёт только папку установки по умолчанию
Скрипты Inno Setup. Помощь и советы [часть 6]
Так и будет, даже если использовать константу {app} ничего не изменится, список папок загрузки у вас создается на этапе инициализации формы мастера, соответственно, когда у пользователя появляется возможность выбрать папку для загрузки, папки уже созданы. Вызывайте процедуру создания папок после страницы выбора папки установки(wpSelectDir), ну или создайте свою страницу, или форму, с едитом для выбора папки и вызывайте ее в нужном вам месте.
-
Crazy Noise
Re: Скрипты Inno Setup. Помощь и советы [часть 6]
saurn, Благодарю!
Скрипт рабочий, если добавить в него [Dirs].
Код:
Но что делать если использовать второй вариант
Код:
где создание папки GameEX через [Dirs] не прокатит?
Скрипт рабочий, если добавить в него [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] не прокатит?