Inno Setup (создание инсталяционных пакетов)

Статус
В этой теме нельзя размещать новые ответы.

vint56

Ветеран
Проверенный
LMFAO
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Types]
Name: full; Description: Full installation; Flags: iscustom

[Components]
Name: text; Description: Язык субтитров; Types: full; Flags: fixed
Name: text\rus; Description: Русский; Flags: exclusive
Name: text\eng; Description: Английский; Flags: exclusive
Name: voice; Description: Язык озвучки; Types: full; Flags: fixed
Name: voice\rus; Description: Русский; Flags: exclusive
Name: voice\eng; Description: Английский; Flags: exclusive

[Files]
; Это пример с папками русификатора текста и звука
Source: "textrus\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: text\rus
Source: "texteng\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: text\eng
Source: "voicerus\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: voice\rus
Source: "voiceeng\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: voice\eng
; Это пример с файлами русификатора текста и звука
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-ru.lng; DestDir: {app}; Components: text\rus
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-en.lng; DestDir: {app}; Components: text\eng
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-ru.lng; DestDir: {app}; Components: voice\rus
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-en.lng; DestDir: {app}; Components: voice\eng

[Types]
Name: full; Description: Full installation; Flags: iscustom

[Components]
Name: text; Description: Язык субтитров; Types: full; Flags: fixed
Name: text\rus; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 100000000
Name: text\eng; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 200000000
Name: voice; Description: Язык озвучки; Types: full; Flags: fixed 3 компонентом
Name: voice\rus; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 500000000
Name: voice\eng; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 600000000

// Подготавливаем переменную, содержащую всю информацию о выделенных компонентах для ISDone.dll
// максимум 96 компонентов.
Comps1:=0; Comps2:=0; Comps3:=0;
#ifdef Components
TmpValue:=1;
if IsComponentSelected('text\rus') then Comps1:=Comps1+TmpValue; //компонент 1
TmpValue:=TmpValue*2;
if IsComponentSelected('text\eng') then Comps1:=Comps1+TmpValue; //компонент 2
TmpValue:=TmpValue*2;
if IsComponentSelected('voice\rus') then Comps1:=Comps1+TmpValue; //компонент 3
TmpValue:=TmpValue*2;
if IsComponentSelected('voice\eng') then Comps1:=Comps1+TmpValue; //компонент 4

if not ISArcExtract ( 1, 0, ExpandConstant('{src}\textrus.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 2, 0, ExpandConstant('{src}\texteng.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 3, 0, ExpandConstant('{src}\voicerus.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 4, 0, ExpandConstant('{src}\voiceeng.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
 
Последнее редактирование:

Leserg

Участник
Русификатор Inno Setup v5.5.4 (ANSI/Unicode): скачать.
Переведен только компилятор Inno - файл Compil32.exe. Перевод выполнен на уровне исходного кода, после чего файл был собран в среде Delphi3/Delphi 2009.
Русификатор сделан в виде патча. Установка возможна только на оригинальные версии программы. При необходимости русификатор можно удалить (через соответствующий ярлык в меню Пуск -> Программы -> Inno Setup 5 -> Удалить русификацию). При этом будет восстановлен оригинальный файл программы.

Для тех, кто не хочет возиться с установкой, держите архив с файлом Compil32.exe, соответственно ANSI и Unicode версии: скачать.
Распакуйте архив и поместите файл Compil32.exe, согласно версии, в каталог с установленной программой. Не забудьте перед заменой оригинального файла программы сделать его резервную копию на случай, если по каким-то причинам локализованная версия вам не подойдёт.
 
Последнее редактирование:

Devils Night

Ветеран

sergey3695

Ветеран
Модератор
DICI BF,
или отсюда выберишь что понравится или в фак посмотри. там подобный пример есть. (ну действительно,можно было бы там сначала посмотреть)
Код:
procedure InitializeWizard();
begin
WizardForm.BorderStyle := bsDialog; //
// bsNone (без рамки),bsSingle (стандарт),bsSizeable (побольше стандарта),
// bsDialog (только закрыть), bsToolWindow (только закрыть с некрасивой кнопкой),
// bsSizeToolWin (побольше стандарта и только закрыть с некрасивой кнопкой)
//WizardForm.BorderIcons:=[]; - если поставить только это,то только рамка вверху
//(ну и в скобках там управление кнопками (свернуть,развернуть,закрыть)
end;
 

XLASER

Новичок
Народ подскажите как с этим бороться?



Это происходит при удаления игры.
 

vint56

Ветеран
Проверенный
LMFAO
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Types]
Name: full; Description: Full installation; Flags: iscustom

[Components]
Name: text; Description: Язык субтитров; Types: full; Flags: fixed
Name: text\rus; Description: Русский; Flags: exclusive
Name: text\eng; Description: Английский; Flags: exclusive
Name: voice; Description: Язык озвучки; Types: full; Flags: fixed
Name: voice\rus; Description: Русский; Flags: exclusive
Name: voice\eng; Description: Английский; Flags: exclusive

[Files]
; Это пример с папками русификатора текста и звука
Source: "textrus\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: text\rus
Source: "texteng\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: text\eng
Source: "voicerus\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: voice\rus
Source: "voiceeng\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: voice\eng
; Это пример с файлами русификатора текста и звука
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-ru.lng; DestDir: {app}; Components: text\rus
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-en.lng; DestDir: {app}; Components: text\eng
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-ru.lng; DestDir: {app}; Components: voice\rus
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-en.lng; DestDir: {app}; Components: voice\eng

[Types]
Name: full; Description: Full installation; Flags: iscustom

[Components]
Name: text; Description: Язык субтитров; Types: full; Flags: fixed
Name: text\rus; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 100000000
Name: text\eng; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 200000000
Name: voice; Description: Язык озвучки; Types: full; Flags: fixed 3 компонентом
Name: voice\rus; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 500000000
Name: voice\eng; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 600000000

// Подготавливаем переменную, содержащую всю информацию о выделенных компонентах для ISDone.dll
// максимум 96 компонентов.
Comps1:=0; Comps2:=0; Comps3:=0;
#ifdef Components
TmpValue:=1;
if IsComponentSelected('text\rus') then Comps1:=Comps1+TmpValue; //компонент 1
TmpValue:=TmpValue*2;
if IsComponentSelected('text\eng') then Comps1:=Comps1+TmpValue; //компонент 2
TmpValue:=TmpValue*2;
if IsComponentSelected('voice\rus') then Comps1:=Comps1+TmpValue; //компонент 3
TmpValue:=TmpValue*2;
if IsComponentSelected('voice\eng') then Comps1:=Comps1+TmpValue; //компонент 4

if not ISArcExtract ( 1, 0, ExpandConstant('{src}\textrus.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 2, 0, ExpandConstant('{src}\texteng.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 3, 0, ExpandConstant('{src}\voicerus.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 4, 0, ExpandConstant('{src}\voiceeng.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
 

LMFAO

Новичок
LMFAO
[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Types]
Name: full; Description: Full installation; Flags: iscustom

[Components]
Name: text; Description: Язык субтитров; Types: full; Flags: fixed
Name: text\rus; Description: Русский; Flags: exclusive
Name: text\eng; Description: Английский; Flags: exclusive
Name: voice; Description: Язык озвучки; Types: full; Flags: fixed
Name: voice\rus; Description: Русский; Flags: exclusive
Name: voice\eng; Description: Английский; Flags: exclusive

[Files]
; Это пример с папками русификатора текста и звука
Source: "textrus\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: text\rus
Source: "texteng\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: text\eng
Source: "voicerus\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: voice\rus
Source: "voiceeng\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: voice\eng
; Это пример с файлами русификатора текста и звука
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-ru.lng; DestDir: {app}; Components: text\rus
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-en.lng; DestDir: {app}; Components: text\eng
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-ru.lng; DestDir: {app}; Components: voice\rus
Source: C:\Program Files (x86)\Inno Setup 5\IS_Tool\istool-en.lng; DestDir: {app}; Components: voice\eng

[Types]
Name: full; Description: Full installation; Flags: iscustom

[Components]
Name: text; Description: Язык субтитров; Types: full; Flags: fixed
Name: text\rus; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 100000000
Name: text\eng; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 200000000
Name: voice; Description: Язык озвучки; Types: full; Flags: fixed 3 компонентом
Name: voice\rus; Description: Русский; Flags: exclusive; ExtraDiskSpaceRequired: 500000000
Name: voice\eng; Description: Английский; Flags: exclusive; ExtraDiskSpaceRequired: 600000000

// Подготавливаем переменную, содержащую всю информацию о выделенных компонентах для ISDone.dll
// максимум 96 компонентов.
Comps1:=0; Comps2:=0; Comps3:=0;
#ifdef Components
TmpValue:=1;
if IsComponentSelected('text\rus') then Comps1:=Comps1+TmpValue; //компонент 1
TmpValue:=TmpValue*2;
if IsComponentSelected('text\eng') then Comps1:=Comps1+TmpValue; //компонент 2
TmpValue:=TmpValue*2;
if IsComponentSelected('voice\rus') then Comps1:=Comps1+TmpValue; //компонент 3
TmpValue:=TmpValue*2;
if IsComponentSelected('voice\eng') then Comps1:=Comps1+TmpValue; //компонент 4

if not ISArcExtract ( 1, 0, ExpandConstant('{src}\textrus.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 2, 0, ExpandConstant('{src}\texteng.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 3, 0, ExpandConstant('{src}\voicerus.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
if not ISArcExtract ( 4, 0, ExpandConstant('{src}\voiceeng.arc'), ExpandConstant('{app}'), '', false, '', '', ExpandConstant('{app}'), notPCFonFLY {PCFonFLY}) then break;
Спасибо! У меня еще вопрос. Во втором способе, как сделать так, чтобы когда в инсталле выбрал к примеру русский язык, оно его и распаковывало? Потому, что у меня распаковывает файлы обеих языков
 

vint56

Ветеран
Проверенный
LMFAO с начало будет распаковка 2 папок с языками когда идёт прогон он распаковывает все потом он создаст файл records.inf в нем будет проценты и компоненты потом чтобы добавить это файл в свой проэкт надо раскаментировать строчку #define records тогда будут работать правельно проценты и компоненты
 

LMFAO

Новичок
LMFAO с начало будет распаковка 2 папок с языками когда идёт прогон он распаковывает все потом он создаст файл records.inf в нем будет проценты и компоненты потом чтобы добавить это файл в свой проэкт надо раскаментировать строчку #define records тогда будут работать правельно проценты и компоненты
Спасибо, со вторым способом полностью разобрался. Проверил, и все работает)
Можно теперь поподробней о первом?:-[
 

ilzok17

Новичок
Всем добрый вечер.Подскажите в чём проблема: в IsFlash [0.0.2] почему то видео стало запускаться не сразу после появления окна инсталлятора,только после того как кликнешь мышкой по месту в окне инсталлятора где это видео расположено.Вот сам скрипт :
Код:
Setup
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
UninstallDisplayIcon={app}\MyProg.exe
Compression=lzma
SolidCompression=yes
OutputDir=.

Files
Source: compiler:Dll pack\ISFlash.dll; DestDir: {tmp}; Flags: dontcopy
Source: 1.swf; DestDir: {tmp}; Flags: dontcopy

Code
procedure ISFlash_init(Handle:HWND; Ffile: PAnsiChar); external 'isflash_init@files:ISFlash.dll stdcall';
procedure ISFlash_free; external 'isflash_free@files:ISFlash.dll stdcall';

procedure InitializeWizard();
var
  FlashPanel: TPanel;
begin
  FlashPanel := TPanel.Create(WizardForm);
  FlashPanel.Parent := WizardForm;
  FlashPanel.Top := WizardForm.OuterNotebook.Height + 1;
  FlashPanel.Left := 1;
  FlashPanel.Height := 45;
  FlashPanel.Width := 66;
  ExtractTemporaryFile('1.swf')
  ISFlash_init(FlashPanel.Handle, ExpandConstant('{tmp}\1.swf'));
end;

procedure DeinitializeSetup();
begin
  ISFlash_free;
end;
И ещё такая вещь,раньше всё работало отлично,а сейчас переустановил саму ОС и стало так,может конечно и просто совпадение.
 

log1st

Мимокрокодил
Не знаю, может, тут на форуме уже залили эту информацию. В общем, Inno Setup теперь и c AlphaSkins работает. Знающие люди поймут, а не знающие могут загуглить. Для скинизации исользовать следующий код:
Код:
[Files]
Source: "Skin.asz"; Flags: dontcopy

[Сode]
procedure InitializeWizard;
begin
  ExtractTemporaryFile('Skin.asz');
  WizardForm.SkinManager.SkinDirectory := ExpandConstant('{tmp}');
  WizardForm.SkinManager.SkinName := 'Skin.asz';
end;
Ссылка для скачивания студии: http://rghost.ru/49898409
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху