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

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

Закрытая тема
Настройки темы
[архив] Inno Setup .:[все вопросы]:.

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


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

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


Изменения
Автор: volk1234
Дата: 27-08-2009
Описание: перевел в архив
Лимит страниц.
Тема закрыта.
продолжаем тут:

Inno Setup. Обсуждение установщика

Скрипты Inno Setup. Помощь и советы



Полезные ресурсы:
Официальный сайт| Inno Setup 5.2.3 RU
Русская справка |Зеракало 1| Зеракало 2
ISTool 5.30 |Русификатор
Русификатор ISTool |Зеркало 1|Зеркало 2
Inno Setup Script Generator |Зеркало 1
Unpaker 2.1 от 21.04.2009 - распаковывает инсталляторы, созданные с помощью Inno Setup, начиная с версии 2.0.18 по 5.2.4.
InnoUnpaker 2.6b3 [от valeron87]- можнет просмотривать содержание CompiledCode.bin
Unpaker 0.23 - расширенная китайская версия 2008-08-08 ( модификация)
Unpacker 0.24 | Зеркало 1 | Зеркало 2 - Inno Setup Unpacker (innounp plus) - расширенная версия распаковщика инсталляторов Inno Setup начиная с версии 2.0.8 по 5.3.0 Beta. Поддерживаются версии Unicode. Русифицирована. Последний релиз: 0.24 [23.05.2009]
Набор Restools
Restools - расширенная версия Inno Setup от китайских разработчиков, добавляет вашему инсталлятору новые возможности по оформлению, а также более удобный редактор скриптов (требуется наличие установленного Preprocessor'а).
Последние версии разработок от Restools:
InnoCompiler090319_English - в него входят файлы: Compil32.exe и Templates.dat;
Inno_ISCmplr_Setup090302 - в него входят файлы, лучше из папки InnoSetup_FullVCL: setup.e32, ISCmplr.dls, ISCmplr.dll и SetupLdr.e32.
InnoCompiler090319_Russian - Русский перевод (80%) от tem000 - NEW !

QuickStart Pack - Inno Setup + Preprocessor (последняя версия ispack-5.2.4-dev)
"Всё в одном" от unikum111
читать дальше »

Цитата unikum111:
В сборку входят следующие компоненты:
Inno Setup compiler 5.2.2 русская версия;
ISTool 5.2.1 русская версия;
Inno Script Generator английская версия;
Inno Setup Unpacker Explorer 1.0 аглийская версия;
Примечание: в Inno Setup Unpacker Explorer 1.0 заменён innounp.exe на тестовую версию 2.0, так что распаковывает инсталляторы вплоть до версии 5.2.2.
Есть возможность выбора компонентов.
Скачать: ifolder, RapidShare, iBox (Размер: 5.34 Mb).»



Полезные мелочи для Inno Setup:

- Converter v.0.1.2 - конвертор REG- файлов в формат скриптов Inno от Serega_ -новая версия
- Как убрать страницу приветствия (wpWelcome) в мастере установки приложения:
- Примеры скриптов на паскале
- Inno Setup Addon 0.07 For Total Commander
- Параметры командной строки инсталляторов InnoSetup:

Код: Выделить весь код
/SP-
Отключает страницу "Эта программа установит... Вы хотите продолжить?" инсталятора. 
Выполнится только если DisableStartupPrompt секции [Setup] равна yes. 

/SILENT, /VERYSILENT  
Установка в ускоренном или очень ускоренном режиме. При установке в ускоренном режиме 
окно мастера и фоновое окно мастера не отображаются, отображается только окно прогресса. 
При очень ускоренной установке окно прогресса тоже не отображается. Остальная установка 
проходит как обычно - отображаются сообщения об ошибках в ходе установки, страница 
приветствия (если ее отображение не отменено директивой DisableStartupPrompt или 
параметром '/SP-' командной строки).

Если после установки необходима перезагрузка, команды '/NORESTART' не дано и установка 
проходит в ускоренном режиме, появится сообщение "Перезагрузить компьютер?". Если режим 
установки очень ускоренный, система перезагрузится не спрашивая.

/LOG 
Указывает инсталятору создать log-файл в папке TEMP для подробного отчета о действиях 
и событиях в секции [Run], предпринятых в ходе установки. Применяется при отслеживании 
ошибок. Например, если вы подозреваете, что файл не был удален, хотя должен был, 
log-файл сообщит, что файл былдействительно пропущен и почему. 

log-файлу присваивается уникальное имя на базе текущей даты. (Существующие файлы не 
перезаписываются и не дополняются). 
Информация, содержащаяся в log-файле, техническая и поэтому не может быть понята 
пользователем. 

/LOG="filename" 
Параметр похож на /LOG, но в отличие от него позволяет указать фиксированный
путь/имя файла для log-файла. Если файл с указанным именем уже существует, он будет 
заменен. Если файл не может быть создан, установка прервется и выдаст сообщение 
об ошибке.

/NOCANCEL  
Не дает пользователю прервать установку, отключая кнопку Отменить и игнорируя клики на 
кнопке Закрыть. Используется в комбинации с '/SILENT' или '/VERYSILENT'. 

/NORESTART 
Указывает инсталятору не перезагружать компьютер даже если это необходимо. 

/RESTARTEXITCODE=exit code  
Задает инсталятору код, который он должен возвратить, если необходима перезагрузка. 
Используется с '/NORESTART'.
См. также Коды выхода инсталятора. (кому интерестно, могу выложить или же доступно в хелпе)

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

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

/LANG=language 
Задает используемый язык. language задает имя языка, заданного в параметре секции 
[Languages]. При использовании параметра /LANG появляется диалог Выбор языка установки.

/DIR="x:\dirname" 
Меняет имя папки, заданное по умолчанию, на странице Выбор папки назначения. 
Должен быть задан полный путь. 

/GROUP="folder name" 
Меняет имя папки на странице Выбор папки меню Пуск. Если директива 
DisableProgramGroupPage секции [Setup] равна yes, этот параметр командной строки 
игнорируется. 

/NOICONS 
Указывает инсталятору проверять, выбрана ли команда Не создавать значков на странице 
Выбор папки меню Пуск. 

/COMPONENTS="comma separated list of component names" 
Меняет выбраные по умолчанию компоненты. В этом случае параметр командной строки 
указывает инсталятору менять тип установки на Выборочный. 

/PASSWORD=password  Задает пароль. Если не указана директива Password секции [Setup], 
этот параметр игнорируется. Если введен неправильный пароль, параметр 
также игнорируется.

Отправлено: 21:42, 17-03-2005

 

Аватара для RedBishep

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


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

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


Цитата Drongo:
Я бы тоже не отказался узнать на него ответ. »
\

Спасибо Большое ))

Отправлено: 23:54, 06-05-2009 | #701



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

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


Ветеран


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

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


Цитата RedBishep:
посредине установке игры идёт распаковка(Extracting) »
Цитата Drongo:
Я бы тоже не отказался узнать на него ответ. »
Пример со вторым прогрессбаром
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Languages]
Name: rus; MessagesFile: compiler:\Languages\Russian.isl

[Files]
; 7z SFX архивы
Source: Project1.exe; DestDir: {app}; AfterInstall: Unpack(ExpandConstant('{app}\Project1.exe')); Flags: ignoreversion
Source: Project2.exe; DestDir: {app}; AfterInstall: Unpack(ExpandConstant('{app}\Project2.exe')); Flags: ignoreversion

[_Code]
var
  ProgressBar: TNewProgressBar;

procedure InitializeWizard();
begin
  // создаём второй прогрессбар
  ProgressBar := TNewProgressBar.Create(WizardForm);
  with ProgressBar do begin
    Parent := WizardForm.InstallingPage;
    Left := WizardForm.ProgressGauge.Left;
    Top := WizardForm.ProgressGauge.Top + WizardForm.ProgressGauge.Height + 15;
    Width := WizardForm.ProgressGauge.Width;
    Height := WizardForm.ProgressGauge.Height;
{ указываем на сколько секций разбить прогрессбар, в данном случае у нас 2 архива, вот и делим его на 2 части }
    Max := 2; //задается по количеству файлов имеющих AfterInstall: Unpack(... )
  end;
end;

procedure Unpack(Name: string);
var
  res: Integer;
begin
  WizardForm.StatusLabel.Caption:= 'Распаковка архива, ждите...';
  Exec(Name, ' -y', '', SW_HIDE, ewWaitUntilTerminated, res);
  DeleteFile(Name); // удаляем архив
  WizardForm.ProgressGauge.Position:= WizardForm.ProgressGauge.Position + 1; // двигаем второй прогрессбар
  ProgressBar.Position := ProgressBar.Position + 1; // двигаем родной прогрессбар
  WizardForm.StatusLabel.Caption:= WizardForm.StatusLabel.Caption;
end;

Пример с диалоговым окном Extracting

Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Languages]
Name: rus; MessagesFile: compiler:\Languages\Russian.isl

[Files]
; 7z SFX архивы
Source: Project1.exe; DestDir: {app}; AfterInstall: Unpack(ExpandConstant('{app}\Project1.exe')); Flags: ignoreversion
Source: Project2.exe; DestDir: {app}; AfterInstall: Unpack(ExpandConstant('{app}\Project2.exe')); Flags: ignoreversion

[_Code]
procedure Unpack(Name: string);
var
  res: Integer;
begin
  Exec(Name, ' -y', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res);
  DeleteFile(Name); // удаляем архив
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

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

Отправлено: 01:07, 07-05-2009 | #702


Аватара для RedBishep

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


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

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


Цитата Drongo:
Одним сплошным файлом это сделать не получится, придётся только "бить" на части .bin. В секцию Setup добавь строки, которые выделены зелёным цветом »
Я сделал как ты сказал всё получилось,но есть одна маленькая проблема )
Когда я сделал Инсталлер он почему-то весил 5гб, хотя сама игра распакованная весила тоже 5гб
В чём может быть причина ?

Вот код может я что-то не то намудрил )))


Код: Выделить весь код
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
DiskSpanning=yes
SlicesPerDisk=1
DiskSliceSize=2100000000
DiskClusterSize=4096
ReserveBytes=0
AppId={{005F1D67-F860-4CEE-A7C5-020BB495A8B1}
AppName=Call Of Duty 4
AppVerName=Call Of Duty 4 MW
AppPublisher=RedBishep
DefaultDirName={pf}\Call Of Duty 4
DefaultGroupName=Call Of Duty 4
AllowNoIcons=yes
OutputDir=C:\Documents and Settings\Кнопка\Рабочий стол
OutputBaseFilename=setup
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "D:\Games\COD4\Call Of Duty SP.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\Games\COD4\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\Call Of Duty 4"; Filename: "{app}\Call Of Duty SP.exe"
Name: "{group}\{cm:UninstallProgram,Call Of Duty 4}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\Call Of Duty 4"; Filename: "{app}\Call Of Duty SP.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Call Of Duty 4"; Filename: "{app}\Call Of Duty SP.exe"; Tasks: quicklaunchicon

[Run]
Filename: "{app}\Call Of Duty SP.exe"; Description: "{cm:LaunchProgram,Call Of Duty 4}"; Flags: nowait postinstall skipifsilent

Последний раз редактировалось RedBishep, 08-05-2009 в 15:18. Причина: Ошибка


Отправлено: 15:14, 08-05-2009 | #703


Аватара для Drongo

Будем жить, Маэстро...


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

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


Думаю, эта строка лишняя
Цитата RedBishep:
...
InternalCompressLevel=ultra
...»
Но дождитесь вердикта Serega_. Сам сделал бы так как привык:

Результат

Код: Выделить весь код
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{005F1D67-F860-4CEE-A7C5-020BB495A8B1}
AppName=Call Of Duty 4
AppVerName=Call Of Duty 4 MW
AppPublisher=RedBishep
DefaultDirName={pf}\Call Of Duty 4
DefaultGroupName=Call Of Duty 4
AllowNoIcons=yes
OutputDir=C:\Documents and Settings\Кнопка\Рабочий стол
OutputBaseFilename=Call of Duty IV
Compression=lzma/ultra
DiskSpanning=yes
SlicesPerDisk=1
DiskSliceSize=2100000000
DiskClusterSize=4096
ReserveBytes=0
SolidCompression=yes

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "D:\Games\COD4\Call Of Duty SP.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\Games\COD4\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\Call Of Duty 4"; Filename: "{app}\Call Of Duty SP.exe"
Name: "{group}\{cm:UninstallProgram,Call Of Duty 4}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\Call Of Duty 4"; Filename: "{app}\Call Of Duty SP.exe"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\Call Of Duty 4"; Filename: "{app}\Call Of Duty SP.exe"; Tasks: quicklaunchicon

[Run]
Filename: "{app}\Call Of Duty SP.exe"; Description: "{cm:LaunchProgram,Call Of Duty 4}"; Flags: nowait postinstall skipifsilent

Отличий нет, но я не думаю, что игра может быть сжата лучше и меньше 5 ГБ. У неё трудносжимаемые файлы. 5 ГБ это хорошо, хотя если бы сжалось на 600-700 МБ можно было бы втулить на один DVD диск 4.5. Здесь - Комментарий 10 я подсчитывал на сколько запакованных ГБ идёт выигрыш...
Цитата Drongo:
Выигрыш составил на запакованные 2 ГБ -> 80 МБ »
В вашем случае, выигрыш должен быть, видимо около 200 МБ.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 16:40, 08-05-2009 | #704


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


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

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


RedBishep, попробуйте заменить соответствующие строки на эти:
Compression=lzma/ultra64
InternalCompressLevel=ultra64

Отправлено: 16:43, 08-05-2009 | #705


Аватара для Drongo

Будем жить, Маэстро...


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

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


Цитата BlackSelf:
попробуйте заменить соответствующие строки на эти:
Код: Выделить весь код
Compression=lzma/ultra64
InternalCompressLevel=ultra64
»
Не думаю, что это даст ощутимый прирост.

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 17:59, 08-05-2009 | #706


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


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

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


Drongo, просто предложил.
RedBishep, если прироста нет, то посмотри, что в игре за файлы. Может тебе понизать битрейт у видео. Или, если там есть паки, распаковать их, сжать фриарком, а во время установки распаковать архивы и засунуть обратно в пак.
В своё время репак на CoD 4 MW делал cdman. Но он там ничего не пережимал (в плане видео и звука), но время установки было больше часа. Обычно он пользуется precomp + freearc. Отталкивайся от этого.

Отправлено: 18:31, 08-05-2009 | #707


Ветеран


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

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


Цитата RedBishep:
Когда я сделал Инсталлер он почему-то весил 5гб, хотя сама игра распакованная весила тоже 5гб »
Исходя из вашего скрипта, такого не может быть... В вашем скрипте есть главные строки, указывающие на сжатие:
Код: Выделить весь код
................
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
...............
Как говорят - Неверю...
Цитата Drongo:
Думаю, эта строка лишняя »
Это нужная строчка... т.е. значение по умолчанию - normal. Хотя в справке:
Цитата из Справки:
Здесь указывается уровень LZMA сжатия. Нет смысла менять его со значения по умолчанию.
Здесь мы задаём сжатие не normal, а ultra, что жмёт гороздо лучше...
Цитата BlackSelf:
попробуйте заменить соответствующие строки на эти: »
Всё правильно, сжатие лучше, но и памяти ест больше... у меня при больших сборках выскакивает ошибка, что не хватает памяти, а у меня компьютер не такой уж и слабый...

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

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

Отправлено: 20:24, 08-05-2009 | #708


Аватара для Drongo

Будем жить, Маэстро...


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

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


Код: Выделить весь код
...
Compression=lzma/ultra
...
Тоесть если мой скрипт будет содержать только одну строку вместо
Код: Выделить весь код
Compression=lzma/ultra
InternalCompressLevel=ultra
То формально получается так:
Код: Выделить весь код
Compression=lzma/ultra
InternalCompressLevel=normal
Так?

-------
Правильная постановка вопроса свидетельствует о некотором знакомстве с делом.
3нание бывает двух видов. Мы сами знаем предмет — или же знаем, где найти о нём сведения.
[Quick Killer 3.0 Final [OSZone.net]] | [Quick Killer 3.0 Final [SafeZone.cc]] | [Парсер логов Gmer] | [Парсер логов AVZ]

http://tools.oszone.net/Drongo/Userbar/SafeZone_cc.gif


Отправлено: 20:52, 08-05-2009 | #709


Ветеран


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

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


Drongo, прежде всего извиняюсь, за не совсем исчерпывающий и не точный ответ...
InternalCompressLevel - мы задаём уровень сжатия, т.е. если указано просто:
Код: Выделить весь код
Compression=lzma
если не указать InternalCompressLevel=ultra, то по умолчанию, будет InternalCompressLevel=normal
Это всё можно указать и в одной строке, т.е.:
Код: Выделить весь код
Compression=lzma/ultra
мы сразу указываем сжатие и уровень его, хотя использование при этом строки InternalCompressLevel, не является ошибкой, а получается своего рода дубль...

P.S.
Всё выше сказанное, это теория, хотя в сборках, я всегда использую связку:
Код: Выделить весь код
................
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
...............
и обратил внимание, что при использовании дополнительной строки InternalCompressLevel=ultra, не просто дублирует, а улучшает сжатие, т.е. размер получается немного меньше... из-за чего, не знаю...

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

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

Отправлено: 21:55, 08-05-2009 | #710



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Inno Setup. Прочие вопросы El Sanchez Автоматическая установка приложений 653 09-01-2023 20:13
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
[Архив] Твики реестра .: [все вопросы] :. Vadikan Автоматическая установка Windows 2000/XP/2003 1431 26-01-2008 08:51
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход