Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup - создание инсталляционных пакетов (Часть 15)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

Открыть новую тему     Написать ответ в эту тему

TimKray

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"
//---Сюда вставлять include---\\
 #include "SHFileOperation.iss";
 
 
 
[Setup]
; Примечание: Значение AppId идентифицирует это приложение.
; Не используйте одно и тоже значение в разных установках.
; (Для генерации значения GUID, нажмите Инструменты | Генерация GUID.)
AppId={{FD7CFF3B-3C19-4FAE-A164-CA3A90B2C135}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
 
[Languages]
Name: "default"; MessagesFile: "compiler:Default.isl"
 
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
 
[Files]
Source: "D:\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion
; Примечание: Не используйте "Flags: ignoreversion" для системных файлов
 
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
 
[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent
 
[Code]
//---Сюда вставлять скрипт---\\
var
  BackupPage: TWizardPage;
  DeleteRadioButton, MoveRadioButton, NoneRadioButton: TNewRadioButton;
 
const
  BackupDescText =
    'Во избежание проблем совместимости и конфликтов между модификациями рекомендуется удалить уже установленные на данный момент в игровом клиенте.' #13#13 'Выберите необходимый пункт из представленных. При этом будет очищено содержимое папки "res_mods\0.8.11", удалена папка "res_mods\xvm" или созданы резервные копии Ваших файлов.';
  DeleteDescText =
    'Установщик удалит все файлы в папках.';
  MoveDescText =
    'Установщик сделает резервную копию всех файлов в папках.';
  NoneDescText =
    'Установщик оставит всё как есть.';
 
function BackupCheck_1(): Boolean;
var
  BackupDescLabel, DeleteDescLabel, MoveDescLabel, NoneDescLabel: TLabel;
begin
  BackupPage:=CreateCustomPage(wpWelcome, 'Создание резервных копий файлов перед установкой', 'Пожалуйста, прочтите следующую важную информацию перед тем, как продолжить.');
  BackupDescLabel:=TLabel.Create(WizardForm);
  BackupDescLabel.Parent:=BackupPage.Surface;
  BackupDescLabel.Left:=0;
  BackupDescLabel.Top:=0;
  BackupDescLabel.Width:=BackupPage.SurfaceWidth;
  BackupDescLabel.Height:=90;
  BackupDescLabel.AutoSize:=False;
  BackupDescLabel.Wordwrap:=True;
  BackupDescLabel.Caption:=BackupDescText;
 
  DeleteRadioButton:=TNewRadioButton.Create(WizardForm);
  DeleteRadioButton.Parent:=BackupPage.Surface;
  DeleteRadioButton.Checked:=False;
  DeleteRadioButton.Top:=95;
  DeleteRadioButton.Width:=BackupPage.SurfaceWidth;
  DeleteRadioButton.Font.Style:=[fsBold];
  DeleteRadioButton.Font.Size:=9;
  DeleteRadioButton.Caption:='Удалить файлы'
  DeleteDescLabel:=TLabel.Create(WizardForm);
  DeleteDescLabel.Parent:=BackupPage.Surface;
  DeleteDescLabel.Left:=18;
  DeleteDescLabel.Top:=DeleteRadioButton.Top + DeleteRadioButton.Height + 4;
  DeleteDescLabel.Width:=BackupPage.SurfaceWidth;
  DeleteDescLabel.Height:=40;
  DeleteDescLabel.AutoSize:=False;
  DeleteDescLabel.Wordwrap:=True;
  DeleteDescLabel.Caption:=DeleteDescText;
 
  MoveRadioButton:=TNewRadioButton.Create(WizardForm);
  MoveRadioButton.Parent:=BackupPage.Surface;
  MoveRadioButton.Checked:=True;
  MoveRadioButton.Top:=140;
  MoveRadioButton.Width:=BackupPage.SurfaceWidth;
  MoveRadioButton.Font.Style:=[fsBold];
  MoveRadioButton.Font.Size:=9;
  MoveRadioButton.Caption:='Сделать резервную копию файлов'
  MoveDescLabel:=TLabel.Create(WizardForm);
  MoveDescLabel.Parent:=BackupPage.Surface;
  MoveDescLabel.Left:=18;
  MoveDescLabel.Top:=MoveRadioButton.Top + MoveRadioButton.Height + 4;
  MoveDescLabel.Width:=BackupPage.SurfaceWidth;
  MoveDescLabel.Height:=40;
  MoveDescLabel.AutoSize:=False;
  MoveDescLabel.Wordwrap:=True;
  MoveDescLabel.Caption:=MoveDescText;
 
  NoneRadioButton:=TNewRadioButton.Create(WizardForm);
  NoneRadioButton.Parent:=BackupPage.Surface;
  NoneRadioButton.Checked:=False;
  NoneRadioButton.Top:=185;
  NoneRadioButton.Width:=BackupPage.SurfaceWidth;
  NoneRadioButton.Font.Style:=[fsBold];
  NoneRadioButton.Font.Size:=9;
  NoneRadioButton.Caption:='Ничего не трогать'
  NoneDescLabel:=TLabel.Create(WizardForm);
  NoneDescLabel.Parent:=BackupPage.Surface;
  NoneDescLabel.Left:=18;
  NoneDescLabel.Top:=NoneRadioButton.Top + NoneRadioButton.Height + 4;
  NoneDescLabel.Width:=BackupPage.SurfaceWidth;
  NoneDescLabel.Height:=40;
  NoneDescLabel.AutoSize:=False;
  NoneDescLabel.Wordwrap:=True;
  NoneDescLabel.Caption:=NoneDescText;
end;
 
function BackupCheck_2(): Boolean;
begin
  If DeleteRadioButton.Checked then
begin
  DelTree(ExpandConstant('{app}\res_mods\0.8.11'), True, True, True);
  DelTree(ExpandConstant('{app}\res_mods\xvm'), True, True, True);
  CreateDir(ExpandConstant('{app}\res_mods\0.8.11'));
end;
end;
 
function BackupCheck_3(): Boolean;
begin
  If MoveRadioButton.Checked then
begin
  MoveDir(ExpandConstant('{app}\res_mods\0.8.11\'),ExpandConstant('{app}\res_mods\backup\0.8.11'));
  MoveDir(ExpandConstant('{app}\res_mods\xvm\'),ExpandConstant('{app}\res_mods\backup\xvm'));
  CreateDir(ExpandConstant('{app}\res_mods\0.8.11'));
  DelTree(ExpandConstant('{app}\res_mods\xvm'), True, True, True);
end;
end;
 
procedure CurStepChanged(CurStep: TSetupStep);
begin
  If CurStep=ssInstall then
begin
  BackupCheck_2();
  BackupCheck_3();
end;
end;
 
procedure InitializeWizard();
begin
  BackupCheck_1();
end;

Всего записей: 2 | Зарегистр. 24-12-2015 | Отправлено: 12:52 04-01-2016
Открыть новую тему     Написать ответ в эту тему

На первую страницук этому сообщениюк последнему сообщению

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup - создание инсталляционных пакетов (Часть 15)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru