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

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

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

Ветеран


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


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

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


Изменения
Автор: Serega
Дата: 13-08-2011
Вложения
Тип файла: 7z Inno Setup [все вопросы] часть 1.7z
(1.34 Mb, 908 просмотров)
Тип файла: 7z Inno Setup [все вопросы] часть 2.7z
(3.12 Mb, 806 просмотров)
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


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

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


Отправлено: 00:28, 04-11-2010

 

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


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

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


помогите пожалуйста соеденить эти два скрипта
читать дальше »

#define MyAppName "Assassins Creed - Brotherhood"

[Setup]
SourceDir=.
OutputDir=Setup
AppName=Assassins Creed - Brotherhood
AppVerName=Assassins Creed - Brotherhood
AppVersion=Assassins Creed - Brotherhood
AppPublisher=Ubisoft Inc.
AppCopyright=Ubisoft Inc.
DefaultDirName={pf}\Assassins Creed - Brotherhood
DefaultGroupName=Assassins Creed - Brotherhood
AllowNoIcons=yes
OutputBaseFilename=setup
WizardImageFile=C:\fon.bmp
WizardSmallImageFile=C:\small.bmp
SetupIconFile=D:\Мои Документы\RePack(и)\1.ico
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=none
DiskSpanning=yes
DiskSliceSize=734003200
SlicesPerDisk=1
InternalCompressLevel=none

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

[CustomMessages]
rus.Welcome1=Вас приветствует Мастер установки игры
rus.Welcome2=Нажмите «Далее», чтобы продолжить, или «Отмена», %nчтобы выйти из программы установки.
rus.Finished1=Установка игры {#MyAppName} успешно завершена.
rus.Finished2=Игра {#MyAppName} была успешно установлена на Ваш компьютер. %n%nДля ее запуска выберите соответствующий ярлык в меню «Пуск» или на Рабочем столе.
rus.Finished3=Нажмите «Завершить», чтобы выйти из программы установки.

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}

[Files]
Source: ISSkin.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: steam.cjstyles; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\1.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\10.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\11.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\12.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\13.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\14.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\15.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\16.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\17.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\18.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\19.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\2.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\20.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\21.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\3.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\4.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\5.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\6.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\7.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\8.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\9.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: isgsg.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: bass.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Music\assassins creed.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression

Source: D:\Games\Assassins Creed - Brotherhood\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension

[Icons]
Name: {group}\Assassins Creed - Brotherhood; Filename: {app}\ACBSP.exe; WorkingDir: {app}
Name: {userdesktop}\Assassins Creed - Brotherhood; Filename: {app}\ACBSP.exe; WorkingDir: {app}; Tasks: desktopicon
Name: {group}\{cm:UninstallProgram,Assassins Creed - Brotherhood}; Filename: {uninstallexe}

[UninstallDelete]
Type: filesandordirs; Name: {app}

[code]
var
PageNameLabel, PageDescriptionLabel, WelcomeLabel1, WelcomeLabel2, FinishedHeadingLabel, FinishedLabel: TLabel;

const
Indent=25;

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boo lean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssSetBkgImage(FileName:PChar); external 'ssSetBkgImage@files:isgsg.dll stdcall delayload';
procedure ssAddImage(FileName:PChar); external 'ssAddImage@files:isgsg.dll stdcall delayload';
procedure ssStartShow; external 'ssStartShow@files:isgsg.dll stdcall delayload';
procedure ssStopShow; external 'ssStopShow@files:isgsg.dll stdcall delayload';
function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload';
procedure ShowMP3Panel(hMainFrm:HWND;StartVolume:integer;DefMP3Dir,BASSDir,MLabel:PChar;IsShowMP3Info,IsBkgFrm Visible:boolean;ShowTimeMP3Info:integer;dBottom:integer);external 'ShowMP3Panel@files:isgsg.dll stdcall';
procedure KillMP3Panel;external 'KillMP3Panel@files:isgsg.dll stdcall';
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall';
function ShowWindow(hWnd: Integer; uType: Integer): Integer; external 'ShowWindow@user32.dll stdcall';

function InitializeSetup:boolean;
begin
ExtractTemporaryFile('assassins creed.mp3');
ExtractTemporaryFile('bass.dll');
ExtractTemporaryFile('steam.cjstyles');
LoadSkin(ExpandConstant('{tmp}')+'\steam.cjstyles', '');
Result:=True;
end;

procedure InitializeWizard;
begin
ShowMP3Panel(WizardForm.Handle,80,ExpandConstant('{tmp}'),ExpandConstant('{tmp}'),'Assassins Creed',True,True,7000,Indent);
ssInitialize(GetWindowLong(MainForm.Handle,-8),25,True,2,$FF000000);
ExtractTemporaryFile('1.jpg');
ssSetBkgImage(ExpandConstant('{tmp}')+'\1.jpg');
WizardForm.BeveledLabel.Enabled:=True;
PageNameLabel:= TLabel.Create(WizardForm);
with PageNameLabel do
begin
Left:= ScaleX(110);
Top:= ScaleY(10);
Width:= ScaleX(370);
Height:= ScaleY(14);
AutoSize:= False;
WordWrap:= True;
Font.Name:= 'Georgia';
Font.Color:= $000000;
Font.Style:= [fsBold];
ShowAccelChar:= False;
Transparent:= True;
Parent:= WizardForm.MainPanel;
end;
PageDescriptionLabel:= TLabel.Create(WizardForm);
with PageDescriptionLabel do
begin
Left:= ScaleX(130);
Top:= ScaleY(25);
Width:= ScaleX(330);
Height:= ScaleY(30);
AutoSize:= False;
WordWrap:= True;
Font.Name:= 'Georgia';
Font.Color:= $000000;
Font.Style:= [fsItalic];
ShowAccelChar:= False;
Transparent:= True;
Parent:= WizardForm.MainPanel;
end;



////////////////////// begin WelcomePage //////////////////////

WelcomeLabel1:= TLabel.Create(WizardForm);
with WelcomeLabel1 do begin
AutoSize:=False;
SetBounds(ScaleX(-30), ScaleY(10), ScaleX(550), ScaleY(65));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 13;
Font.Color:=$000000;
Font.Style:=[fsBold];
Caption:= ExpandConstant('{cm:Welcome1}')+#13#10+('{#MyAppName}');
Parent:=WizardForm.WelcomePage;
end;

WelcomeLabel2:=TLabel.Create(WizardForm);
with WelcomeLabel2 do begin
AutoSize:=False;
SetBounds(ScaleX(25), ScaleY(270), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$ffffff;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Welcome2}');
Parent:=WizardForm.WelcomePage;
end;

////////////////////// end WelcomePage //////////////////////

////////////////////// begin FinishedPage //////////////////////

FinishedHeadingLabel:= TLabel.Create(WizardForm);
with FinishedHeadingLabel do begin
SetBounds(ScaleX(-30), ScaleY(10), ScaleX(550), ScaleY(65));
AutoSize:= false;
Alignment := taCenter;
Transparent:= true;
WordWrap:= true;
Font.Name:='Georgia';
Font.Size:= 13;
Font.Color:=$000000;
Font.Style := [fsBold];
Caption:= ExpandConstant('{cm:Finished1}');
Parent:=WizardForm.FinishedPage;
end;

FinishedLabel:=TLabel.Create(WizardForm);
with FinishedLabel do begin
AutoSize:=False;
SetBounds(ScaleX(25), ScaleY(160), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$000000;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Finished2}'+#13#10+'{cm:Finished3}');
Parent:=WizardForm.FinishedPage;
end;

////////////////////// end FinishedPage //////////////////////

with WizardForm do begin
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
FinishedLabel.Hide;
FinishedHeadingLabel.Hide;
PageNameLabel.Hide;
PageDescriptionLabel.Hide;
with WizardBitmapImage do begin
Top:= ScaleY(0);
Left:= ScaleX(0);
Width:= ScaleX(497);
Height:= ScaleY(313);
Stretch:= true;
end;
with WizardBitmapImage2 do begin
Top:= ScaleY(0);
Left:= ScaleX(0);
Width:= ScaleX(497);
Height:= ScaleY(313);
Stretch:= true;
end;
with MainPanel do begin
with WizardSmallBitmapImage do begin
Top:= ScaleY(0);
Left:= ScaleX(0);
Width:= Mainpanel.Width;
Height:= MainPanel.Height;
end;
end;
end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall then begin
ExtractTemporaryFile('1.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\1.jpg');
ExtractTemporaryFile('2.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\2.jpg');
ExtractTemporaryFile('3.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\3.jpg');
ExtractTemporaryFile('4.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\4.jpg');
ExtractTemporaryFile('5.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\5.jpg');
ExtractTemporaryFile('6.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\6.jpg');
ExtractTemporaryFile('7.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\7.jpg');
ExtractTemporaryFile('8.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\8.jpg');
ExtractTemporaryFile('9.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\9.jpg');
ExtractTemporaryFile('10.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\10.jpg');
ExtractTemporaryFile('11.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\11.jpg');
ExtractTemporaryFile('12.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\12.jpg');
ExtractTemporaryFile('13.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\13.jpg');
ExtractTemporaryFile('14.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\14.jpg');
ExtractTemporaryFile('15.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\15.jpg');
ExtractTemporaryFile('16.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\16.jpg');
ExtractTemporaryFile('17.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\17.jpg');
ExtractTemporaryFile('18.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\18.jpg');
ExtractTemporaryFile('19.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\19.jpg');
ExtractTemporaryFile('20.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\20.jpg');
ExtractTemporaryFile('21.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\21.jpg');
ssStartShow;
end;
if CurStep=ssPostInstall then ssStopShow;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
PageNameLabel.Caption:= WizardForm.PageNameLabel.Caption;
PageDescriptionLabel.Caption:= WizardForm.PageDescriptionLabel.Caption;
if CurPageID=wpInstalling then begin
WizardForm.MainPanel.Visible:=False;
WizardForm.Bevel1.Visible:=False;
WizardForm.Width:=ScaleX(395);
WizardForm.Height:=ScaleY(142);
WizardForm.Left:=ScaleX(GetSystemMetrics(0)-WizardForm.Width-Indent);
WizardForm.Top:=ScaleY(GetSystemMetrics(1)-WizardForm.Height-Indent);
WizardForm.InnerNotebook.Left:=ScaleX(10);
WizardForm.InnerNotebook.Top:=ScaleY(10);
WizardForm.InnerNotebook.Width:=ScaleX(370);
WizardForm.StatusLabel.Left:=ScaleX(0);
WizardForm.StatusLabel.Top:=ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0);
WizardForm.FileNameLabel.Top:=ScaleY(20);
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(40);
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(154);
WizardForm.CancelButton.Top:=ScaleY(80);
end;
if (CurPageID=wpFinished) or (CurPageID=wpInfoAfter) then begin
if WizardForm.Width<>502 then begin
WizardForm.Visible:=False;
WizardForm.Width:=ScaleX(502);
WizardForm.Height:=ScaleY(392);
WizardForm.Left:=(GetSystemMetrics(0)-WizardForm.Width) div 2;
WizardForm.Top:=(GetSystemMetrics(1)-WizardForm.Height) div 2;
WizardForm.MainPanel.Visible:=True;
WizardForm.Bevel1.Visible:=True;
WizardForm.InnerNotebook.Left:=ScaleX(40);
WizardForm.InnerNotebook.Top:=ScaleY(72);
WizardForm.InnerNotebook.Width:=ScaleX(417);
WizardForm.Visible:=True;
end;
end;
end;

