» Inno Setup (создание инсталяционных пакетов)
riperoc1
Вирусы там есть, я не смог запустить, чтоб проверить, что именно за дрянь сидит, у меня антивирь загасил его сразу.
Вирусы там есть, я не смог запустить, чтоб проверить, что именно за дрянь сидит, у меня антивирь загасил его сразу.
Gnom3 а вот с этой проблемой можешь подсказать ?
Цитата:
Цитата:
Доброго времени суток, возникла потребность в следующем ухищрении ))
Где то тут на форуме видел инсталлятор, где при нажатии на кнопку в левом углу, проявляется, название релиз группы ввиде картинки, не кто случайно не мог бы подсказать данный код ???
Подробнее...
Kestlers
Sorry, but this forum only on scripts Inno Setup. Try to ask a question in it to a theme. Author ProFrager will better explain how to make.
Sorry, but this forum only on scripts Inno Setup. Try to ask a question in it to a theme. Author ProFrager will better explain how to make.
Shank
Вот, репачек его в прошлой теме выкладывал, его редакция Скрипта Юршата.
Вот, репачек его в прошлой теме выкладывал, его редакция Скрипта Юршата.
Gnom3
ок, спасибо
ок, спасибо
riperoc1, Gnom3 аффтор данного трояна Вася, зашедший под ником syncmaster775 не удосужился проверить свое творение (хотя очень сомнительно, что свое, в инете полно сорцов троянов). Получился вообще не PE файл, видимо пытался упаковать, но он сам не понял что получил) Вот облом то, оно не запустится ни на одной системе) А вообще SkuLLByte - это очередной криптер программ, написанных на VisualBasic'е. Вот ссыль на этот криптер. Предыдущая попытка аффтара всучить криптованный вирус на компы юзеров прошла относительно удачно как минимум компов на 20 (хоть и часть антивирусов определяла тот криптер как инородное "тело", но он хоть работал в отличие от текущего ).
Вася, мой тебе лучше маскируй свое творение, да и хотя бы иконку приделывай к исполняемому файлу, или не умеешь?) Посмотрим будешь ли учиться на своих ошибках, а пока вижу только глупые попытки глупого человека стать мегохацкером
Вася, мой тебе лучше маскируй свое творение, да и хотя бы иконку приделывай к исполняемому файлу, или не умеешь?) Посмотрим будешь ли учиться на своих ошибках, а пока вижу только глупые попытки глупого человека стать мегохацкером
Цитата:
Как сделать так, что б место кнопки "Обзор" поставить картинку?
Может хто-то поможет с вопросом?
Shegorat
есть какие нить новшества в ISFreeArcExtract v.4.1 которых нет isdone при распаковке архивов этого типа?
есть какие нить новшества в ISFreeArcExtract v.4.1 которых нет isdone при распаковке архивов этого типа?
nik1967
Thnx.
By the way, who could help me to join 2 scripts.
It's nik1967's script and ISDone 0.6b
Ссылка
Or I need to ask it in ISDone's theme?
Thnx.
By the way, who could help me to join 2 scripts.
It's nik1967's script and ISDone 0.6b
Ссылка
Or I need to ask it in ISDone's theme?
Kestlers
It's better to do it by hand but you can also use a special program
http://issjoiner.codeplex.com/
It's better to do it by hand but you can also use a special program
http://issjoiner.codeplex.com/
comrade007
I know about this software, but it's better to have 2 scripts. One main script and ISDone script.
I know about this software, but it's better to have 2 scripts. One main script and ISDone script.
Здравствуйте. Подскажите, пожалуйста, или укажите на тему где уже решался этот вопрос, потому как беспристрастный поиск не дал положительного результата, как сделать, чтобы перед началом инсталляции (кликаем на файл setup.exe) прежде всплывало информационное сообщение, далее нажимаем кнопочку "ок" в этом сообщении, оно пропадает и начинается процесс инсталляции. Заранее благодарю.
maksimnigmatullin
[more]
Код: [_code]
function InitializeSetup(): Boolean;
begin
MsgBox('сообщение', mbInformation, MB_OK);
result:=true;
end;
[more]
Код: [_code]
function InitializeSetup(): Boolean;
begin
MsgBox('сообщение', mbInformation, MB_OK);
result:=true;
end;
troyan90
Спасибо большое!
Спасибо большое!
почему при компилировании скрипта обычной версией и версией от китайцев размер инсталлятора разный?
дайте пожалуйста пример использования ботвы для вставки изображения на первую и последнюю станицу, для растягивания WizardSmallImage, для вставки DirFolder.png и GroupFolder.png
прошу протестировать инстал
интересует правильно ли отображаются шрифты в инстале?
http://rghost.ru/10608011
интересует правильно ли отображаются шрифты в инстале?
http://rghost.ru/10608011
QWEASD1221
эх, товарищ. Прогресс есть, но все же скрывать вирус ты не научился) Видно, что ехе'шник работает на висуал бейсике или c#) используемые библиотеки об этом говорят. Любой инсталл себе такого не позволит) Каков будет следующий шаг?) Мне уже прям интересно следить за ходом событий)
эх, товарищ. Прогресс есть, но все же скрывать вирус ты не научился) Видно, что ехе'шник работает на висуал бейсике или c#) используемые библиотеки об этом говорят. Любой инсталл себе такого не позволит) Каков будет следующий шаг?) Мне уже прям интересно следить за ходом событий)
sergey3695
ошибку при отмене установки выдает:
ошибку при отмене установки выдает:
Всем доброго вечера!
Что нужно добавить в скрипт, что-бы отображались *.PNG изображения?
Вот скрипт:
[more]#define GameName "Crysis Warhead"
#define NeedSize "10000000000"
#define precomp038
#define ExeName "Crysis2Launcher.exe"
#define ExeDir "bin32\"
[Setup]
; ³êîíêà ³íñòàëà
SetupIconFile=iconset.ico
AppName={#GameName}
AppVerName={#GameName}
DefaultDirName={pf}\{#GameName}
DefaultGroupName={#GameName}
OutputDir=.
; íàçâà ôàéëà ³íñòàëÿòîðà
OutputBaseFilename=Setup
SolidCompression=true
#ifdef NeedSize
ExtraDiskSpaceRequired={#NeedSize}
#endif
; ôîí
WizardImageFile=img.bmp
; øàïêà
WizardSmallImageFile=shapka.bmp
Compression=lzma2/ultra64
InternalCompressLevel=ultra64
[Types]
Name: "full"; Description: "Full installation"; Flags: iscustom
[Components]
Name: "text"; Description: "ßçûê ñóáòèòðîâ"; Types: full; Flags: fixed
Name: "text\rus"; Description: "Ðóññêèé"; Flags: exclusive; ExtraDiskSpaceRequired: 60000000
Name: "text\eng"; Description: "Àíãëèéñêèé"; Flags: exclusive; ExtraDiskSpaceRequired: 58000000
[Run]
Filename: {src}\Redist\dxwebsetup.exe; Description: DirectX 9.0c; WorkingDir: "{src}\redist"; Parameters: /q; StatusMsg: Óñòàíîâêà DirectX 9.0c...; Flags: runascurrentuser nowait postinstall skipifsilent;
Filename: {src}\Redist\vcredist_x86_2005_sp1.exe; Description: Microsoft Visual C++ Redistibutable 2005...; Parameters: /q; StatusMsg: Microsoft Visual C++ Redistibutable 2005...; Flags: nowait postinstall skipifsilent ;
Filename: {src}\Redist\XLive\xLiveRedist.exe; Description: xLive; StatusMsg: "Óñòàíîâêà XLive..."; Flags: runhidden waituntilterminated postinstall;
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: botva2.dll; DestDir: {app}; Flags: ignoreversion; Attribs: hidden system;
Source: ISWin7.dll; DestDir: {tmp}; Flags: dontcopy
Source: "img.bmp"; DestDir: "{app}"; Attribs: hidden system;
; çàì³íèòü
Source: "C:\Users\ntrx\Desktop\1\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "logo2.png"; DestDir: "{app}"; Attribs: hidden system;
Source: "DirBitmap.bmp"; DestDir: "{tmp}"; Flags: dontcopy
Source: ISDone.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy
#ifdef records
Source: records.inf; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef precomp038
Source: Include\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\RTconsole.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\zlib1.dll; DestDir: {tmp}; Flags: dontcopy
#endif
[Icons]
Name: {group}\{#GameName}; Filename: {app}\{#ExeDir}{#ExeName}; WorkingDir: {app}\{#ExeDir}; Comment: {#GameName};
Name: {group}\Óäàëèòü èãðó; Filename: {app}\Uninstall\unins000; WorkingDir: {app}\Uninstall\; Comment: Óäàëèòü èãðó;
; ²êîíêà íà ðîá. ñò³ë
Name: "{commondesktop}\{#GameName}"; Filename: "{app}\{#ExeDir}{#ExeName}"; WorkingDir: "{app}\{#ExeDir}"; Comment: "{#GameName}"; Tasks: desktopicon;
[CustomMessages]
russian.ExtractedFile=Ðàñïàêîâûâàåòñÿ ôàéë:
russian.CancelButton=Îòìåíèòü ðàñïàêîâêó
russian.Error=Îøèáêà ðàñïàêîâêè!
russian.Soft=Óñòàíîâèòü äîïîëíèòåëüíîå ÏÎ
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[UninstallDelete]
Type: filesandordirs; Name: {app}
[ Code]
var
LabelPct,LabelCurrFileName: TLabel;
ISDoneProgressBar: TNewProgressBar;
MyCancelButton: TButton;
OveralPct,Cancel:integer;
CallBack:longword;
MyError:boolean;
FinishedLabel: TLabel;
Text: TNewStaticText;
LogoImage: TBitmapImage;
// WizardImg: String;
const
BTN_MAX_PATH = 1024; //íå èçìåíÿòü !!!
BtnClickEventID = 1;
BtnMouseEnterEventID = 2;
BtnMouseLeaveEventID = 3;
BtnMouseMoveEventID = 4;
BtnMouseDownEventID = 5;
BtnMouseUpEventID = 6;
balLeft = 0; //âûðàâíèâàíèå òåêñòà ïî ëåâîìó êðàþ
balCenter = 1; //ãîðèçîíòàëüíîå âûðàâíèâàíèå òåêñòà ïî öåíòðó
balRight = 2; //âûðàâíèâàíèå òåêñòà ïî ïðàâîìó êðàþ
balVCenter = 4; //âåðòèêàëüíîå âûðàâíèâàíèå òåêñòà ïî öåíòðó
type
#ifndef UNICODE
AnsiChar = Char;
#endif
TBtnEventProc = procedure(h:HWND);
TTextBuf = array [0..BTN_MAX_PATH-1] of AnsiChar; //íå ìåíÿòü ðàçìåðíîñòü ìàññèâà !!!
type
TCallback = function (Pct: integer;CurrentFile:string): longword;
TMessage = record hWnd: HWND; msg, wParam: Word; lParam: LongWord; Time: TFileTime; pt: TPoint; end;
function PeekMessage(var lpMsg: TMessage; hWnd: HWND; wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): BOOL; external 'PeekMessageA@user32.dll stdcall';
function TranslateMessage(const lpMsg: TMessage): BOOL; external 'TranslateMessage@user32.dll stdcall';
function DispatchMessage(const lpMsg: TMessage): Longint; external 'DispatchMessageA@user32.dll stdcall';
function WrapMyCallback(callback:TCallback; paramcount:integer):longword;external 'wrapcallback@files:innocallback.dll stdcall';
function ISArcExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; callback: longword; Password, CfgFile, WorkPath: AnsiString):BOOL; external 'ISArcExtract@files:ISDone.dll stdcall';
function IS7ZipExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; callback: longword; Password: AnsiString):BOOL; external 'IS7zipExtract@files:ISDone.dll stdcall';
function ISPrecompExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutFile: AnsiString; DeleteInFile:boolean; callback: longword):BOOL; external 'ISPrecompExtract@files:ISDone.dll stdcall';
function ISSRepExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutFile, IdxFile: AnsiString; DeleteInFile:boolean; callback: longword):BOOL; external 'ISSrepExtract@files:ISDone.dll stdcall';
function ShowChangeDiskWindow(Text, DefaultPath, SearchFile:AnsiString):BOOL; external 'ShowChangeDiskWindow@files:ISDone.dll stdcall';
function StartRecord(RecordFileName:AnsiString; AllComponents:longword):BOOL; external 'StartRecord@files:ISDone.dll stdcall';
function CheckPoint(CurComponent:Integer):BOOL; external 'CheckPoint@files:ISDone.dll stdcall';
function StopRecord:BOOL; external 'StopRecord@files:ISDone.dll stdcall';
//// iamges support
function WrapBtnCallback(Callback: TBtnEventProc; ParamCount: Integer): Longword; external 'wrapcallback@{tmp}\innocallback.dll stdcall delayload';
function ImgLoad(Wnd :HWND; FileName AnsiChar; Left, Top, Width, Height :integer; Stretch, IsBkg :boolean) :Longint; external 'ImgLoad@{tmp}\botva2.dll stdcall delayload';
procedure ImgSetVisiblePart(img:Longint; NewLeft, NewTop, NewWidth, NewHeight : integer); external 'ImgSetVisiblePart@{tmp}\botva2.dll stdcall delayload';
procedure ImgGetVisiblePart(img:Longint; var Left, Top, Width, Height : integer); external 'ImgGetVisiblePart@{tmp}\botva2.dll stdcall delayload';
procedure ImgSetPosition(img :Longint; NewLeft, NewTop, NewWidth, NewHeight :integer); external 'ImgSetPosition@{tmp}\botva2.dll stdcall delayload';
procedure ImgGetPosition(img:Longint; var Left, Top, Width, Height:integer); external 'ImgGetPosition@{tmp}\botva2.dll stdcall delayload';
procedure ImgSetVisibility(img :Longint; Visible :boolean); external 'ImgSetVisibility@{tmp}\botva2.dll stdcall delayload';
function ImgGetVisibility(img:Longint):boolean; external 'ImgGetVisibility@{tmp}\botva2.dll stdcall delayload';
procedure ImgRelease(img :Longint); external 'ImgRelease@{tmp}\botva2.dll stdcall delayload';
procedure ImgApplyChanges(h:HWND); external 'ImgApplyChanges@{tmp}\botva2.dll stdcall delayload';
function BtnCreate(hParent :HWND; Left, Top, Width, Height :integer; FileName AnsiChar; ShadowWidth :integer; IsCheckBtn :boolean) :HWND; external 'BtnCreate@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetText(h :HWND; Text AnsiChar); external 'BtnSetText@{tmp}\botva2.dll stdcall delayload';
function BtnGetText_(h:HWND; var Text:TTextBuf):integer; external 'BtnGetText@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetTextAlignment(h :HWND; HorIndent, VertIndent :integer; Alignment WORD); external 'BtnSetTextAlignment@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetFont(h :HWND; Font :Cardinal); external 'BtnSetFont@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetFontColor(h :HWND; NormalFontColor, FocusedFontColor, PressedFontColor, DisabledFontColor :Cardinal); external 'BtnSetFontColor@{tmp}\botva2.dll stdcall delayload';
function BtnGetVisibility(h :HWND) :boolean; external 'BtnGetVisibility@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetVisibility(h :HWND; Value :boolean); external 'BtnSetVisibility@{tmp}\botva2.dll stdcall delayload';
function BtnGetEnabled(h :HWND) :boolean; external 'BtnGetEnabled@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetEnabled(h :HWND; Value :boolean); external 'BtnSetEnabled@{tmp}\botva2.dll stdcall delayload';
function BtnGetChecked(h :HWND) :boolean; external 'BtnGetChecked@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetChecked(h :HWND; Value :boolean); external 'BtnSetChecked@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetEvent(h :HWND; EventID :integer; Event :Longword); external 'BtnSetEvent@{tmp}\botva2.dll stdcall delayload';
procedure BtnGetPosition(h:HWND; var Left, Top, Width, Height: integer); external 'BtnGetPosition@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetPosition(h:HWND; NewLeft, NewTop, NewWidth, NewHeight: integer); external 'BtnSetPosition@{tmp}\botva2.dll stdcall delayload';
procedure BtnRefresh(h :HWND); external 'BtnRefresh@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetCursor(h:HWND; hCur:Cardinal); external 'BtnSetCursor@{tmp}\botva2.dll stdcall delayload';
function GetSysCursorHandle(id:integer):Cardinal; external 'GetSysCursorHandle@{tmp}\botva2.dll stdcall delayload';
procedure gdipShutdown; external 'gdipShutdown@{tmp}\botva2.dll stdcall delayload';
procedure CreateFormFromImage(h:HWND; FileName:PAnsiChar); external 'CreateFormFromImage@{tmp}\botva2.dll stdcall delayload';
function CreateBitmapRgn(DC: LongWord; Bitmap: HBITMAP; TransClr: DWORD; dX:integer; dY:integer): LongWord; external 'CreateBitmapRgn@{tmp}\botva2.dll stdcall delayload';
procedure SetMinimizeAnimation(Value: Boolean); external 'SetMinimizeAnimation@{tmp}\botva2.dll stdcall delayload';
function GetMinimizeAnimation: Boolean; external 'GetMinimizeAnimation@{tmp}\botva2.dll stdcall delayload';
function ArrayOfAnsiCharToAnsiString(a:TTextBuf):AnsiString;
var
i:integer;
begin
i:=0;
Result:='';
while a[i]<>#0 do begin
Result:=Result+a[i];
i:=i+1;
end;
end;
function BtnGetText(hBtn:HWND):AnsiString;
var
buf:TTextBuf;
begin
BtnGetText_(hBtn,buf);
Result:=ArrayOfAnsiCharToAnsiString(buf); //ìåäëåííî ðàáîòàåò, êàê ïî äðóãîìó ñäåëàòü õç
end;
////
function win7_init(Handle:HWND; Left, Top, Right, Bottom : Integer): Boolean;
external 'win7_init@files:ISWin7.dll stdcall';
procedure win7_free;
external 'win7_free@files:ISWin7.dll stdcall';
function ProgressCallback(Pct: integer; CurrentFile:AnsiString): longword;
var Msg: TMessage;
begin
if Pct<=ISDoneProgressBar.Max then
ISDoneProgressBar.Position := Pct;
LabelPct.Caption := IntToStr(Pct div 10)+'.'+chr(48 + Pct mod 10)+'%';
LabelCurrFileName.Caption :=ExpandConstant('{cm:ExtractedFile} ')+CurrentFile;
while PeekMessage(Msg, 0, 0, 0, 1) do begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
Result := Cancel;
end;
procedure CancelButtonOnClick(Sender: TObject);
begin
if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then Cancel:=1;
end;
procedure InitializeWizard();
begin
// Äëÿ áîëåå êðàñèâîãî îòîáðàæåíèÿ óìåíüøàåì íèæíþþ ãðàíèöó
WizardForm.Bevel.Height := 1;
// Èíèöèàëèçèðóåì áèáëèîòåêó
if win7_init(WizardForm.Handle, 0, 0, 0, 47) then
begin
WizardForm.Caption := 'Âêëþ÷åíî';
end
else
begin
WizardForm.Caption := 'Âûêëþ÷åíî';
end;
ExtractTemporaryFile('DirBitmap.bmp');
ExtractTemporaryFile('logo2.png');
LogoImage := TBitmapImage.Create(WizardForm);
with LogoImage do
begin
SetBounds(ScaleX(10), ScaleY(320), ScaleX(175), ScaleY(35));
Bitmap.LoadFromFile(ExpandConstant('{tmp}\logo2.png'));
// Img:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\logo2.png'),ScaleX(0), ScaleY(0),ScaleX(175),ScaleY(35),True,True);
Parent := WizardForm;
end;
with WizardForm.WizardSmallBitmapImage do
begin
SetBounds(ScaleX(0), ScaleY(2), ScaleX(497), ScaleY(56));
end;
with WizardForm.SelectDirBitmapImage do
begin
SetBounds(ScaleX(0), ScaleY(0), ScaleX(42), ScaleY(42));
end;
WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\DirBitmap.bmp'));
WizardForm.MainPanel.Color := clGray;
WizardForm.WizardBitmapImage.Width := 497;
WizardForm.WizardBitmapImage2.Width := 497;
WizardForm.PageNameLabel.Width:=0;
WizardForm.PageDescriptionLabel.Hide;
WizardForm.Font.Color:=clblack;
// WizardForm.Color:=clGray; // Öâåò ïàíåë³ òà øî âíèçó
WizardForm.WelcomePage.Color:=clGray;
WizardForm.InnerPage.Color:=clGray; // öâåò ïàíåëè ïîñåðåä èíñòàëà
WizardForm.SelectDirPage.Color:=clGray;
WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
with TLabel.Create(WizardForm) do begin
AutoSize:=WizardForm.WelcomeLabel1.AutoSize;
Left:=WizardForm.WelcomeLabel1.Left;
Top:=WizardForm.WelcomeLabel1.Top
Width:=WizardForm.WelcomeLabel1.Width
Height:=WizardForm.WelcomeLabel1.Height
WordWrap:=WizardForm.WelcomeLabel1.WordWrap;
Font.Name:=WizardForm.WelcomeLabel1.Font.Name;
Font.Size:=WizardForm.WelcomeLabel1.Font.Size;
Font.Color:=clblack; // text colour âåðõíº
Font.Style:=WizardForm.WelcomeLabel1.Font.Style;
Caption:=WizardForm.WelcomeLabel1.Caption;
Parent:=WizardForm.WelcomeLabel1.Parent
Transparent:=True
end;
with TLabel.Create(WizardForm) do begin
AutoSize:=WizardForm.WelcomeLabel2.AutoSize;
Left:=WizardForm.WelcomeLabel2.Left;
Top:=WizardForm.WelcomeLabel2.Top
Width:=WizardForm.WelcomeLabel2.Width
Height:=WizardForm.WelcomeLabel2.Height
WordWrap:=WizardForm.WelcomeLabel2.WordWrap;
Font.Name:=WizardForm.WelcomeLabel2.Font.Name;
Font.Size:=WizardForm.WelcomeLabel2.Font.Size;
Font.Color:=clblack; // text colour íèæíº
Font.Style:=WizardForm.WelcomeLabel2.Font.Style;
Caption:=WizardForm.WelcomeLabel2.Caption;
Parent:=WizardForm.WelcomeLabel2.Parent
Transparent:=True
end;
FinishedLabel:= TLabel.Create(WizardForm);
WizardForm.FinishedLabel.Hide;
with WizardForm.RunList do
begin
Left := ScaleX(264);
// (3 - 241) + (2 - ?) + (1 - ?)-;
Top := ScaleY(241);
Width := ScaleX(237);
Height := ScaleY(91);
Color := clgray;
Font.Color := clWhite;
ParentColor := False;
end;
//
with WizardForm do
begin
// Color:=clWindow;
end;
//
//
with FinishedLabel do begin
Font.Size:=9;
Font.Color:=clSilver;
Font.Style:=[fsBold];
Parent:=WizardForm;
Transparent:=True;
end;
WizardForm.FinishedHeadingLabel.Hide;
with TLabel.Create(WizardForm) do begin
AutoSize:=WizardForm.FinishedHeadingLabel.AutoSize;
Left:=WizardForm.FinishedHeadingLabel.Left;
Top:=WizardForm.FinishedHeadingLabel.Top
Width:=WizardForm.FinishedHeadingLabel.Width
Height:=WizardForm.FinishedHeadingLabel.Height
WordWrap:=WizardForm.FinishedHeadingLabel.WordWrap;
Font.Name:=WizardForm.FinishedHeadingLabel.Font.Name;
Font.Size:=WizardForm.FinishedHeadingLabel.Font.Size;
Font.Color:=clblack; // text colour â êîíöå èíñòàëëÿòîðà
Font.Style:=WizardForm.FinishedHeadingLabel.Font.Style;
Caption:=WizardForm.FinishedHeadingLabel.Caption;
Parent:=WizardForm.FinishedHeadingLabel.Parent;
Transparent:=True;
end;
FinishedLabel:= TLabel.Create(WizardForm)
WizardForm.FinishedLabel.Hide;
with TLabel.Create(WizardForm) do begin
WordWrap:=WizardForm.FinishedLabel.WordWrap;
Font.Name:=WizardForm.FinishedLabel.Font.Name;
Font.Size:=WizardForm.FinishedLabel.Font.Size;
Font.Color:=clgreen; // text colour
Font.Style:=WizardForm.FinishedLabel.Font.Style;
Caption:=WizardForm.FinishedLabel.Caption;
Parent:=WizardForm.FinishedLabel.Parent;
Transparent:=True;
end;
ISDoneProgressBar := TNewProgressBar.Create(WizardForm);
with ISDoneProgressBar do begin
Left := ScaleX(0);
Top := ScaleY(40);
Width := ScaleX(417);
Max := 1000;
Height := WizardForm.ProgressGauge.Height;
Parent := WizardForm.InstallingPage;
end;
LabelPct := TLabel.Create(WizardForm);
with LabelPct do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Width := WizardForm.ProgressGauge.Width;
Top := WizardForm.ProgressGauge.Top + ScaleY(50);
Font.Size := 10;
Font.Color := clSilver;
Alignment := taCenter;
Caption := '';
end;
LabelCurrFileName := TLabel.Create(WizardForm);
with LabelCurrFileName do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Width := WizardForm.ProgressGauge.Width;
Left := ScaleX(0);
Top := WizardForm.ProgressGauge.Top + ScaleY(25);
Caption := '';
end;
end;
procedure DeinitializeSetup();
begin
// Îòêëþ÷àåì áèáëèîòåêó
win7_free;
end;
Procedure CurPageChanged(CurPageID: Integer);
Begin
if (CurPageID = wpFinished) and MyError then
begin
with TLabel.Create(WizardForm) do begin
WizardForm.FinishedLabel.Hide;
AutoSize:=WizardForm.FinishedHeadingLabel.AutoSize;
Left:=WizardForm.FinishedLabel.Left;
Top:=WizardForm.FinishedLabel.Top
Width:=WizardForm.FinishedLabel.Width
Height:=WizardForm.FinishedLabel.Height
WordWrap:=WizardForm.FinishedLabel.WordWrap;
Font.Name:=WizardForm.FinishedLabel.Font.Name;
Font.Size:=WizardForm.FinishedLabel.Font.Size;
WizardForm.Caption:= ExpandConstant('{cm:Error}');
WizardForm.FinishedLabel.Font.Color:= clyellow;
WizardForm.FinishedLabel.Caption:= SetupMessage(msgSetupAborted);
Font.Color:=clwhite;
Font.Style:=WizardForm.FinishedLabel.Font.Style;
Caption:=WizardForm.FinishedLabel.Caption;
Parent:=WizardForm.FinishedLabel.Parent
Transparent:=True
end;
end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
var ChComp, TmpValue:longword;
n:integer;
begin
if CurStep = ssPostInstall then begin
WizardForm.ProgressGauge.Hide;
WizardForm.CancelButton.Visible:=false;
MyCancelButton:=TButton.Create(WizardForm);
with MyCancelButton do begin
Parent:=WizardForm;
Width:=ScaleX(135);
Caption:=ExpandConstant('{cm:CancelButton}');
Left:=ScaleX(360);
Top:=WizardForm.cancelbutton.top;
OnClick:=@CancelButtonOnClick;
end;
CallBack:=WrapMyCallback(@ProgressCallback,2);
Cancel:=0;
OveralPct:=0;
#ifdef records
ExtractTemporaryFile('records.inf');
#endif
#ifdef precomp038
ExtractTemporaryFile('packjpg_dll.dll');
ExtractTemporaryFile('RTconsole.exe');
ExtractTemporaryFile('precomp038.exe');
ExtractTemporaryFile('zlib1.dll');
#endif
ChComp:=0;
StartRecord(ExpandConstant('{src}\records.inf'),ChComp);
repeat
MyError:=true;
CallBack:=WrapMyCallback(@ProgressCallback,2);
OveralPct:=0;
ISArcExtract ( 0, OveralPct, 25, ExpandConstant('{src}\muzk.arc'), ExpandConstant('{app}'),false,CallBack, '', '', '')
ISSRepExtract ( 0, OveralPct, 25, ExpandConstant('{app}\muzk.srep'), ExpandConstant('{app}\muzk.pcf'), '', true, CallBack)
ISPrecompExtract( 0, OveralPct, 25, ExpandConstant('{app}\muzk.pcf'), ExpandConstant('{app}\muzk.7z'),true, CallBack)
IS7ZipExtract ( 0, OveralPct, 25, ExpandConstant('{app}\muzk.7z'), ExpandConstant('{app}'),true, CallBack, '')
MyError:=false;
until true;
StopRecord;
MyCancelButton.Visible:=false;
WizardForm.CancelButton.Visible:=true;
end;
if (CurStep=ssPostInstall) and MyError then
Exec(ExpandConstant('{uninstallexe}'), '/SILENT','', sw_Hide, ewWaitUntilTerminated, n);
end;[/more]
Что нужно добавить в скрипт, что-бы отображались *.PNG изображения?
Вот скрипт:
[more]#define GameName "Crysis Warhead"
#define NeedSize "10000000000"
#define precomp038
#define ExeName "Crysis2Launcher.exe"
#define ExeDir "bin32\"
[Setup]
; ³êîíêà ³íñòàëà
SetupIconFile=iconset.ico
AppName={#GameName}
AppVerName={#GameName}
DefaultDirName={pf}\{#GameName}
DefaultGroupName={#GameName}
OutputDir=.
; íàçâà ôàéëà ³íñòàëÿòîðà
OutputBaseFilename=Setup
SolidCompression=true
#ifdef NeedSize
ExtraDiskSpaceRequired={#NeedSize}
#endif
; ôîí
WizardImageFile=img.bmp
; øàïêà
WizardSmallImageFile=shapka.bmp
Compression=lzma2/ultra64
InternalCompressLevel=ultra64
[Types]
Name: "full"; Description: "Full installation"; Flags: iscustom
[Components]
Name: "text"; Description: "ßçûê ñóáòèòðîâ"; Types: full; Flags: fixed
Name: "text\rus"; Description: "Ðóññêèé"; Flags: exclusive; ExtraDiskSpaceRequired: 60000000
Name: "text\eng"; Description: "Àíãëèéñêèé"; Flags: exclusive; ExtraDiskSpaceRequired: 58000000
[Run]
Filename: {src}\Redist\dxwebsetup.exe; Description: DirectX 9.0c; WorkingDir: "{src}\redist"; Parameters: /q; StatusMsg: Óñòàíîâêà DirectX 9.0c...; Flags: runascurrentuser nowait postinstall skipifsilent;
Filename: {src}\Redist\vcredist_x86_2005_sp1.exe; Description: Microsoft Visual C++ Redistibutable 2005...; Parameters: /q; StatusMsg: Microsoft Visual C++ Redistibutable 2005...; Flags: nowait postinstall skipifsilent ;
Filename: {src}\Redist\XLive\xLiveRedist.exe; Description: xLive; StatusMsg: "Óñòàíîâêà XLive..."; Flags: runhidden waituntilterminated postinstall;
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: botva2.dll; DestDir: {app}; Flags: ignoreversion; Attribs: hidden system;
Source: ISWin7.dll; DestDir: {tmp}; Flags: dontcopy
Source: "img.bmp"; DestDir: "{app}"; Attribs: hidden system;
; çàì³íèòü
Source: "C:\Users\ntrx\Desktop\1\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "logo2.png"; DestDir: "{app}"; Attribs: hidden system;
Source: "DirBitmap.bmp"; DestDir: "{tmp}"; Flags: dontcopy
Source: ISDone.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy
#ifdef records
Source: records.inf; DestDir: {tmp}; Flags: dontcopy
#endif
#ifdef precomp038
Source: Include\packjpg_dll.dll; DestDir: {tmp}; Flags: dontcopy
Source: Include\RTconsole.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\precomp038.exe; DestDir: {tmp}; Flags: dontcopy
Source: Include\zlib1.dll; DestDir: {tmp}; Flags: dontcopy
#endif
[Icons]
Name: {group}\{#GameName}; Filename: {app}\{#ExeDir}{#ExeName}; WorkingDir: {app}\{#ExeDir}; Comment: {#GameName};
Name: {group}\Óäàëèòü èãðó; Filename: {app}\Uninstall\unins000; WorkingDir: {app}\Uninstall\; Comment: Óäàëèòü èãðó;
; ²êîíêà íà ðîá. ñò³ë
Name: "{commondesktop}\{#GameName}"; Filename: "{app}\{#ExeDir}{#ExeName}"; WorkingDir: "{app}\{#ExeDir}"; Comment: "{#GameName}"; Tasks: desktopicon;
[CustomMessages]
russian.ExtractedFile=Ðàñïàêîâûâàåòñÿ ôàéë:
russian.CancelButton=Îòìåíèòü ðàñïàêîâêó
russian.Error=Îøèáêà ðàñïàêîâêè!
russian.Soft=Óñòàíîâèòü äîïîëíèòåëüíîå ÏÎ
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[UninstallDelete]
Type: filesandordirs; Name: {app}
[ Code]
var
LabelPct,LabelCurrFileName: TLabel;
ISDoneProgressBar: TNewProgressBar;
MyCancelButton: TButton;
OveralPct,Cancel:integer;
CallBack:longword;
MyError:boolean;
FinishedLabel: TLabel;
Text: TNewStaticText;
LogoImage: TBitmapImage;
// WizardImg: String;
const
BTN_MAX_PATH = 1024; //íå èçìåíÿòü !!!
BtnClickEventID = 1;
BtnMouseEnterEventID = 2;
BtnMouseLeaveEventID = 3;
BtnMouseMoveEventID = 4;
BtnMouseDownEventID = 5;
BtnMouseUpEventID = 6;
balLeft = 0; //âûðàâíèâàíèå òåêñòà ïî ëåâîìó êðàþ
balCenter = 1; //ãîðèçîíòàëüíîå âûðàâíèâàíèå òåêñòà ïî öåíòðó
balRight = 2; //âûðàâíèâàíèå òåêñòà ïî ïðàâîìó êðàþ
balVCenter = 4; //âåðòèêàëüíîå âûðàâíèâàíèå òåêñòà ïî öåíòðó
type
#ifndef UNICODE
AnsiChar = Char;
#endif
TBtnEventProc = procedure(h:HWND);
TTextBuf = array [0..BTN_MAX_PATH-1] of AnsiChar; //íå ìåíÿòü ðàçìåðíîñòü ìàññèâà !!!
type
TCallback = function (Pct: integer;CurrentFile:string): longword;
TMessage = record hWnd: HWND; msg, wParam: Word; lParam: LongWord; Time: TFileTime; pt: TPoint; end;
function PeekMessage(var lpMsg: TMessage; hWnd: HWND; wMsgFilterMin, wMsgFilterMax, wRemoveMsg: UINT): BOOL; external 'PeekMessageA@user32.dll stdcall';
function TranslateMessage(const lpMsg: TMessage): BOOL; external 'TranslateMessage@user32.dll stdcall';
function DispatchMessage(const lpMsg: TMessage): Longint; external 'DispatchMessageA@user32.dll stdcall';
function WrapMyCallback(callback:TCallback; paramcount:integer):longword;external 'wrapcallback@files:innocallback.dll stdcall';
function ISArcExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; callback: longword; Password, CfgFile, WorkPath: AnsiString):BOOL; external 'ISArcExtract@files:ISDone.dll stdcall';
function IS7ZipExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutPath: AnsiString; DeleteInFile:boolean; callback: longword; Password: AnsiString):BOOL; external 'IS7zipExtract@files:ISDone.dll stdcall';
function ISPrecompExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutFile: AnsiString; DeleteInFile:boolean; callback: longword):BOOL; external 'ISPrecompExtract@files:ISDone.dll stdcall';
function ISSRepExtract(CurComponent:longword; var OveralPct:integer; PctOfTotal:double; InName, OutFile, IdxFile: AnsiString; DeleteInFile:boolean; callback: longword):BOOL; external 'ISSrepExtract@files:ISDone.dll stdcall';
function ShowChangeDiskWindow(Text, DefaultPath, SearchFile:AnsiString):BOOL; external 'ShowChangeDiskWindow@files:ISDone.dll stdcall';
function StartRecord(RecordFileName:AnsiString; AllComponents:longword):BOOL; external 'StartRecord@files:ISDone.dll stdcall';
function CheckPoint(CurComponent:Integer):BOOL; external 'CheckPoint@files:ISDone.dll stdcall';
function StopRecord:BOOL; external 'StopRecord@files:ISDone.dll stdcall';
//// iamges support
function WrapBtnCallback(Callback: TBtnEventProc; ParamCount: Integer): Longword; external 'wrapcallback@{tmp}\innocallback.dll stdcall delayload';
function ImgLoad(Wnd :HWND; FileName AnsiChar; Left, Top, Width, Height :integer; Stretch, IsBkg :boolean) :Longint; external 'ImgLoad@{tmp}\botva2.dll stdcall delayload';
procedure ImgSetVisiblePart(img:Longint; NewLeft, NewTop, NewWidth, NewHeight : integer); external 'ImgSetVisiblePart@{tmp}\botva2.dll stdcall delayload';
procedure ImgGetVisiblePart(img:Longint; var Left, Top, Width, Height : integer); external 'ImgGetVisiblePart@{tmp}\botva2.dll stdcall delayload';
procedure ImgSetPosition(img :Longint; NewLeft, NewTop, NewWidth, NewHeight :integer); external 'ImgSetPosition@{tmp}\botva2.dll stdcall delayload';
procedure ImgGetPosition(img:Longint; var Left, Top, Width, Height:integer); external 'ImgGetPosition@{tmp}\botva2.dll stdcall delayload';
procedure ImgSetVisibility(img :Longint; Visible :boolean); external 'ImgSetVisibility@{tmp}\botva2.dll stdcall delayload';
function ImgGetVisibility(img:Longint):boolean; external 'ImgGetVisibility@{tmp}\botva2.dll stdcall delayload';
procedure ImgRelease(img :Longint); external 'ImgRelease@{tmp}\botva2.dll stdcall delayload';
procedure ImgApplyChanges(h:HWND); external 'ImgApplyChanges@{tmp}\botva2.dll stdcall delayload';
function BtnCreate(hParent :HWND; Left, Top, Width, Height :integer; FileName AnsiChar; ShadowWidth :integer; IsCheckBtn :boolean) :HWND; external 'BtnCreate@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetText(h :HWND; Text AnsiChar); external 'BtnSetText@{tmp}\botva2.dll stdcall delayload';
function BtnGetText_(h:HWND; var Text:TTextBuf):integer; external 'BtnGetText@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetTextAlignment(h :HWND; HorIndent, VertIndent :integer; Alignment WORD); external 'BtnSetTextAlignment@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetFont(h :HWND; Font :Cardinal); external 'BtnSetFont@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetFontColor(h :HWND; NormalFontColor, FocusedFontColor, PressedFontColor, DisabledFontColor :Cardinal); external 'BtnSetFontColor@{tmp}\botva2.dll stdcall delayload';
function BtnGetVisibility(h :HWND) :boolean; external 'BtnGetVisibility@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetVisibility(h :HWND; Value :boolean); external 'BtnSetVisibility@{tmp}\botva2.dll stdcall delayload';
function BtnGetEnabled(h :HWND) :boolean; external 'BtnGetEnabled@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetEnabled(h :HWND; Value :boolean); external 'BtnSetEnabled@{tmp}\botva2.dll stdcall delayload';
function BtnGetChecked(h :HWND) :boolean; external 'BtnGetChecked@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetChecked(h :HWND; Value :boolean); external 'BtnSetChecked@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetEvent(h :HWND; EventID :integer; Event :Longword); external 'BtnSetEvent@{tmp}\botva2.dll stdcall delayload';
procedure BtnGetPosition(h:HWND; var Left, Top, Width, Height: integer); external 'BtnGetPosition@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetPosition(h:HWND; NewLeft, NewTop, NewWidth, NewHeight: integer); external 'BtnSetPosition@{tmp}\botva2.dll stdcall delayload';
procedure BtnRefresh(h :HWND); external 'BtnRefresh@{tmp}\botva2.dll stdcall delayload';
procedure BtnSetCursor(h:HWND; hCur:Cardinal); external 'BtnSetCursor@{tmp}\botva2.dll stdcall delayload';
function GetSysCursorHandle(id:integer):Cardinal; external 'GetSysCursorHandle@{tmp}\botva2.dll stdcall delayload';
procedure gdipShutdown; external 'gdipShutdown@{tmp}\botva2.dll stdcall delayload';
procedure CreateFormFromImage(h:HWND; FileName:PAnsiChar); external 'CreateFormFromImage@{tmp}\botva2.dll stdcall delayload';
function CreateBitmapRgn(DC: LongWord; Bitmap: HBITMAP; TransClr: DWORD; dX:integer; dY:integer): LongWord; external 'CreateBitmapRgn@{tmp}\botva2.dll stdcall delayload';
procedure SetMinimizeAnimation(Value: Boolean); external 'SetMinimizeAnimation@{tmp}\botva2.dll stdcall delayload';
function GetMinimizeAnimation: Boolean; external 'GetMinimizeAnimation@{tmp}\botva2.dll stdcall delayload';
function ArrayOfAnsiCharToAnsiString(a:TTextBuf):AnsiString;
var
i:integer;
begin
i:=0;
Result:='';
while a[i]<>#0 do begin
Result:=Result+a[i];
i:=i+1;
end;
end;
function BtnGetText(hBtn:HWND):AnsiString;
var
buf:TTextBuf;
begin
BtnGetText_(hBtn,buf);
Result:=ArrayOfAnsiCharToAnsiString(buf); //ìåäëåííî ðàáîòàåò, êàê ïî äðóãîìó ñäåëàòü õç
end;
////
function win7_init(Handle:HWND; Left, Top, Right, Bottom : Integer): Boolean;
external 'win7_init@files:ISWin7.dll stdcall';
procedure win7_free;
external 'win7_free@files:ISWin7.dll stdcall';
function ProgressCallback(Pct: integer; CurrentFile:AnsiString): longword;
var Msg: TMessage;
begin
if Pct<=ISDoneProgressBar.Max then
ISDoneProgressBar.Position := Pct;
LabelPct.Caption := IntToStr(Pct div 10)+'.'+chr(48 + Pct mod 10)+'%';
LabelCurrFileName.Caption :=ExpandConstant('{cm:ExtractedFile} ')+CurrentFile;
while PeekMessage(Msg, 0, 0, 0, 1) do begin
TranslateMessage(Msg);
DispatchMessage(Msg);
end;
Result := Cancel;
end;
procedure CancelButtonOnClick(Sender: TObject);
begin
if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then Cancel:=1;
end;
procedure InitializeWizard();
begin
// Äëÿ áîëåå êðàñèâîãî îòîáðàæåíèÿ óìåíüøàåì íèæíþþ ãðàíèöó
WizardForm.Bevel.Height := 1;
// Èíèöèàëèçèðóåì áèáëèîòåêó
if win7_init(WizardForm.Handle, 0, 0, 0, 47) then
begin
WizardForm.Caption := 'Âêëþ÷åíî';
end
else
begin
WizardForm.Caption := 'Âûêëþ÷åíî';
end;
ExtractTemporaryFile('DirBitmap.bmp');
ExtractTemporaryFile('logo2.png');
LogoImage := TBitmapImage.Create(WizardForm);
with LogoImage do
begin
SetBounds(ScaleX(10), ScaleY(320), ScaleX(175), ScaleY(35));
Bitmap.LoadFromFile(ExpandConstant('{tmp}\logo2.png'));
// Img:=ImgLoad(WizardForm.Handle,ExpandConstant('{tmp}\logo2.png'),ScaleX(0), ScaleY(0),ScaleX(175),ScaleY(35),True,True);
Parent := WizardForm;
end;
with WizardForm.WizardSmallBitmapImage do
begin
SetBounds(ScaleX(0), ScaleY(2), ScaleX(497), ScaleY(56));
end;
with WizardForm.SelectDirBitmapImage do
begin
SetBounds(ScaleX(0), ScaleY(0), ScaleX(42), ScaleY(42));
end;
WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\DirBitmap.bmp'));
WizardForm.MainPanel.Color := clGray;
WizardForm.WizardBitmapImage.Width := 497;
WizardForm.WizardBitmapImage2.Width := 497;
WizardForm.PageNameLabel.Width:=0;
WizardForm.PageDescriptionLabel.Hide;
WizardForm.Font.Color:=clblack;
// WizardForm.Color:=clGray; // Öâåò ïàíåë³ òà øî âíèçó
WizardForm.WelcomePage.Color:=clGray;
WizardForm.InnerPage.Color:=clGray; // öâåò ïàíåëè ïîñåðåä èíñòàëà
WizardForm.SelectDirPage.Color:=clGray;
WizardForm.WelcomeLabel1.Hide;
WizardForm.WelcomeLabel2.Hide;
with TLabel.Create(WizardForm) do begin
AutoSize:=WizardForm.WelcomeLabel1.AutoSize;
Left:=WizardForm.WelcomeLabel1.Left;
Top:=WizardForm.WelcomeLabel1.Top
Width:=WizardForm.WelcomeLabel1.Width
Height:=WizardForm.WelcomeLabel1.Height
WordWrap:=WizardForm.WelcomeLabel1.WordWrap;
Font.Name:=WizardForm.WelcomeLabel1.Font.Name;
Font.Size:=WizardForm.WelcomeLabel1.Font.Size;
Font.Color:=clblack; // text colour âåðõíº
Font.Style:=WizardForm.WelcomeLabel1.Font.Style;
Caption:=WizardForm.WelcomeLabel1.Caption;
Parent:=WizardForm.WelcomeLabel1.Parent
Transparent:=True
end;
with TLabel.Create(WizardForm) do begin
AutoSize:=WizardForm.WelcomeLabel2.AutoSize;
Left:=WizardForm.WelcomeLabel2.Left;
Top:=WizardForm.WelcomeLabel2.Top
Width:=WizardForm.WelcomeLabel2.Width
Height:=WizardForm.WelcomeLabel2.Height
WordWrap:=WizardForm.WelcomeLabel2.WordWrap;
Font.Name:=WizardForm.WelcomeLabel2.Font.Name;
Font.Size:=WizardForm.WelcomeLabel2.Font.Size;
Font.Color:=clblack; // text colour íèæíº
Font.Style:=WizardForm.WelcomeLabel2.Font.Style;
Caption:=WizardForm.WelcomeLabel2.Caption;
Parent:=WizardForm.WelcomeLabel2.Parent
Transparent:=True
end;
FinishedLabel:= TLabel.Create(WizardForm);
WizardForm.FinishedLabel.Hide;
with WizardForm.RunList do
begin
Left := ScaleX(264);
// (3 - 241) + (2 - ?) + (1 - ?)-;
Top := ScaleY(241);
Width := ScaleX(237);
Height := ScaleY(91);
Color := clgray;
Font.Color := clWhite;
ParentColor := False;
end;
//
with WizardForm do
begin
// Color:=clWindow;
end;
//
//
with FinishedLabel do begin
Font.Size:=9;
Font.Color:=clSilver;
Font.Style:=[fsBold];
Parent:=WizardForm;
Transparent:=True;
end;
WizardForm.FinishedHeadingLabel.Hide;
with TLabel.Create(WizardForm) do begin
AutoSize:=WizardForm.FinishedHeadingLabel.AutoSize;
Left:=WizardForm.FinishedHeadingLabel.Left;
Top:=WizardForm.FinishedHeadingLabel.Top
Width:=WizardForm.FinishedHeadingLabel.Width
Height:=WizardForm.FinishedHeadingLabel.Height
WordWrap:=WizardForm.FinishedHeadingLabel.WordWrap;
Font.Name:=WizardForm.FinishedHeadingLabel.Font.Name;
Font.Size:=WizardForm.FinishedHeadingLabel.Font.Size;
Font.Color:=clblack; // text colour â êîíöå èíñòàëëÿòîðà
Font.Style:=WizardForm.FinishedHeadingLabel.Font.Style;
Caption:=WizardForm.FinishedHeadingLabel.Caption;
Parent:=WizardForm.FinishedHeadingLabel.Parent;
Transparent:=True;
end;
FinishedLabel:= TLabel.Create(WizardForm)
WizardForm.FinishedLabel.Hide;
with TLabel.Create(WizardForm) do begin
WordWrap:=WizardForm.FinishedLabel.WordWrap;
Font.Name:=WizardForm.FinishedLabel.Font.Name;
Font.Size:=WizardForm.FinishedLabel.Font.Size;
Font.Color:=clgreen; // text colour
Font.Style:=WizardForm.FinishedLabel.Font.Style;
Caption:=WizardForm.FinishedLabel.Caption;
Parent:=WizardForm.FinishedLabel.Parent;
Transparent:=True;
end;
ISDoneProgressBar := TNewProgressBar.Create(WizardForm);
with ISDoneProgressBar do begin
Left := ScaleX(0);
Top := ScaleY(40);
Width := ScaleX(417);
Max := 1000;
Height := WizardForm.ProgressGauge.Height;
Parent := WizardForm.InstallingPage;
end;
LabelPct := TLabel.Create(WizardForm);
with LabelPct do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Width := WizardForm.ProgressGauge.Width;
Top := WizardForm.ProgressGauge.Top + ScaleY(50);
Font.Size := 10;
Font.Color := clSilver;
Alignment := taCenter;
Caption := '';
end;
LabelCurrFileName := TLabel.Create(WizardForm);
with LabelCurrFileName do begin
Parent := WizardForm.InstallingPage;
AutoSize := False;
Width := WizardForm.ProgressGauge.Width;
Left := ScaleX(0);
Top := WizardForm.ProgressGauge.Top + ScaleY(25);
Caption := '';
end;
end;
procedure DeinitializeSetup();
begin
// Îòêëþ÷àåì áèáëèîòåêó
win7_free;
end;
Procedure CurPageChanged(CurPageID: Integer);
Begin
if (CurPageID = wpFinished) and MyError then
begin
with TLabel.Create(WizardForm) do begin
WizardForm.FinishedLabel.Hide;
AutoSize:=WizardForm.FinishedHeadingLabel.AutoSize;
Left:=WizardForm.FinishedLabel.Left;
Top:=WizardForm.FinishedLabel.Top
Width:=WizardForm.FinishedLabel.Width
Height:=WizardForm.FinishedLabel.Height
WordWrap:=WizardForm.FinishedLabel.WordWrap;
Font.Name:=WizardForm.FinishedLabel.Font.Name;
Font.Size:=WizardForm.FinishedLabel.Font.Size;
WizardForm.Caption:= ExpandConstant('{cm:Error}');
WizardForm.FinishedLabel.Font.Color:= clyellow;
WizardForm.FinishedLabel.Caption:= SetupMessage(msgSetupAborted);
Font.Color:=clwhite;
Font.Style:=WizardForm.FinishedLabel.Font.Style;
Caption:=WizardForm.FinishedLabel.Caption;
Parent:=WizardForm.FinishedLabel.Parent
Transparent:=True
end;
end;
end;
procedure CurStepChanged(CurStep: TSetupStep);
var ChComp, TmpValue:longword;
n:integer;
begin
if CurStep = ssPostInstall then begin
WizardForm.ProgressGauge.Hide;
WizardForm.CancelButton.Visible:=false;
MyCancelButton:=TButton.Create(WizardForm);
with MyCancelButton do begin
Parent:=WizardForm;
Width:=ScaleX(135);
Caption:=ExpandConstant('{cm:CancelButton}');
Left:=ScaleX(360);
Top:=WizardForm.cancelbutton.top;
OnClick:=@CancelButtonOnClick;
end;
CallBack:=WrapMyCallback(@ProgressCallback,2);
Cancel:=0;
OveralPct:=0;
#ifdef records
ExtractTemporaryFile('records.inf');
#endif
#ifdef precomp038
ExtractTemporaryFile('packjpg_dll.dll');
ExtractTemporaryFile('RTconsole.exe');
ExtractTemporaryFile('precomp038.exe');
ExtractTemporaryFile('zlib1.dll');
#endif
ChComp:=0;
StartRecord(ExpandConstant('{src}\records.inf'),ChComp);
repeat
MyError:=true;
CallBack:=WrapMyCallback(@ProgressCallback,2);
OveralPct:=0;
ISArcExtract ( 0, OveralPct, 25, ExpandConstant('{src}\muzk.arc'), ExpandConstant('{app}'),false,CallBack, '', '', '')
ISSRepExtract ( 0, OveralPct, 25, ExpandConstant('{app}\muzk.srep'), ExpandConstant('{app}\muzk.pcf'), '', true, CallBack)
ISPrecompExtract( 0, OveralPct, 25, ExpandConstant('{app}\muzk.pcf'), ExpandConstant('{app}\muzk.7z'),true, CallBack)
IS7ZipExtract ( 0, OveralPct, 25, ExpandConstant('{app}\muzk.7z'), ExpandConstant('{app}'),true, CallBack, '')
MyError:=false;
until true;
StopRecord;
MyCancelButton.Visible:=false;
WizardForm.CancelButton.Visible:=true;
end;
if (CurStep=ssPostInstall) and MyError then
Exec(ExpandConstant('{uninstallexe}'), '/SILENT','', sw_Hide, ewWaitUntilTerminated, n);
end;[/more]
Люди помогите какой функцией можно получить активен ли параметр ShowModal для формы
Dark_Delphin
Цитата:
Скачать из шапки библиотеку botva2.dll (в архиве есть куча примеров)
Цитата:
Что нужно добавить в скрипт, что-бы отображались *.PNG изображения?
Скачать из шапки библиотеку botva2.dll (в архиве есть куча примеров)
Profrager 13:14 13-06-2011
Цитата:
Без фреймворка 4 версии он даже не запускается , пытался в песочнице запустить, потому как при поверхностном осмотре было выявлено что это не инсталл Inno Setup.
Цитата:
эх, товарищ. Прогресс есть, но все же скрывать вирус ты не научился) Видно, что ехе'шник работает на висуал бейсике или c#) используемые библиотеки об этом говорят. Любой инсталл себе такого не позволит) Каков будет следующий шаг?) Мне уже прям интересно следить за ходом событий)
Без фреймворка 4 версии он даже не запускается , пытался в песочнице запустить, потому как при поверхностном осмотре было выявлено что это не инсталл Inno Setup.
Despofix
Цитата:
Пример правильный и работающий, ищи ошибку в другом
ЗЫ. Только процедуры ImgSetPosition, ImgRelease, ImgGetVisibility не нужны
Цитата:
ошибку при отмене установки выдает:
Пример правильный и работающий, ищи ошибку в другом
ЗЫ. Только процедуры ImgSetPosition, ImgRelease, ImgGetVisibility не нужны
YURSHAT
в чистый скрипт копирую пример запускаю, отменяю установку выходит эта ошибка не знаю почему.
нашел проблему если файлы помещать в папку с другим название и в скрепте ее пропиать то вылазиет эта ошибка.
а с растяжкой wizardsmall и вставкой wizardimage на первую последнюю страницей поможешь? а то в ботве не знаю как сделать
в чистый скрипт копирую пример запускаю, отменяю установку выходит эта ошибка не знаю почему.
нашел проблему если файлы помещать в папку с другим название и в скрепте ее пропиать то вылазиет эта ошибка.
а с растяжкой wizardsmall и вставкой wizardimage на первую последнюю страницей поможешь? а то в ботве не знаю как сделать
Despofix
Щас набросаю примерчик
Щас набросаю примерчик
Profrager (13:14 13-06-2011)
Цитата:
Исходник смотреть интереснее
Цитата:
Видно, что ехе'шник работает на висуал бейсике или c#) используемые библиотеки об этом говорят
Исходник смотреть интереснее
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
Предыдущая тема: поиск
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.