Ru-Board.club
← Вернуться в раздел «Программы»

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

Автор: spider91
Дата сообщения: 16.04.2009 15:54
Qarma


значить у тебя там не 1 архив как в скрипте что ты мне дал. сколько всего архивов?



и ета фишка c архивами у меня работает нормально через процедуры что я тебе дал. я так же само запаковал GTA IV и все ок. ошибка гдето у тебя а не в процедуре
Автор: Qarma
Дата сообщения: 16.04.2009 16:04

Цитата:
значить у тебя там не 1 архив как в скрипте что ты мне дал. сколько всего архивов?

всего архива 2
Баг такой: только появляется параметр -dp файлы из архива вообще не распаковываются
Автор: spider91
Дата сообщения: 16.04.2009 16:06
Qarma


щас у меня тут 1 архив допакуетя и у себя попробую
Автор: Qarma
Дата сообщения: 16.04.2009 16:09

Цитата:
и ета фишка c архивами у меня работает нормально через процедуры что я тебе дал. я так же само запаковал GTA IV и все ок. ошибка гдето у тебя а не в процедуре

Дай свой скрипт....посмотрю

Добавлено:
Привёл код к такому виду, работает

Код: procedure Arc1;
var
res:Integer;
s,s1:string;
begin
s:=ExpandConstant('{app}')+'\ZZPack1.exe';
Exec(s, '-x -y -d' + 'test', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res);
DeleteFile(ExpandConstant('{app}\ZZPack1.exe'));
end;
Автор: spider91
Дата сообщения: 16.04.2009 16:19
Qarma


скрипта нет. у меня комп сломался и все пропало. пока новые запчасти не пришли на ноуте сижу. я поетому и просил код для картинки - он то у меня раньше был



так че уже пробвать скрипт не надо раз работает?
Автор: Qarma
Дата сообщения: 16.04.2009 16:28

Цитата:
так че уже пробвать скрипт не надо раз работает?

Этот скрипт, который я выложил - работает, причём стабильно...
Автор: spider91
Дата сообщения: 16.04.2009 16:30
ты лучше s1:=ExpandConstant('{app}\папка); оставь. так надежней. только в параметрах где -x -y -dp оставь -x -y -d
Автор: Qarma
Дата сообщения: 16.04.2009 16:33

Цитата:
ты лучше s1:=ExpandConstant('{app}\папка); оставь. так надежней

А зачем оно, если и так работает?
Автор: spider91
Дата сообщения: 16.04.2009 16:36
Qarma


так ты полностью задаеш папку для распаковки а в твоем скрипте напсана только папка и не задан полный путь к ней
Автор: Qarma
Дата сообщения: 16.04.2009 16:38
spider91

Дык там автоматом распаковывает в {app}\А ДАЛЬШЕ ПУТЬ ЗАДАЮ Я!

Добавлено:
Возникает другой вопрос...как анимировать распаковку данных из архива?????
Он же просто "виснет" на середине и ждёт пока распакуется архив....
Автор: spider91
Дата сообщения: 16.04.2009 16:54
Qarma

а никак. полюбому будет стоят пока не закончит распаковку
Автор: Qarma
Дата сообщения: 16.04.2009 16:58
spider91

А animateprogress можно прикрутить??
Автор: spider91
Дата сообщения: 16.04.2009 16:59
почему ты думаеш злой дед делает маленький прогрессбар?
он там после распаковки каждого архива передвигает его и так как он маленький получается намного красивее

Добавлено:
можно но он все равно будет двигатся только до или после распаковки
Автор: Qarma
Дата сообщения: 16.04.2009 17:04

Цитата:
почему ты думаеш злой дед делает маленький прогрессбар?
он там после распаковки каждого архива передвигает его и так как он маленький получается намного красивее

А это можно реализовать у меня в скрипте???
Было бы хорошо....
Автор: spider91
Дата сообщения: 16.04.2009 17:07
2all

у меня появился вопрос:

как изменить надпись "распаковка файлов" и как зделать чтоб инсталятор не показывал куда и что распаковывает?

Добавлено:
Qarma


думаю да но сейчас не могу попробовать. нужно уходить. может пока вернусь ктото другой поожет
Автор: Qarma
Дата сообщения: 16.04.2009 17:12

Цитата:
думаю да но сейчас не могу попробовать. нужно уходить.

Для такого дела, могу подождать)

Цитата:
может пока вернусь ктото другой поожет

Кто например?)

Добавлено:





Цитата:
2all

у меня появился вопрос:

как изменить надпись "распаковка файлов"

spider91

Я вот так сделал (если ты об этом) :


Код: ExtractFile.Caption := 'Идёт распаковка данных, пожалуйста подождите';
Автор: spider91
Дата сообщения: 16.04.2009 18:45
Qarma


сколько весит каждий архив и сколько весят файлы кторые будут в инсталяторе(не считая архивов) ?
Автор: Serega0675
Дата сообщения: 16.04.2009 19:23
Qarma
ко всему надо подходить гибко, т.е. если не получается в лоб, то может обойти сзади

Что такое архив? Это - папка с файлами... так вы разбейте один архив на несколько маленьких и двигайте прогрессбар, [more=пример]
Код:
// зачем в каждой процедуре это писать, вы их вынесите в общий var, в начале секции [Code]
...........................
var
res:Integer;
s:string;
................................
procedure Arc1.1;
begin
s:=ExpandConstant('{app}')+'\ZZPack1.1.exe';
Exec(s, '-x -y -d' + 'nativePC\', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res);
DeleteFile(ExpandConstant('{app}\ZZPack1.1.exe'));
ExtractFile.Caption := 'Идёт распаковка данных, пожалуйста подождите';
WizardForm.ProgressGauge.Position:= WizardForm.ProgressGauge.Position + 1;
// Application.ProcessMessages; // необходима расширенная версия от Restools
end;

procedure Arc1.2;
begin
s:=ExpandConstant('{app}')+'\ZZPack1.2.exe';
Exec(s, '-x -y -d' + 'nativePC\', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res);
DeleteFile(ExpandConstant('{app}\ZZPack1.2.exe'));
ExtractFile.Caption := 'Идёт распаковка данных, пожалуйста подождите';
WizardForm.ProgressGauge.Position:= WizardForm.ProgressGauge.Position + 1;
// Application.ProcessMessages; // необходима расширенная версия от Restools
end;
// и так далее
Автор: spider91
Дата сообщения: 16.04.2009 19:35
Serega0675


я так же делаю но Qarma говорил выше что ему влом 9гб перепаковывать, но видимо придется
Автор: Serega0675
Дата сообщения: 16.04.2009 19:41
spider91
ну, против человеческой лени, даже боги бессильны
Автор: doombuster
Дата сообщения: 16.04.2009 20:09
Чего всем хочется этот прогресс бар замутить?
Вот пример: Лицензионная игра Gears of war, там файлы не упакованы, а чем-то обработаны, типа прекомп) Сначала, при установке по прогресс бару видно ,как файлы скидываются на хард. Потом бар замирает в конце, и мы ждем еще 30 минут, и слушаем шуршание жесткого диска. Там файлы разжимаются) И никакова прогресс бара)
Автор: Crym69
Дата сообщения: 16.04.2009 20:09
Jetr0
About USCCrypt.dll. Can you help my?
Автор: doombuster
Дата сообщения: 16.04.2009 20:31
Serega0675
Если не трудо, можете дополнить [more=этот][Setup]
AppName=Lost Planet Colonies
AppVerName=Lost Planet Colonies
DefaultDirName=D:\Games\Lost Planet Colonies
OutputBaseFilename=Setup
Compression=lzma/ultra64
SolidCompression=yes
DiskSpanning=true
SlicesPerDisk=3
DiskSliceSize=1100000000
InternalCompressLevel=ultra64
OutputDir=D:\test\lp_ce
WizardImageFile=D:\test\lp.bmp
WizardSmallImageFile=D:\test\lp_small.bmp
DisableProgramGroupPage=true
DefaultGroupName=Lost Planet Colonies
VersionInfoVersion=1.0.0.0
DirExistsWarning=no
DisableReadyPage=true
AppVersion=1.0.0.0
UninstallDisplayName=Lost Planet Colonies


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


[LangOptions]
WelcomeFontSize=10


[Icons]
Name: "{group}\Lost Planet Colonies"; Filename: "{app}\LPCLauncher.exe"; WorkingDir: "{app}";

Name: "{group}\Удалить игру"; Filename: "{uninstallexe}";
Name: "{userdesktop}\Lost Planet Colonies"; Filename: "{app}\LPCLauncher.exe"; WorkingDir: "{app}";

[Files]
Source:"D:\test\logo.bmp";DestDir:{tmp};Flags: dontcopy nocompression solidbreak
Source: "D:\Games\Lost Planet Colonies\*"; DestDir: "{app}"; Flags: ignoreversion createallsubdirs recursesubdirs sortfilesbyextension
Source: D:\test\NOCOMP\ZZPack1.exe; DestDir: {app}; AfterInstall: Arc1; Flags: ignoreversion createallsubdirs recursesubdirs nocompression

Код:

//////////////
var
PageNameLabel, PageDescriptionLabel: TLabel;
DesktopIcon: TCheckBox;
LogoImage:TBitmapImage;
LogoPanel: TPanel;
LogoLabel: TLabel;
const
NeedSize = 7760;

var
FreeMB, TotalMB: Cardinal;

NeedSpaceLabel, FreeSpaceLabel: TLabel;
ExtractFile:TNewStaticText;

/////////

function MakeDesktopIcon: Boolean;
begin
Result:=DesktopIcon.Checked;
end;

procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;

begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);

if FreeMB > 1024 then
FreeSpaceLabel.Caption := 'Доступно место на диске: ' + FloatToStr(round(FreeMB/1024*100)/100) + ' GB'
else
FreeSpaceLabel.Caption := 'Доступно место на диске: ' + IntToStr(FreeMB)+ ' MB';

if FreeMB < NeedSize then
WizardForm.NextButton.Enabled := false
else
WizardForm.NextButton.Enabled := true;
end;


//////////
procedure LogoLabelOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
ShellExec('open', 'http://kirovmedia.ru/forum', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)
end;
type
TProc=procedure(HandleW, msg, idEvent, TimeSys: LongWord);
var
TimerID: LongWord;
pfunc: LongWord;
Label1:tlabel;


procedure InitializeWizard();

var
WLabel1, WLabel2: TLabel;
FLabel1, FLabel2: TLabel;
begin
DesktopIcon := TCheckBox.Create(WizardForm);
DesktopIcon.Parent := WizardForm.SelectDirPage;
DesktopIcon.Caption := 'Добавить ярлык на рабочий стол';
DesktopIcon.Left := ScaleX(0);
DesktopIcon.Top := ScaleY(WizardForm.DirEdit.Top + 35);
DesktopIcon.Width := ScaleX(400);
DesktopIcon.Height := ScaleY(15);
DesktopIcon.TabOrder := 0;
DesktopIcon.Checked := True;



////////////
FLabel2 :=TLabel.Create(WizardForm);
FLabel2.Top := ScaleY(76);
FLabel2.Left := ScaleX(176);
FLabel2.Width := ScaleX(301);
FLabel2.Height := ScaleY(53);
FLabel2.AutoSize := False;
FLabel2.WordWrap := True;
FLabel2.Font.Color:= clblack;
FLabel2.ShowAccelChar := False;
FLabel2.Caption := 'Программа установлена на Ваш компьютер.' #13#13
'Нажмите «Завершить», чтобы выйти из программы установки.';
FLabel2.Transparent := True;
FLabel2.Parent := WizardForm.FinishedPage



WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
WizardForm.WizardBitmapImage.Width := WizardForm.Width;
WizardForm.WizardBitmapImage.Height := WizardForm.Height;

WLabel1 := TLabel.Create(WizardForm);
WLabel1.Left := ScaleX(176);
WLabel1.Top := ScaleY(16);
WLabel1.Width := ScaleX(301);
WLabel1.Height := ScaleY(54);
WLabel1.AutoSize := False;
WLabel1.WordWrap := True;
WLabel1.Font.Size := 12;
WLabel1.Font.Style := [fsBold];
WLabel1.Font.Color:= clblack;
WLabel1.ShowAccelChar := False;
WLabel1.Caption := WizardForm.WelcomeLabel1.Caption;
WLabel1.Transparent := True;
WLabel1.Parent := WizardForm.WelcomePage;

WLabel2:=TLabel.Create(WizardForm);
WLabel2.Top := ScaleY(76);
WLabel2.Left := ScaleX(176);
WLabel2.Width := ScaleX(301);
WLabel2.Height := ScaleY(234);
WLabel2.AutoSize := False;
WLabel2.WordWrap := True;
WLabel2.Font.Color:= clblack;
WLabel2.ShowAccelChar := False;
WLabel2.Caption := WizardForm.WelcomeLabel2.Caption;
WLabel2.Transparent := True;
WLabel2.Parent := WizardForm.WelcomePage;


WizardForm.WizardBitmapImage2.Width := WizardForm.Width;
WizardForm.WizardBitmapImage2.Height := WizardForm.Height;

FLabel1 := TLabel.Create(WizardForm);
FLabel1.Left := ScaleX(176);
FLabel1.Top := ScaleY(16);
FLabel1.Width := ScaleX(301);
FLabel1.Height := ScaleY(54);
FLabel1.AutoSize := False;
FLabel1.WordWrap := True;
FLabel1.Font.Size := 12;
FLabel1.Font.Style := [fsBold];
FLabel1.Font.Color:= clblack;
FLabel1.ShowAccelChar := False;
FLabel1.Caption := WizardForm.FinishedHeadingLabel.Caption;
FLabel1.Transparent := True;
FLabel1.Parent := WizardForm.FinishedPage;


begin
WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
WizardForm.FinishedHeadingLabel.Hide;
WizardForm.FinishedLabel.Hide;
WizardForm.WizardBitmapImage.Width := WizardForm.Width;
WizardForm.WizardBitmapImage.Height := WizardForm.Height;

WLabel1 := TLabel.Create(WizardForm);
WLabel1.Left := ScaleX(176);
WLabel1.Top := ScaleY(16);
WLabel1.Width := ScaleX(301);
WLabel1.Height := ScaleY(100);
WLabel1.AutoSize := False;
WLabel1.WordWrap := True;
WLabel1.Font.Size := 12;
WLabel1.Font.Style := [fsBold];
WLabel1.Font.Color:= clblack;
WLabel1.ShowAccelChar := False;
WLabel1.Caption := WizardForm.WelcomeLabel1.Caption;
WLabel1.Transparent := True;
WLabel1.Parent := WizardForm.WelcomePage;

WLabel2 :=TLabel.Create(WizardForm);
WLabel2.Top := ScaleY(76);
WLabel2.Left := ScaleX(176);
WLabel2.Width := ScaleX(301);
WLabel2.Height := ScaleY(234);
WLabel2.AutoSize := False;
WLabel2.WordWrap := True;
WLabel2.Font.Color:= clblack;
WLabel2.ShowAccelChar := False;
WLabel2.Caption := WizardForm.WelcomeLabel2.Caption;
WLabel2.Transparent := True;
WLabel2.Parent := WizardForm.WelcomePage;

WizardForm.WizardBitmapImage2.Width := WizardForm.Width;
WizardForm.WizardBitmapImage2.Height := WizardForm.Height;

FLabel1 := TLabel.Create(WizardForm);
FLabel1.Left := ScaleX(176);
FLabel1.Top := ScaleY(16);
FLabel1.Width := ScaleX(301);
FLabel1.Height := ScaleY(54);
FLabel1.AutoSize := False;
FLabel1.WordWrap := True;
FLabel1.Font.Size := 12;
FLabel1.Font.Style := [fsBold];
FLabel1.Font.Color:= clblack;
FLabel1.ShowAccelChar := False;
FLabel1.Caption := WizardForm.FinishedHeadingLabel.Caption;
FLabel1.Transparent := True;
FLabel1.Parent := WizardForm.FinishedPage;

FLabel2 :=TLabel.Create(WizardForm);
FLabel2.Top := ScaleY(76);
FLabel2.Left := ScaleX(176);
FLabel2.Width := ScaleX(301);
FLabel2.Height := ScaleY(77);
FLabel2.AutoSize := False;
FLabel2.WordWrap := True;
FLabel2.Font.Color:= clblack;
FLabel2.ShowAccelChar := False;
FLabel2.Caption := 'Программа установлена на Ваш компьютер.' #13#13
'Нажмите «Завершить», чтобы выйти из программы установки.';
FLabel2.Transparent := True;
FLabel2.Parent := WizardForm.FinishedPage;
end;
//////////


////////
begin

WizardForm.DiskSpaceLabel.Hide;
NeedSpaceLabel := TLabel.Create(WizardForm);
with NeedSpaceLabel do

begin
Parent := WizardForm.SelectDirPage;
Left := ScaleX(0);
Top := ScaleY(198);
Width := ScaleX(209);
Height := ScaleY(13);



Caption := 'Требуется место на диске: 7,57 GB' ;
end;
////////////
begin
begin
WizardForm.WizardSmallBitmapImage.Left:=0;
WizardForm.WizardSmallBitmapImage.Width:=497;
WizardForm.WizardSmallBitmapImage.Height:=58;
WizardForm.PageDescriptionLabel.Width:=300;
WizardForm.PageNameLabel.Width:=300;
end ;
begin
PageNameLabel := TLabel.Create(WizardForm);
with PageNameLabel do
begin
Left := ScaleX(45);
Top := ScaleY(10);
Width := ScaleX(300);
Height := ScaleY(14);
AutoSize := False;
WordWrap := True;
Font.Color := clwhite;
Font.Style := [fsBold];
Transparent := True;
Parent := WizardForm.MainPanel;
end;

PageDescriptionLabel := TLabel.Create(WizardForm);
with PageDescriptionLabel do
begin
Left := ScaleX(45);
Top := ScaleY(25);
Width := ScaleX(475);
Height := ScaleY(30);
AutoSize := False;
WordWrap := True;
Font.Color := clwhite;
Transparent := True;
Parent := WizardForm.MainPanel;
end;

with WizardForm do
begin
PageNameLabel.Hide;
PageDescriptionLabel.Hide;
with MainPanel do
begin
with WizardSmallBitmapImage do
begin
Left := ScaleX(0);
Top := ScaleY(0);
Width := Mainpanel.Width;
Height := MainPanel.Height;
end;
end;
end;
end;
end;

////////////IntToStr(NeedSize) + ' GB'
FreeSpaceLabel := TLabel.Create(WizardForm);
with FreeSpaceLabel do
begin
Parent := WizardForm.SelectDirPage;
Left := ScaleX(0);
Top := ScaleY(216);
Width := ScaleX(209);
Height := ScaleY(13);
end;




WizardForm.DirEdit.OnChange := @GetFreeSpaceCaption;
WizardForm.DirEdit.Text := WizardForm.DirEdit.Text + #0;
end;

/////////////////
begin
LogoPanel := TPanel.Create(WizardForm);
with LogoPanel do
begin
Parent := WizardForm;
Left := ScaleX(8);
Top := ScaleY(327);
Width := ScaleX(120);
Height := ScaleY(28);
BevelOuter := bvNone;
end;

LogoImage := TBitmapImage.Create(WizardForm);
with LogoImage do
begin
Parent := LogoPanel;
Left := ScaleX(0);
Top := ScaleY(0);
AutoSize:=true;
ReplaceColor:=clFuchsia;
ReplaceWithColor:=clBtnFace;
ExtractTemporaryFile('logo.bmp');
Bitmap.LoadFromFile(ExpandConstant('{tmp}\logo.bmp'));
end;

LogoLabel := TLabel.Create(WizardForm);
with LogoLabel do
begin
Parent := LogoPanel;
Width := LogoPanel.Width;
Height := LogoPanel.Height;
Transparent:=True;
Cursor := crHand;
OnClick:=@LogoLabelOnClick;
end;
end;
end;

procedure Arc1;
var
res:Integer;
s,s1:string;
begin
s:=ExpandConstant('{app}')+'\ZZPack1.exe';
s1:=ExpandConstant('{app}\Papka\');
Exec(s, '-x -y -dp"'+ s1 + '"', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res);
DeleteFile(ExpandConstant('{app}\ZZPack1.exe'));
end;

///procedure animateprogress;
///begin ProgressBar1.Position := ProgressBar1.Position+1
///end;

///ProgressBar1 := TNewProgressBar.Create(wizardform);
////with ProgressBar1 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;
///Max :=11; //задается как кол-во файлов в [_run]
///end;
procedure CurPageChanged(CurPageID: Integer);

begin

PageNameLabel.Caption := WizardForm.PageNameLabel.Caption;
PageDescriptionLabel.Caption := WizardForm.PageDescriptionLabel.Caption;

if CurPageID = wpSelectDir

then begin
WizardForm.NextButton.Caption:='Установить';
if FreeMB < NeedSize
then WizardForm.NextButton.Enabled:=False;

end;
end;

[/more] код, [more=этими][Setup]
[Run]
Filename: "{app}\ZZPack1.exe"; WorkingDir: "{app}"; Parameters: "-x -y -s2 -d."; StatusMsg: "&#200;&#228;&#229;&#242; &#240;&#224;&#241;&#239;&#224;&#234;&#238;&#226;&#234;&#224; &#228;&#224;&#237;&#237;&#251;&#245;, &#239;&#238;&#228;&#238;&#230;&#228;&#232;&#242;&#229; &#239;&#238;&#230;&#224;&#235;&#243;&#233;&#241;&#242;&#224;..."; Flags: runminimized runasoriginaluser
Filename: "cmd.exe"; WorkingDir: "{app}"; Parameters: "/C del /F /Q ZZPack1.exe"; Flags: runhidden runasoriginaluser
Filename: "{app}\ZZPack1_2.exe"; WorkingDir: "{app}"; Parameters: "-x -y -s2 -d."; StatusMsg: "&#200;&#228;&#229;&#242; &#240;&#224;&#241;&#239;&#224;&#234;&#238;&#226;&#234;&#224; &#228;&#224;&#237;&#237;&#251;&#245;, &#239;&#238;&#228;&#238;&#230;&#228;&#232;&#242;&#229; &#239;&#238;&#230;&#224;&#235;&#243;&#233;&#241;&#242;&#224;..."; Flags: runminimized runasoriginaluser
Filename: "cmd.exe"; WorkingDir: "{app}"; Parameters: "/C del /F /Q ZZPack1_2.exe"; Flags: runhidden runasoriginaluser
Filename: "{app}\ZZPack2.exe"; WorkingDir: "{app}"; Parameters: "-x -y -s2 -d."; StatusMsg: "&#200;&#228;&#229;&#242; &#240;&#224;&#241;&#239;&#224;&#234;&#238;&#226;&#234;&#224; &#228;&#224;&#237;&#237;&#251;&#245;, &#239;&#238;&#228;&#238;&#230;&#228;&#232;&#242;&#229; &#239;&#238;&#230;&#224;&#235;&#243;&#233;&#241;&#242;&#224;..."; Flags: runminimized runasoriginaluser
Filename: "cmd.exe"; WorkingDir: "{app}"; Parameters: "/C del /F /Q ZZPack2.exe"; Flags: runhidden runasoriginaluser
Filename: "{app}\ZZPack2_2.exe"; WorkingDir: "{app}"; Parameters: "-x -y -s2 -d."; StatusMsg: "&#200;&#228;&#229;&#242; &#240;&#224;&#241;&#239;&#224;&#234;&#238;&#226;&#234;&#224; &#228;&#224;&#237;&#237;&#251;&#245;, &#239;&#238;&#228;&#238;&#230;&#228;&#232;&#242;&#229; &#239;&#238;&#230;&#224;&#235;&#243;&#233;&#241;&#242;&#224;..."; Flags: runminimized runasoriginaluser
Filename: "cmd.exe"; WorkingDir: "{app}"; Parameters: "/C del /F /Q ZZPack2_2.exe"; Flags: runhidden runasoriginaluser
[/more] файлами, для секции [Code]. Как это должно быть. Исходя из вашего [more=примера][code]
// зачем в каждой процедуре это писать, вы их вынесите в общий var, в начале секции [Code]
...........................
var
res:Integer;
s:string;
................................
procedure Arc1.1;
begin
s:=ExpandConstant('{app}')+'\ZZPack1.1.exe';
Exec(s, '-x -y -d' + 'nativePC\', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res);
DeleteFile(ExpandConstant('{app}\ZZPack1.1.exe'));
ExtractFile.Caption := 'Идёт распаковка данных, пожалуйста подождите';
WizardForm.ProgressGauge.Position:= WizardForm.ProgressGauge.Position + 1;
// Application.ProcessMessages; // необходима расширенная версия от Restools
end;

procedure Arc1.2;
begin
s:=ExpandConstant('{app}')+'\ZZPack1.2.exe';
Exec(s, '-x -y -d' + 'nativePC\', '', SW_SHOWNORMAL, ewWaitUntilTerminated, res);
DeleteFile(ExpandConstant('{app}\ZZPack1.2.exe'));
ExtractFile.Caption := 'Идёт распаковка данных, пожалуйста подождите';
WizardForm.ProgressGauge.Position:= WizardForm.ProgressGauge.Position + 1;
// Application.ProcessMessages; // необходима расширенная версия от Restools
end;
// и так далее
Автор: DeKaNszn
Дата сообщения: 16.04.2009 20:32
spider91


Цитата:
как зделать чтоб инсталятор не показывал куда и что распаковывает?


WizardForm.FileNameLabel.Visible:=False;
Автор: Qarma
Дата сообщения: 16.04.2009 20:38
Serega0675
Спасибо......в AfterInstall: что нужно писать?


Цитата:
Serega0675
Если не трудо, можете дополнить этот код, этими файлами, для секции [Code]. Как это должно быть. Исходя из вашего примера

Тоже хочу такое увидеть))

А перепаковать 9гб не лень,я не из ленивых))
Автор: doombuster
Дата сообщения: 16.04.2009 20:39
Qarma
Я первый), мне в коллекцию)
Автор: Qarma
Дата сообщения: 16.04.2009 20:40

Цитата:
сколько весит каждий архив и сколько весят файлы кторые будут в инсталяторе(не считая архивов) ?

Все файлы не считая архивов весят...400мб, отдельно архивы весят - 4.07гб

Добавлено:
Serega0675

Помоги если не сложно
Автор: spider91
Дата сообщения: 16.04.2009 20:42
DeKaNszn


спасибо



еще 1 просьба:

кто может дайте мну плиз код для прогрессбара как у злого деда
Автор: doombuster
Дата сообщения: 16.04.2009 21:01
spider91

[more]
[Run]
Filename: {src}\Game.exe; Parameters: -x -y -s2 -d.; WorkingDir: {app}\Game\; StatusMsg: Идет распаковка файлов игры...; Flags: shellexec runhidden waituntilterminated; Afterinstall: animateprogress


[Code]
var
ProgressBar1: TNewProgressBar;

procedure animateprogress;
begin ProgressBar1.Position := ProgressBar1.Position+1
end;

procedure InitializeWizard;
begin
ProgressBar1 := TNewProgressBar.Create(wizardform);
with ProgressBar1 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;
Max :=100; //задается как кол-во файлов в [_run]
end;
end;
[/more]

Автор: Qarma
Дата сообщения: 16.04.2009 21:02

Код: // Application.ProcessMessages; // необходима расширенная версия от Restools

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

Предыдущая тема: в очередной раз босудим антивиры?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.