procedure DeinitializeSetup;
begin
KillMP3Panel;
ShowWindow(WizardForm.Handle,0);
UnloadSkin();
ssDeInitialize;
end;


читать дальше »

[Run]
Filename: {src}\Data.exe; WorkingDir: {src}; Parameters: "-y -o""{app}"""; StatusMsg: Установка русификации...; Flags: waituntilterminated

[code]
procedure CurStepChanged(CurStep: TSetupStep);
var
res:Integer;
app, arc, dest:string;
begin
If CurStep=ssPostInstall
then
begin
app:=ExpandConstant('{src}')+'\Data.exe';
dest:=ExpandConstant('{app}');
Exec(app, 'x "'+ arc + '" -y -o"'+ dest + '"', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res);
end;
end;

заранее спасибо)

Отправлено: 10:48, 05-07-2011 | #2191



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

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


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Цитата Neutron:
Извеняюсь, сразу не сообразил выложить, вот файлы со скриптом »
ID оба дай. там делов на две копейки.

frion, Держи:

читать дальше »
[Setup]
SourceDir=.
OutputDir=Setup
AppName=Assassins Creed - Brotherhood
AppVerName=Assassins Creed - Brotherhood
AppVersion=Assassins Creed - Brotherhood
AppPublisher=Ubisoft Inc.
AppCopyright=Ubisoft Inc.
DefaultDirName={pf}\Assassins Creed - Brotherhood
DefaultGroupName=Assassins Creed - Brotherhood
AllowNoIcons=yes
OutputBaseFilename=setup
WizardImageFile=C:\fon.bmp
WizardSmallImageFile=C:\small.bmp
SetupIconFile=D:\Мои Документы\RePack(и)\1.ico
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
Compression=none
DiskSpanning=yes
DiskSliceSize=734003200
SlicesPerDisk=1
InternalCompressLevel=none

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

[CustomMessages]
rus.Welcome1=Вас приветствует Мастер установки игры
rus.Welcome2=Нажмите «Далее», чтобы продолжить, или «Отмена», %nчтобы выйти из программы установки.
rus.Finished1=Установка игры {#MyAppName} успешно завершена.
rus.Finished2=Игра {#MyAppName} была успешно установлена на Ваш компьютер. %n%nДля ее запуска выберите соответствующий ярлык в меню «Пуск» или на Рабочем столе.
rus.Finished3=Нажмите «Завершить», чтобы выйти из программы установки.

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}

[Files]
Source: ISSkin.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: steam.cjstyles; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\1.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\10.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\11.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\12.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\13.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\14.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\15.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\16.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\17.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\18.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\19.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\2.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\20.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\21.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\3.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\4.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\5.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\6.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\7.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\8.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Slides\9.jpg; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: isgsg.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: bass.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression
Source: D:\Мои Документы\RePack(и)\Music\assassins creed.mp3; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression

Source: D:\Games\Assassins Creed - Brotherhood\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension

[Icons]
Name: {group}\Assassins Creed - Brotherhood; Filename: {app}\ACBSP.exe; WorkingDir: {app}
Name: {userdesktop}\Assassins Creed - Brotherhood; Filename: {app}\ACBSP.exe; WorkingDir: {app}; Tasks: desktopicon
Name: {group}\{cm:UninstallProgram,Assassins Creed - Brotherhood}; Filename: {uninstallexe}

[Run]
Filename: {src}\Data.exe; WorkingDir: {src}; Parameters: "-y -o""{app}"""; StatusMsg: Установка русификации...; Flags: waituntilterminated

[UninstallDelete]
Type: filesandordirs; Name: {app}

[code]
var
PageNameLabel, PageDescriptionLabel, WelcomeLabel1, WelcomeLabel2, FinishedHeadingLabel, FinishedLabel: TLabel;

const
Indent=25;

function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boo lean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssSetBkgImage(FileName:PChar); external 'ssSetBkgImage@files:isgsg.dll stdcall delayload';
procedure ssAddImage(FileName:PChar); external 'ssAddImage@files:isgsg.dll stdcall delayload';
procedure ssStartShow; external 'ssStartShow@files:isgsg.dll stdcall delayload';
procedure ssStopShow; external 'ssStopShow@files:isgsg.dll stdcall delayload';
function GetSystemMetrics(nIndex:Integer):integer; external 'GetSystemMetrics@user32.dll stdcall delayload';
procedure ShowMP3Panel(hMainFrm:HWND;StartVolume:integer;DefMP3Dir,BASSDir,MLabel:PChar;IsShowMP3Info,IsBkgFrm Visible:boolean;ShowTimeMP3Info:integer;dBottom:integer);external 'ShowMP3Panel@files:isgsg.dll stdcall';
procedure KillMP3Panel;external 'KillMP3Panel@files:isgsg.dll stdcall';
procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall';
procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall';
function ShowWindow(hWnd: Integer; uType: Integer): Integer; external 'ShowWindow@user32.dll stdcall';

function InitializeSetup:boolean;
begin
ExtractTemporaryFile('assassins creed.mp3');
ExtractTemporaryFile('bass.dll');
ExtractTemporaryFile('steam.cjstyles');
LoadSkin(ExpandConstant('{tmp}')+'\steam.cjstyles', '');
Result:=True;
end;

procedure InitializeWizard;
begin
ShowMP3Panel(WizardForm.Handle,80,ExpandConstant('{tmp}'),ExpandConstant('{tmp}'),'Assassins Creed',True,True,7000,Indent);
ssInitialize(GetWindowLong(MainForm.Handle,-8),25,True,2,$FF000000);
ExtractTemporaryFile('1.jpg');
ssSetBkgImage(ExpandConstant('{tmp}')+'\1.jpg');
WizardForm.BeveledLabel.Enabled:=True;
PageNameLabel:= TLabel.Create(WizardForm);
with PageNameLabel do
begin
Left:= ScaleX(110);
Top:= ScaleY(10);
Width:= ScaleX(370);
Height:= ScaleY(14);
AutoSize:= False;
WordWrap:= True;
Font.Name:= 'Georgia';
Font.Color:= $000000;
Font.Style:= [fsBold];
ShowAccelChar:= False;
Transparent:= True;
Parent:= WizardForm.MainPanel;
end;
PageDescriptionLabel:= TLabel.Create(WizardForm);
with PageDescriptionLabel do
begin
Left:= ScaleX(130);
Top:= ScaleY(25);
Width:= ScaleX(330);
Height:= ScaleY(30);
AutoSize:= False;
WordWrap:= True;
Font.Name:= 'Georgia';
Font.Color:= $000000;
Font.Style:= [fsItalic];
ShowAccelChar:= False;
Transparent:= True;
Parent:= WizardForm.MainPanel;
end;



////////////////////// begin WelcomePage //////////////////////

WelcomeLabel1:= TLabel.Create(WizardForm);
with WelcomeLabel1 do begin
AutoSize:=False;
SetBounds(ScaleX(-30), ScaleY(10), ScaleX(550), ScaleY(65));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 13;
Font.Color:=$000000;
Font.Style:=[fsBold];
Caption:= ExpandConstant('{cm:Welcome1}')+#13#10+('{#MyAppName}');
Parent:=WizardForm.WelcomePage;
end;

WelcomeLabel2:=TLabel.Create(WizardForm);
with WelcomeLabel2 do begin
AutoSize:=False;
SetBounds(ScaleX(25), ScaleY(270), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$ffffff;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Welcome2}');
Parent:=WizardForm.WelcomePage;
end;

////////////////////// end WelcomePage //////////////////////

////////////////////// begin FinishedPage //////////////////////

FinishedHeadingLabel:= TLabel.Create(WizardForm);
with FinishedHeadingLabel do begin
SetBounds(ScaleX(-30), ScaleY(10), ScaleX(550), ScaleY(65));
AutoSize:= false;
Alignment := taCenter;
Transparent:= true;
WordWrap:= true;
Font.Name:='Georgia';
Font.Size:= 13;
Font.Color:=$000000;
Font.Style := [fsBold];
Caption:= ExpandConstant('{cm:Finished1}');
Parent:=WizardForm.FinishedPage;
end;

FinishedLabel:=TLabel.Create(WizardForm);
with FinishedLabel do begin
AutoSize:=False;
SetBounds(ScaleX(25), ScaleY(160), ScaleX(450), ScaleY(200));
WordWrap:=True;
Alignment := taCenter;
Transparent:=True;
Font.Name:='Georgia';
Font.Size:= 10;
Font.Color:=$000000;
Font.Style := [fsBold, fsItalic];
Caption:= ExpandConstant('{cm:Finished2}'+#13#10+'{cm:Finished3}');
Parent:=WizardForm.FinishedPage;
end;

////////////////////// end FinishedPage //////////////////////

with WizardForm do begin
WelcomeLabel1.Hide;
WelcomeLabel2.Hide;
FinishedLabel.Hide;
FinishedHeadingLabel.Hide;
PageNameLabel.Hide;
PageDescriptionLabel.Hide;
with WizardBitmapImage do begin
Top:= ScaleY(0);
Left:= ScaleX(0);
Width:= ScaleX(497);
Height:= ScaleY(313);
Stretch:= true;
end;
with WizardBitmapImage2 do begin
Top:= ScaleY(0);
Left:= ScaleX(0);
Width:= ScaleX(497);
Height:= ScaleY(313);
Stretch:= true;
end;
with MainPanel do begin
with WizardSmallBitmapImage do begin
Top:= ScaleY(0);
Left:= ScaleX(0);
Width:= Mainpanel.Width;
Height:= MainPanel.Height;
end;
end;
end;
end;

procedure CurStepChanged(CurStep: TSetupStep);
var
res:Integer;
app, arc, dest:string;
begin
if CurStep=ssInstall then begin
ExtractTemporaryFile('1.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\1.jpg');
ExtractTemporaryFile('2.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\2.jpg');
ExtractTemporaryFile('3.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\3.jpg');
ExtractTemporaryFile('4.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\4.jpg');
ExtractTemporaryFile('5.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\5.jpg');
ExtractTemporaryFile('6.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\6.jpg');
ExtractTemporaryFile('7.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\7.jpg');
ExtractTemporaryFile('8.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\8.jpg');
ExtractTemporaryFile('9.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\9.jpg');
ExtractTemporaryFile('10.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\10.jpg');
ExtractTemporaryFile('11.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\11.jpg');
ExtractTemporaryFile('12.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\12.jpg');
ExtractTemporaryFile('13.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\13.jpg');
ExtractTemporaryFile('14.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\14.jpg');
ExtractTemporaryFile('15.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\15.jpg');
ExtractTemporaryFile('16.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\16.jpg');
ExtractTemporaryFile('17.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\17.jpg');
ExtractTemporaryFile('18.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\18.jpg');
ExtractTemporaryFile('19.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\19.jpg');
ExtractTemporaryFile('20.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\20.jpg');
ExtractTemporaryFile('21.jpg');
ssAddImage(ExpandConstant('{tmp}')+'\21.jpg');
ssStartShow;
end;
If CurStep=ssPostInstall then begin
ssStopShow;
app:=ExpandConstant('{src}')+'\Data.exe';
dest:=ExpandConstant('{app}');
Exec(app, 'x "'+ arc + '" -y -o"'+ dest + '"', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res);
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
PageNameLabel.Caption:= WizardForm.PageNameLabel.Caption;
PageDescriptionLabel.Caption:= WizardForm.PageDescriptionLabel.Caption;
if CurPageID=wpInstalling then begin
WizardForm.MainPanel.Visible:=False;
WizardForm.Bevel1.Visible:=False;
WizardForm.Width:=ScaleX(395);
WizardForm.Height:=ScaleY(142);
WizardForm.Left:=ScaleX(GetSystemMetrics(0)-WizardForm.Width-Indent);
WizardForm.Top:=ScaleY(GetSystemMetrics(1)-WizardForm.Height-Indent);
WizardForm.InnerNotebook.Left:=ScaleX(10);
WizardForm.InnerNotebook.Top:=ScaleY(10);
WizardForm.InnerNotebook.Width:=ScaleX(370);
WizardForm.StatusLabel.Left:=ScaleX(0);
WizardForm.StatusLabel.Top:=ScaleY(0);
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0);
WizardForm.FileNameLabel.Top:=ScaleY(20);
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(40);
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(154);
WizardForm.CancelButton.Top:=ScaleY(80);
end;
if (CurPageID=wpFinished) or (CurPageID=wpInfoAfter) then begin
if WizardForm.Width<>502 then begin
WizardForm.Visible:=False;
WizardForm.Width:=ScaleX(502);
WizardForm.Height:=ScaleY(392);
WizardForm.Left:=(GetSystemMetrics(0)-WizardForm.Width) div 2;
WizardForm.Top:=(GetSystemMetrics(1)-WizardForm.Height) div 2;
WizardForm.MainPanel.Visible:=True;
WizardForm.Bevel1.Visible:=True;
WizardForm.InnerNotebook.Left:=ScaleX(40);
WizardForm.InnerNotebook.Top:=ScaleY(72);
WizardForm.InnerNotebook.Width:=ScaleX(417);
WizardForm.Visible:=True;
end;
end;
end;

procedure DeinitializeSetup;
begin
KillMP3Panel;
ShowWindow(WizardForm.Handle,0);
UnloadSkin();
ssDeInitialize;
end;

И не забывай кнопку - Полезное сообщение . Благодарность отельным постом никого не интересует и убивает желание помогать дальше.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.


Последний раз редактировалось Gnom_aka_Lexander, 05-07-2011 в 11:23.

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

Отправлено: 11:02, 05-07-2011 | #2192


Аватара для Rikill

Старожил


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

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


Может мой урок в шапку закинуть? просто он реально помогает людям и не будет флуда насчёт "склейте скрипт".

-------
"Око за око приведёт к слепоте мира"- Ганди

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

Отправлено: 12:06, 05-07-2011 | #2193


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


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

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


Код:
[Run]
Filename: "{app}\pb\pbsetup.exe"; WorkingDir: "{app}\pb\"; Parameters: "/q --i-accept-the-pb-eula /ag cod4 --add-game-path='{app}' /u"; StatusMsg: "Обновление PunkBuster..."; Tasks: "pb";

При запуске файла pbsetup.exe с такими настройками выскакивает ошибка (игра устанавливалась в C:\Program Files\Activision\Call of Duty 4 - Modern Warfare):
http://s57.radikal.ru/i157/1107/19/17382e56ee5b.jpg

Каким образом нужно исправить код в секции "--add-game-path=", чтобы обновление происходило без ошибок (после = - путь до папки с игрой)?

Синтаксис:
http://s39.radikal.ru/i083/1107/79/c32a3f41e701.jpg

Отправлено: 12:11, 05-07-2011 | #2194


Аватара для Gnom_aka_Lexander

Ветеран


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

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


Самый быстрый браузер тестим
Чтобы не было вопросов, по поводу касательства к этой теме - написан на Inno Setup.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

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

Отправлено: 12:45, 05-07-2011 | #2195


Аватара для Rikill

Старожил


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

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


Лександер, это не твой браузер, он есть с примерами к рестулз

-------
"Око за око приведёт к слепоте мира"- Ганди


Отправлено: 13:17, 05-07-2011 | #2196


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


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

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


R.i.m.s.k.y.,

Ситуация такая:

Есть первый инсталл - setup1.exe. В нем есть чекбокс, что если он отмечен, то будет добавлено:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce\setup2.exe

ПРИЧЕМ, setup2.exe должен быть рядом с setup1.exe

Setup1 после установки перезагружает систему, система запускает сетап2.

Setup2 после установки должен удалить ключ регистра.

Отправлено: 13:39, 05-07-2011 | #2197


Аватара для Rikill

Старожил


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

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


leshcat, и в чём проблема?если я правильно понял то можно чтобы setup1 кидал setup2 в определённую папку, чтобы глупый юзер не удалил файл, а после запуска setup2 сетап 2 удалялся и удалял ключ реестра

-------
"Око за око приведёт к слепоте мира"- Ганди


Отправлено: 13:44, 05-07-2011 | #2198


Аватара для Rikill

Старожил


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

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


Neutron, тогда надо делать деинсталлятор который удаляет 2 программы

-------
"Око за око приведёт к слепоте мира"- Ганди


Отправлено: 14:14, 05-07-2011 | #2200



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход