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

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

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

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

Ветеран


Contributor


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


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

Профиль | Отправить 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] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]
Скрипты Inno Setup. Помощь и советы [часть 4]

Отправлено: 03:49, 21-05-2012

 

Аватара для audiofeel

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


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

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


здравствуйте, помогите - допустим (только допустим) есть фаилы общий размер которых превышает DVD5, нужно что бы они копировались как внешние (Flags: external overwritereadonly ignoreversion). а теперь сам вопрос - как заставить этот Inno Setup что бы он попросил поменять, ну или перевернуть диск

Отправлено: 11:04, 13-03-2013 | #1861



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

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


Аватара для Tco 03

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


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

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


audiofeel
Вот, когда-то, где-то нашёл вот такой скрипт.
читать дальше »
Код: Выделить весь код
Скрипт для установки архивов, записанных на двух DVD. На примере показано извлечение из 7z SFX-архивов.

[Setup]
AppName=My Program
AppVerName=My Program 1.5
DefaultDirName={pf}\My Program
OutputBaseFilename=setup
Compression=none
OutputDir=C:\Output
SolidCompression=no

[Files]
;На диске рядом с инсталлятором размещаем папку EmptyFiles, в которую помещаем "файлы-пустышки" игры.
;Сначала выполняется первый архив (последовательность AfterInstall должна быть такой)
Source: "{src}\EmptyFiles\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs external; AfterInstall: InstallFirstArchive
;А затем второй
Source: "{src}\EmptyFiles\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs external; AfterInstall: CheckSelectedDisk

[ Code]
//На странице установки отключаем подтверждающее сообщение (чтобы не было проблем с откатом)
procedure CancelButtonClick(CurPage: Integer; var Cancel, Confirm: Boolean);
begin
Cancel:=True;
If CurPage=12 then
begin
Confirm:=False;
end;
end;

//Устанавливаем первый 7z SFX (Pack1.exe) архив, находящийся на первом диске (рядом с инсталлятором)
//Никаких сообщений об ошибках и т.д. не применяем, т.к. вся ответственность должна лежать на распространителе
procedure InstallFirstArchive;
var
res:Integer;
s,s1:string;
begin
s:=ExpandConstant('{app}');
s1:=ExpandConstant('{src}')+'\Pack1.exe';
Exec(s1, '-y -o"'+ s + '"', '', SW_SHOWNORMAL, ewWaitUntilTerminated, Res);
end;

//Затем выводим соответствующее сообщение для вставки второго диска со вторым архивом
procedure CheckSelectedDisk;
var
res:Integer;
s,s2:string;
Confirm: Boolean;
begin
s:=ExpandConstant('{app}');
s2:=ExpandConstant('{src}')+'\Pack2.exe';
//Если второго архива рядом нету (мало ли, в будущем игра будет записана на двуслойном диске)
if not Exec(s2, '-y -o"'+ s + '"', '', SW_SHOWNORMAL, ewWaitUntilTerminated, Res) then
//то тогда выводим сообщение
case MsgBox('Для дальнейшей установки требуется файл '''+ s2 +'''!'#13#13 +
'Вставьте второй DVD, содержащий архив, и нажмите "OK".' #13#13 +
'Нажмите "Отмена", чтобы прекратить дальнейшую установку.', mbInformation, MB_OKCANCEL)
of IDCANCEL:
begin
//Выполняем откат действий при отмене
Confirm:=False;
WizardForm.CancelButton.OnClick(WizardForm.CancelButton);
end
IDOK:
begin
CheckSelectedDisk;
end;
end;
end;

Последний раз редактировалось Tco 03, 13-03-2013 в 12:15.

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

Отправлено: 12:05, 13-03-2013 | #1862


Ветеран


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

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


neorom

читать дальше »
Код: Выделить весь код
[Setup]
AppName=Microsoft® Windows® XP Ukrainian User Interface Pack
AppVerName=Microsoft® Windows® XP Ukrainian Multilingual User Interface Pack
AppPublisher=Music Mix Studio© & Records Company® 2006-2008
AppPublisherURL=http://winxp.org.ua
AppSupportURL=http://winxp.org.ua
AppUpdatesURL=http://winxp.org.ua
CreateAppDir=no
OutputBaseFilename=setup1
Compression=lzma
Uninstallable=no
PrivilegesRequired=none
DisableProgramGroupPage=yes
LicenseFile=embedded\License.txt
InfoBeforeFile=embedded\InfoBefore.txt
InfoAfterFile=embedded\InfoAfter.txt
WizardImageFile=embedded\WizardImage.bmp
WizardSmallImageFile=embedded\WizardSmallImage.bmp

[Files]
Source: {tmp}\*.*; DestDir: {tmp}\mui; Flags: ignoreversion;

[Run]
Filename: {tmp}\mui\muisetup_ru_sp2.exe; Parameters: /i 0422 /d 0422 /l /f /r /s; Components: sp2comp; Tasks: sp2;
Filename: {tmp}\mui\muisetup_ru_sp3.exe; Parameters: /i 0422 /d 0422 /l /f /r /s; Components: sp3comp; Tasks: sp3;
Filename: {tmp}\mui\muisetup_ru_sp2.exe; Components: sp2comp; Tasks: sp2m;
Filename: {tmp}\mui\muisetup_ru_sp3.exe; Components: sp3comp; Tasks: sp3m;
Filename: {tmp}\mui\wmp_8_mui.cmd; Tasks: mp8;
Filename: {tmp}\mui\wmp_9_mui.cmd; Tasks: mp9;
Filename: {tmp}\mui\wmp_10_mui.cmd; Tasks: mp10;
Filename: {tmp}\mui\wmp_11_mui.cmd; Tasks: mp11;

[Tasks]
Name: sp2; Description: Автоматичне встановлення (рекомендовано); GroupDescription: Виберіть режим встановлення; Components: sp2comp; Flags: exclusive;
Name: sp3; Description: Автоматичне встановлення (рекомендовано); GroupDescription: Виберіть режим встановлення; Components: sp3comp; Flags: exclusive;
Name: sp2m; Description: Ручне встановлення; GroupDescription: Виберіть режим встановлення; Components: sp2comp; Flags: exclusive unchecked;
Name: sp3m; Description: Ручне встановлення; GroupDescription: Виберіть режим встановлення; Components: sp3comp; Flags: exclusive unchecked;
Name: mp8; Description: 8; GroupDescription: Оберіть версію встановленого Медіа Програвача; Flags: exclusive unchecked;
Name: mp9; Description: 9; GroupDescription: Оберіть версію встановленого Медіа Програвача; Flags: exclusive unchecked;
Name: mp10; Description: 10; GroupDescription: Оберіть версію встановленого Медіа Програвача; Flags: exclusive;
Name: mp11; Description: 11; GroupDescription: Оберіть версію встановленого Медіа Програвача; Flags: exclusive unchecked;

[Components]
Name: sp2comp; Description: Service Pack 2; Types: sp2os;
Name: sp3comp; Description: Service Pack 3; Types: sp3os;

[Types]
Name: sp3os; Description: Service Pack 3;
Name: sp2os; Description: Service Pack 2;

[Languages]
Name: ukrainian; MessagesFile: compiler:Languages\Ukrainian.isl;
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:13, 13-03-2013 | #1863


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


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

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


saurn спасибо тебе, все за роботало !!!

Отправлено: 13:02, 13-03-2013 | #1864


Аватара для Tco 03

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


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

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


Господа, возможно ли при инсталляции программы удалить ключ реестра созданный другой программой? Ну что-то типа [InstallDelete] или каким-нибудь другим способом

Отправлено: 15:58, 13-03-2013 | #1865


Аватара для Mailchik

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


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

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


Tco 03,
Код: Выделить весь код
function RegDeleteKeyIncludingSubkeys(const RootKey: Integer; 
  const SubkeyName: String): Boolean; //-----удаляет ключ реестра включая подключи
function RegDeleteKeyIfEmpty(const RootKey: Integer; 
  const SubkeyName: String): Boolean; //-----удаляет ключ реестра, если он пустой
function RegDeleteValue(const RootKey: Integer; 
  const SubKeyName, ValueName: String): Boolean; //-----удаляет значение ключа реестра
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:21, 13-03-2013 | #1866


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


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

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


Как мне зделать скрипт чтоб после компиляции било єто Просьба привести пример скрипта.

Отправлено: 18:51, 13-03-2013 | #1867


Ветеран


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

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


Tco 03
Например, на этапе установки, так:

Код: Выделить весь код
procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssInstall then
  begin
    if RegKeyExists(HKLM, 'SOFTWARE\MyProgram') then  //поиск ключа
    begin
      RegDeleteKeyIncludingSubkeys(HKLM, 'SOFTWARE\MyProgram'); //если ключ найден, удаление ключа и всего, что в нем есть.
    end;
  end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:00, 13-03-2013 | #1868


Аватара для Tco 03

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


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

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


Цитата neorom:
Как мне зделать скрипт чтоб после компиляции било єто Просьба привести пример скрипта »
Это архивы созданные не Inno Setup, а другими архиваторами, например FreeArc

Отправлено: 19:34, 13-03-2013 | #1869


Новый участник


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

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


alert30, нет у меня есть уже скрипт и я не хотел бы его менять

Отправлено: 20:40, 13-03-2013 | #1870



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты 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
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход