Create site free
Inno Setup (создание инсталяционных пакетов) - Программное обеспечение - Компьютеры, телекоммуникации, ПО... - Форум
 

Страница 1 из 11
Форум » Компьютеры, телекоммуникации, ПО... » Программное обеспечение » Inno Setup (создание инсталяционных пакетов)
Inno Setup (создание инсталяционных пакетов)
Vovich Дата: Воскресенье, 25.04.2010, 20:26 | Сообщение # 1
Люблю и это здорово!
Группа: Администраторы
ICQ: 380341657
Сообщений: 1010
Статус: Offline


;Знак ; означает,что эта строка информационная и не будет задействована в компиляции.

[Setup]
;Основные директивы секции можно задать с помощью мастера,встроенного в программу.

AppName=MyMod
;Название мода.

AppVerName=MyMod версия 1.4
;Версия мода.Обязательно должна иметь значение AppName и номер версии.

DefaultDirName={pf}
;Выбор пути установки через "Обзор".В данном случае по умолчанию будет предложено установить программу в Program Files.Константа {pf}.
;Может иметь вид DefaultDirName={pf}\MyMod.

DefaultGroupName=MyMod
;Директива,которая определяет имя группы меню Пуск по умолчанию.

OutputDir=C:\Documents and Settings\user\Рабочий стол
;Куда будет помещен скомпилированный инсталлятор.

OutputBaseFilename=MyMod версия 1.4
;Задаётся имя получаемого инсталлятора.

Compression=lzma
;Метод сжатия.

SolidCompression=yes
;Уплотненное сжатие.

AppendDefaultDirName=no
;При значении yes,при выборе пути установки через "Обзор" автоматически добавляется папка с именем взятым из DefaultDirName.
;Например (при значении yes) DefaultDirName={pf}\MyMod,при выборе в "Обзоре" D:\Games получаем D:\Games\MyMod.

DirExistsWarning=no
;При значении yes инсталлятор всегда будет выдавать сообщение "Папка: … уже существует."Вы хотите продолжить установку в эту папку?" при попытке установки в существующую папку.

ShowComponentSizes=yes
;При значении yes будет показываться размер компонентов в списке выбора компонентов.

InfoBeforeFile="C:\Documents and Settings\User\Рабочий стол\Папка с файлами для инсталляции\MyInfoBefore.txt"
;В этом текстовике можете поместить нужную для устоновки информацию... .
;Будет отображаться перед страницей выбора папки установки в окне инсталлятора.
;Файл MyInfoBefore.txt связан с секцией [Files].

[Languages]
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"
;Выбор языка.Без этой секции,язык интерфейса мастера установки будет английский.

[Files]
Source: "C:\Documents and Settings\User\Рабочий стол\Папка с файлами для инсталляции\MyInfoBefore.txt"; DestDir: "{app}"
;Source: Полный путь,откуда берётся файл для компиляции.
;DestDir: Куда должен установиться файл в системе пользователя.
;Константа "{app}" означает,что папка,куда должен установиться файл выбирается пользователем в окне выбора папки назначения.
;В данном примере константе "{app}" будет присвоено значение "D:\Games\SEGA\Medieval II Total War"(D:-диск пользователя,где установлена игра).

Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\data\*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs overwritereadonly
;Знак * означает,что из папки \data\ берутся все файлы.
;Flags: ignoreversion Установить файл,который уже установлен в системе пользователя.Перемещает существующие файлы,не обращая внимание на номера версий.
;Flags: recursesubdirs Указывает искать файлы с тем же именем в подпапках папки,указанной в параметре Source.
;Flags: overwritereadonly Всегда перезаписывает файл с отметкой "только для чтения".
;Все флаги подробно описаны в хелпе,который идёт с программой.

Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\MyMod\*"; DestDir: "{app}\MyMod"; Flags: ignoreversion recursesubdirs overwritereadonly
Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\MyMod.cfg"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\export_descr_buildings.txt"; Components: A; DestDir: "{app}\MyMod\data\"; Flags: ignoreversion recursesubdirs overwritereadonly
Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\descr_strat.txt"; Components: A; DestDir: "{app}\MyMod\data\world\maps\campaign\imperial_campaign\"; Flags: ignoreversion recursesubdirs overwritereadonly
Source: "C:\Documents and Settings\user\Рабочий стол\Папка с файлами для инсталляции\export_descr_unit.txt"; Components: A; DestDir: "{app}\MyMod\data\"; Flags: ignoreversion recursesubdirs overwritereadonly
;Компоненты,которые пользователь может установить на выбор.В данном случае все три файла принадлежат одному компоненту А,который описан в секции [Components].

[Icons]
Name: {userdesktop}\MyMod.exe; Filename: "{app}\medieval2.exe"; Parameters: " @MyMod.cfg"; WorkingDir: "{app}"; Tasks: DesktopIcon
;Name: Имя и расположение создаваемого ярлыка.В данном примере ярлык MyMod.exe будет помещен на рабочем столе,константа{userdesktop}.В свойствах ярлыка получаем "D:\Games\SEGA\Medieval II Total War\medieval2.exe" @MyMod.cfg
;Filename: Полный путь к файлу, на который указывает ярлык.
;Parameters: Параметры командной строки для ярлыка.
;WorkingDir: Папка,из которой запускается программа.
;Tasks: Вызывает задание,описанное в секции [Tasks].

Name: {userdesktop}\Удалить MyMod.exe; Filename: "{app}\unins000.exe"; WorkingDir: "{app}"; Tasks: DesktopIcon

[Tasks]
Name: src; Description: "Сохранить оригинальные файлы игры"; Flags: exclusive
;Делаем Backup через секцию [Code].
;Description: Описание компонента.
;Flags: exclusive Пользователь не сможет отменить выбор этого пункта.

Name: "DesktopIcon"; Description: "Создать ярлык MyMod на рабочем столе"; Flags: unchecked
Name: "DesktopIcon"; Description: "Создать ярлык удалить MyMod на рабочем столе"; Flags: unchecked
;Flags: unchecked По умолчанию компонент не будет выбран(галочка снята).

[Types]
;Секция определяет типы установки.
Name: "viborochnaya"; Description: "Выбрать компоненты"; Flags: iscustom
;Flags: iscustom Указывает инсталятору,что тип является выборочным.

[Components]
Name: "A"; Description: "Обычные цены на строительство и юнитов"; Types: viborochnaya

[Code]
function MoveFile(const srcFile, destFile: PChar): Integer;
external 'MoveFileA@kernel32.dll stdcall';

procedure CreateBackup;
var
srcFile, destFile: string;
basePath, shortPath: string;
begin
if IsTaskSelected('src') then
begin
basePath := ExpandConstant('{app}');
srcFile := ExpandConstant(CurrentFileName);
shortPath := srcFile;
StringChangeEx(shortPath, basePath, '', True);
destFile := ExpandConstant('{app}\Backup') + shortPath;
ForceDirectories(ExtractFilePath(destFile));
MoveFile(PChar(srcFile), PChar(destFile));
end;
end;



 
Форум » Компьютеры, телекоммуникации, ПО... » Программное обеспечение » Inno Setup (создание инсталяционных пакетов)
Страница 1 из 11
Поиск: