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

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 6]

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

Аватара для El Sanchez

Ветеран


Contributor


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


Конфигурация

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


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

Отправлено: 19:06, 28-03-2013

 

Ветеран


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

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


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

Отправлено: 15:33, 21-05-2013 | #501



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Aquila

Ветеран


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

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


Цитата saurn:
Имеется ввиду установка через ком.строку с различными параметрами? »
Да

-------
На всех не угодишь!


Отправлено: 15:37, 21-05-2013 | #502


Ветеран


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

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


Aquila, всё, что могу подсказать по этому вопросу: использовать файл ответов - свой для каждой конфигурации.
Код: Выделить весь код
/LOADINF="filename"
Указывает инсталлятору загрузить параметры установки из указанного файла после проверки командной строки. Этот файл может быть подготовлен с помощью '/SAVEINF=' command. 

Не забудьте ставить кавычки при использовании имен, содержащих пробелы. 

/SAVEINF="filename"
Указывает инсталлятору сохранять параметры установки в указанный файл. 

Не забудьте ставить кавычки при использовании имен, содержащих пробелы.
Все параметры командной строки Inno
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:40, 21-05-2013 | #503


Аватара для Aquila

Ветеран


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

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


saurn, Об этом я знаю Придётся использовать NSIS (там есть то что я хочу).

-------
На всех не угодишь!


Отправлено: 15:44, 21-05-2013 | #504


Ветеран


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

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


Aquila, насчет добавления ярлыков в различные дериктории: в секции [Tasks] можно задать опционально для всех ярлыков, а потом через ком. строку выбирать необходимые ярлыки
Код: Выделить весь код
/TASKS="desktopicon,groupicon"
Тот же способ и для компонентов. Пожалуй это и всё.
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:50, 21-05-2013 | #505


Пользователь


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

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


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] не прокатит?

Отправлено: 16:00, 21-05-2013 | #506


Ветеран


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

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


Crazy Noise, не подумал, что папки изначально не существует)
Код: Выделить весь код
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:
    begin
      CreateDir(ExpandConstant('{userdocs}\GameEX'));
      SaveStringToFile(ExpandConstant('{userdocs}\GameEX\keysgame.ini'), sNumber, True);
    end;
  end;
  Result := True;
end;

Последний раз редактировалось saurn, 21-05-2013 в 16:18.

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

Отправлено: 16:06, 21-05-2013 | #507


Пользователь


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

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


Вложения
Тип файла: 7z unattended.7z
(549 байт, 3 просмотров)

saurn, Благодарю.
Цитата saurn:
не подумал, что папки изначально не существует) »
Да это я ничего про папку не упомянул, не думал что так получится.


Aquila, Попробую привести пример на основе bat+ini, т.е bat-ник подхватывает настройки указанные в файле ini
пример скрипта

Код: Выделить весь код
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
DefaultGroupName=My Application
OutputBaseFilename=setup
OutputDir=.

[Icons]
Name: "{group}\{cm:UninstallProgram,My Application}"; Filename: "{uninstallexe}"

[Components]
Name: a; Description: A; Types: full custom compact; Flags: checkablealone
Name: a\a; Description: A\A; Types: custom compact; Flags: dontinheritcheck
Name: a\b; Description: A\B; Types: custom compact; Flags: dontinheritcheck
Name: a\c; Description: A\C; Types: custom compact; Flags: dontinheritcheck

[Tasks]
Name: a; Description: A; Flags: checkablealone
Name: a\a; Description: A\A; Flags: dontinheritcheck
Name: a\b; Description: A\B; Flags: unchecked dontinheritcheck
Name: a\c; Description: A\C; Flags: unchecked dontinheritcheck

батник

Код: Выделить весь код
setup.exe /LoadInf=".\unattended.ini"

файл unattended.ini

Код: Выделить весь код
[Setup]
Components=a,a\b,a\c
Tasks=a,a\b,a\c


таким образом, можно ювелирно всё настроить.
Так же можно подсмотреть в ветке реестра
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\My Application_is1
Inno Setup: Selected Components
Inno Setup: Selected Tasks
и т.д.

аналогично без использования ini, будет выглядеть примерно так
Код: Выделить весь код
setup.exe /Components="a,a\b,a\c" /Tasks="a,a\b,a\c"
Ниже прикрутил архив.

Последний раз редактировалось Crazy Noise, 21-05-2013 в 17:02.

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

Отправлено: 16:50, 21-05-2013 | #508


Ветеран


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

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


Crazy Noise, еще можно реализовать проверку на присутствие файла с серийником, и если он есть, не создавать или пропускать страницу ввода(например при переустановке поверх).
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:58, 21-05-2013 | #509


Пользователь


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

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


saurn, И об этом я не подумал. Угадываешь мысли?
Пример можно? Не силён в таких мелочах.

-------
Login: Crazy Noise; Copyright ©2013, Crazy Noise.


Отправлено: 17:08, 21-05-2013 | #510



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 6]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59




 
Переход