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

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

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

batva (20-05-2011 20:48): Inno Setup (создание инсталяционных пакетов)  Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

Alex 17



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
; -- Example1.iss --    
  ; Demonstrates copying 3 files and creating an icon.    
     
  ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!    
     
[Setup]
  SetupIconFile=43.ico  
  DiskSpanning=yes    
  AppName=Splinter Cell Conviction  
  AppVerName=Splinter Cell Conviction  
  AppVersion=false    
  AppCopyright=© Splinter Cell Conviction  
  DefaultDirName={pf}\TMTGamer\Splinter Cell Conviction  
  DefaultGroupName=Splinter Cell Conviction  
  Compression=none    
  SolidCompression=true    
  WizardImageFile=49859-5079x3626.bmp  
  WizardSmallImageFile=799.bmp    
  UninstallDisplayIcon=43.ico
  OutputDir=E:\Gamer\Splinter Cell Conviction TMT\  
  OutputBaseFilename=setup    
  VersionInfoVersion=1.04    
  VersionInfoCompany=Splinter Cell Conviction  
  VersionInfoDescription=false    
  ShowTasksTreeLines=true    
  VersionInfoTextVersion=false    
     
[Languages]  
 
 Name: RUS; MessagesFile: "compiler:Languages\Russian.isl"
[Messages]
WelcomeLabel1=
WelcomeLabel2=
ClickNext=
;Если текст не нужен то просто стереть..
 
[Tasks]
  Name: desktopicon; Description: Создать значок на Рабочем столе; GroupDescription: Дополнительные значки:    
  Name: Redist; Description: Дополнительное программное обеспечение:    
  Name: Redist\DirectXCheck; Description: Оновить Microsoft DirectX; Flags: unchecked    
  Name: Redist\VCCheck; Description: Установить Microsoft Visual C++ Redist; Flags: unchecked  
  [CustomMessages]  
 RUS.FreeSpace=Доступно места на диске:  
 RUS.NeedSpace=Требуется места на диске:  
 
     
[Types]
 Name: full; Description: Выборочная установка; Flags: iscustom  
   
 [Components]  
 Name: "Component1"; Description: "The Deniable Ops Insurgency Pack [DLC]"; Types: full;    
     
[Files]
Source: BASS.dll;  Flags: dontcopy  
 Source: sound.mp3; Flags: dontcopy nocompression  
 Source: MusicButton.bmp;  Flags: dontcopy  
 Source: button2.bmp; DestDir: {tmp}; Flags: dontcopy
 Source: papka.bmp; DestDir: {tmp}; Flags: dontcopy
 Source: "Logo.bmp"; DestDir: "{tmp}"; Flags: dontcopy
 Source: BitmapImage2.bmp; DestDir: {tmp}; Flags: dontcopy  
 Source: "E:\Gamer\С.Т.А.Л.К.Е.Р. - Чисте Небо TMT\stkcs-ukr-patch-any.exe"; Components: Component1; DestDir: "{app}"  
     
 [Dirs]  
  Name: "{app}\data\";  
  Name: "{app}\data\Animations\";  
  Name: "{app}\data\AnimationsBundle\";  
  Name: "{app}\data\Localization\";  
  Name: "{app}\data\Localization\rus\";    
  Name: "{app}\data\Sounds\";  
  Name: "{app}\data\Sounds\PC\";
  Name: "{app}\data\Sounds\PC\HDD\";  
  Name: "{app}\data\Sounds\PC\HDD\Packages\";  
  Name: "{app}\data\Sounds\PC\HDD\Packages\English\";    
  Name: "{app}\data\Videos\";
  Name: "{app}\data\Videos\deu\";  
  Name: "{app}\data\Videos\int\";    
  Name: "{app}\src\";  
  Name: "{app}\src\system\";  
  Name: "{app}\src\system\resources";  
  Name: "{app}\src\system\UMDS\";
  Name: "{app}\Support\";  
  Name: "{app}\Support\Manual\";  
  Name: "{app}\Support\ReadMe\";
     
  [Run]    
     
  Filename: {src}\Redist\DirectX\DXSETUP.exe; StatusMsg: Оновлення компонентів DirectX...; Tasks: Redist\DirectXCheck; Flags: waituntilterminated;    
  Filename: "{src}\Redist\vcredist_x86_ru.exe"; StatusMsg: "Встановлення Microsoft Visual C++ Redist..."; Tasks: Redist\VCCheck; Flags: waituntilterminated;    
     
 [Registry]
Root: HKLM; Subkey: "SOFTWARE\Ubisoft\Splinter Cell - Conviction"; ValueName: "locversion"; ValueType: String; ValueData: "1";  
Root: HKLM; Subkey: "SOFTWARE\Ubisoft\Splinter Cell - Conviction"; ValueName: "InstallDir"; ValueType: String; ValueData: "{app}"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Ubisoft\Splinter Cell - Conviction"; ValueName: "version"; ValueType: String; ValueData: "1.02"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Ubisoft\Splinter Cell - Conviction"; ValueName: "installed"; ValueType: String; ValueData: "TRUE"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Ubisoft\Splinter Cell - Conviction\GameUpdate"; ValueName: "execPath"; ValueType: String; ValueData: "{app}\src\system\conviction_game.exe"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Ubisoft\Splinter Cell - Conviction\GameUpdate"; ValueName: "installdir"; ValueType: String; ValueData: "{app}"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Ubisoft\Splinter Cell - Conviction\GameUpdate"; ValueName: "language"; ValueType: String; ValueData: "us"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Ubisoft\Splinter Cell - Conviction\GameUpdate"; ValueName: "info"; ValueType: String; ValueData: "d92fddaf05964670b4244138c85c7bdb"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Ubisoft\Tom Clancy's Splinter Cell Conviction"; Flags: uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Ubisoft\Tom Clancy's Splinter Cell Conviction\1.00.000"; Flags: uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "ModifyPath"; ValueType: String; ValueData: "{uninstallexe}"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "NoModify"; ValueType: Dword; ValueData: "$1"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "NoRepair"; ValueType: Dword; ValueData: "$1"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "UninstallString"; ValueType: String; ValueData: "{uninstallexe}"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "InstallLocation"; ValueType: String; ValueData: "{app}"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "ProductGuid"; ValueType: String; ValueData: "{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "InstallSource"; ValueType: String; ValueData: "{src}\"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "DisplayName"; ValueType: String; ValueData: "Tom Clancy's Splinter Cell Conviction"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "Publisher"; ValueType: String; ValueData: "Ubisoft"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "URLInfoAbout"; ValueType: String; ValueData: "http://www.ubi.com"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "RegCompany"; ValueType: String; ValueData: "Microsoft"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "RegOwner"; ValueType: String; ValueData: "Microsoft"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "DisplayIcon"; ValueType: String; ValueData: "{app}\src\system\conviction_game.exe"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "InstallDate"; ValueType: String; ValueData: "20100426"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "DisplayVersion"; ValueType: String; ValueData: "1.04.000"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "Version"; ValueType: Dword; ValueData: "$1000000"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "MajorVersion"; ValueType: Dword; ValueData: "$1"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "MinorVersion"; ValueType: Dword; ValueData: "$0"; Flags: uninsdeletevalue uninsdeletekeyifempty  
Root: HKLM; Subkey: "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{{6D8DDB4A-C263-40DE-BA16-AFDAD159D59A}"; ValueName: "LogMode"; ValueType: Dword; ValueData: "$1"; Flags: uninsdeletevalue uninsdeletekeyifempty    
     
  [Icons]    
  Name: "{group}\Splinter Cell Conviction  "; Filename: "{app}\src\system\Conviction_game.exe"; WorkingDir: "{app}\src\system"; IconFilename: "{app}\src\system\Conviction_game.exe";    
  Name: "{commondesktop}\Splinter Cell Conviction  "; Filename: "{app}\src\system\Conviction_game.exe"; WorkingDir: "{app}\src\system"; IconFilename: "{app}\src\system\Conviction_game.exe"; Tasks: "desktopicon";  
  [code]
 
  const
   ButtonWidth = 80;
   ButtonHeight = 23;
    BASS_ACTIVE_STOPPED = 0;  
   BASS_ACTIVE_PLAYING = 1;  
   BASS_ACTIVE_STALLED = 2;  
   BASS_ACTIVE_PAUSED = 3;  
   BASS_SAMPLE_LOOP = 4;  
   
 
 
  var
   WelcomeLabel1, WelcomeLabel2, FinishedLabel,
   WizardLabel: TLabel;
   ButtonPanel: array of TPanel;
   ButtonImage: array of TBitmapImage;
   ButtonLabel: array of TLabel;
   UsedButtons: array of TButton;
   ButtonsCount: Integer;
    mp3Handle: HWND;  
   mp3Name: String;  
   PlayButton, PauseButton, StopButton: TPanel;  
   PlayImage, PauseImage, StopImage: TBitmapImage;  
   PlayLabel, PauseLabel, StopLabel: TLabel;  
   MouseLabel: Tlabel;  
   NeedSpaceLabel,FreeSpaceLabel: TLabel;  
 FreeMB, TotalMB: Cardinal;  
 SizeStr: String;  
 SizeInt: Integer;  
 SymbolNumber: Integer;
 
   AppPath: string; function BASS_Init(device: Integer; freq, flags: DWORD; win: hwnd; CLSID: Integer): Boolean;  
   external 'BASS_Init@files:BASS.dll stdcall delayload';  
   
 function BASS_StreamCreateFile(mem: BOOL; f: PAnsiChar; offset: DWORD; length: DWORD; flags: DWORD): DWORD;  
   external 'BASS_StreamCreateFile@files:BASS.dll stdcall delayload';  
   
 function BASS_Start(): Boolean;  
   external 'BASS_Start@files:BASS.dll stdcall delayload';  
   
 function BASS_ChannelPlay(handle: DWORD; restart: BOOL): Boolean;  
   external 'BASS_ChannelPlay@files:BASS.dll stdcall delayload';  
   
 function BASS_ChannelIsActive(handle: DWORD): Integer;  
   external 'BASS_ChannelIsActive@files:BASS.dll stdcall delayload';  
   
 function BASS_ChannelPause(handle: DWORD): Boolean;  
   external 'BASS_ChannelPause@files:BASS.dll stdcall delayload';  
   
 function BASS_Stop(): Boolean;  
   external 'BASS_Stop@files:BASS.dll stdcall delayload';  
   
 function BASS_Pause(): Boolean;  
   external 'BASS_Pause@files:BASS.dll stdcall delayload';  
   
 function BASS_Free(): Boolean;  
   external 'BASS_Free@files:BASS.dll stdcall delayload';  
   
 procedure PlayMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);  
 begin  
   PlayImage.Left := -96  
 end;  
   
 procedure PlayMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);  
 begin  
   PlayImage.Left := 0  
 end;  
   
 procedure PlayMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);  
 begin  
   if PlayImage.Left <> -96 then PlayImage.Left := -192  
 end;  
   
 procedure PauseMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);  
 begin  
   PauseImage.Left := -128  
 end;  
   
 procedure PauseMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);  
 begin  
   PauseImage.Left := -32  
 end;  
   
 procedure PauseMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);  
 begin  
   if PauseImage.Left <> -128 then PauseImage.Left := -224  
 end;  
 procedure MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);  
 begin  
   PlayImage.Left := 0  
   PauseImage.Left := -32  
 end;  
   
 procedure PlayButtonOnClick(Sender: TObject);  
 begin  
   case BASS_ChannelIsActive(mp3Handle) of  
     BASS_ACTIVE_PAUSED:  
       begin  
         BASS_ChannelPlay(mp3Handle, False);  
         PlayButton.Hide  
         PauseButton.Show  
       end;  
   end;  
 end;  
   
 procedure PauseButtonOnClick(Sender: TObject);  
 begin  
   BASS_ChannelPause(mp3Handle);  
   PauseButton.Hide  
   PlayButton.Show  
 end;  
   
 procedure Music;  
 begin  
   ExtractTemporaryFile('MusicButton.bmp')  
   
   MouseLabel := TLabel.Create(WizardForm)  
     MouseLabel.Width := WizardForm.Width  
     MouseLabel.Height := WizardForm.Height  
     MouseLabel.Autosize := False  
     MouseLabel.Transparent := True  
     MouseLabel.OnMouseMove := @MouseMove  
     MouseLabel.Parent := WizardForm  
   
   PlayButton := TPanel.Create(WizardForm)  
     PlayButton.Left := 465  
     PlayButton.Top := 64  
     PlayButton.Width := 23  
     PlayButton.Height := 23  
     PlayButton.Cursor := crHand  
     PlayButton.ShowHint := True  
     PlayButton.Hint := 'Воспроизвести музыку'  
     PlayButton.OnClick := @PlayButtonOnClick  
     PlayButton.Parent := WizardForm  
   
   PlayImage := TBitmapImage.Create(WizardForm)  
     PlayImage.Left := 0  
     PlayImage.Top := 0  
     PlayImage.Width := 288  
     PlayImage.Height := 23  
     PlayImage.Enabled := False  
     PlayImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MusicButton.bmp'))  
     PlayImage.Parent := PlayButton  
 //  
     PlayImage.ReplaceColor:=$E2E2E2  
     PlayImage.ReplaceWithColor:=clBtnFace  
   
   
   PlayLabel := TLabel.Create(WizardForm)  
     PlayLabel.Width := PlayButton.Width  
     PlayLabel.Height := PlayButton.Height  
     PlayLabel.Autosize := False  
     PlayLabel.Transparent := True  
     PlayLabel.OnClick := @PlayButtonOnClick  
     PlayLabel.OnMouseDown := @PlayMouseDown  
     PlayLabel.OnMouseUp := @PlayMouseUp  
     PlayLabel.OnMouseMove := @PlayMouseMove  
     PlayLabel.Parent := PlayButton  
   
   PauseButton := TPanel.Create(WizardForm)  
     PauseButton.Left := 465  
     PauseButton.Top := 64  
     PauseButton.Width := 23  
     PauseButton.Height := 23  
     PauseButton.Cursor := crHand  
     PauseButton.ShowHint := True  
     PauseButton.Hint := 'Приостановить музыку'  
     PauseButton.OnClick := @PauseButtonOnClick  
     PauseButton.Parent := WizardForm  
   
   PauseImage := TBitmapImage.Create(WizardForm)  
     PauseImage.Left := -32  
     PauseImage.Top := 0  
     PauseImage.Width := 288  
     PauseImage.Height := 23  
     PauseImage.Enabled := False  
     PauseImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\MusicButton.bmp'))  
     PauseImage.Parent := PauseButton  
 //  
     PauseImage.ReplaceColor:=$E2E2E2  
     PauseImage.ReplaceWithColor:=clBtnFace  
   
     PauseLabel := TLabel.Create(WizardForm)  
     PauseLabel.Width := PauseButton.Width  
     PauseLabel.Height := PauseButton.Height  
     PauseLabel.Autosize := False  
     PauseLabel.Transparent := True  
     PauseLabel.OnClick := @PauseButtonOnClick  
     PauseLabel.OnMouseDown := @PauseMouseDown  
     PauseLabel.OnMouseUp := @PauseMouseUp  
     PauseLabel.OnMouseMove := @PauseMouseMove  
     PauseLabel.Parent := PauseButton  
   
   
 end;  
 Function NumToStr(Float: Extended): String;  
 Begin  
   Result:= Format('%.2n', [Float]); StringChange(Result, ',', '.');  
   while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = '.')) and (Pos('.', Result) > 0) do  
   SetLength(Result, Length(Result)-1);  
 End;  
   
 function GetSize(): Integer;  
 begin  
 SizeStr:= WizardForm.DiskSpaceLabel.Caption;  
 for SymbolNumber:= 97 to 122 do begin  
 while (Pos(Chr(SymbolNumber), SizeStr) > 0) do Delete(SizeStr, Pos(Chr(SymbolNumber), SizeStr),1); //Находим все символы нижнего регистра и удаляем  
 while (Pos(AnsiUppercase(Chr(SymbolNumber)), SizeStr) > 0) do Delete(SizeStr, Pos(AnsiUppercase(Chr(SymbolNumber)), SizeStr),1); end;  //Находим все символы верхнего регистра и удаляем  
 for SymbolNumber:= 192 to 255 do begin  
 while (Pos(Chr(SymbolNumber), SizeStr) > 0) do Delete(SizeStr, Pos(Chr(SymbolNumber), SizeStr),1); end; //Находим все символы нижнего регистра и удаляем  
 while (Pos('.', SizeStr) > 0) do Delete(SizeStr, Pos('.', SizeStr), 1); //Удаляем точки  
 Delete(SizeStr, Pos(',', SizeStr), 5) //Удаляем дробную часть  
 Result:= StrToInt(Trim(SizeStr)); //Переводим в число  
 end;  
   
 function CompareNum(FirstNum, SecondNum: Integer): Boolean;  
 begin  
 if FirstNum < SecondNum then Result:= False else Result:= True;  
 end;  
   
 Function MbOrTb(Byte: Extended): String;  
 begin  
 if Byte < 1024 then Result:= NumToStr(Byte) + ' Мб' else  
   if Byte/1024 < 1024 then Result:= NumToStr(round(Byte/1024*100)/100) + ' Гб' else  
      Result:= NumToStr(round((Byte/(1024*1024))*100)/100) + ' Тб'  
 end;  
   
 procedure GetFreeSpaceCaption(Sender: TObject);  
 var Path: String;  
 begin  
   Path := ExtractFileDrive(WizardForm.DirEdit.Text);  
   GetSpaceOnDisk(Path, True, FreeMB, TotalMB);  
   FreeSpaceLabel.Caption:= ExpandConstant('{cm:FreeSpace} ') + MbOrTb(FreeMB)  
   NeedSpaceLabel.Caption := ExpandConstant('{cm:NeedSpace} ') + MbOrTb(SizeInt)  
 if WizardForm.CurPageID = wpSelectDir then begin  
   WizardForm.NextButton.Enabled:= CompareNum(FreeMB, SizeInt)  
 end;  
 end;
 procedure InitializeWizard8();  
 begin  
 WizardForm.DiskSpaceLabel.Hide;  
 #ifdef NeedSize  
 SizeInt:= {#NeedSize}  
 #else  
 SizeInt:= GetSize;  
 #endif  
   
 NeedSpaceLabel := TLabel.Create(WizardForm);  
 NeedSpaceLabel.SetBounds(ScaleX(0), ScaleY(198), ScaleX(209), ScaleY(13))  
 NeedSpaceLabel.Parent := WizardForm.SelectDirPage;  
 NeedSpaceLabel.Transparent:=true;  
   
 FreeSpaceLabel := TLabel.Create(WizardForm);  
 FreeSpaceLabel.SetBounds(ScaleX(0), ScaleY(216), ScaleX(209), ScaleY(13))  
 FreeSpaceLabel.Parent := WizardForm.SelectDirPage;  
 FreeSpaceLabel.Transparent:=true;  
   
 WizardForm.DirEdit.OnChange:= @GetFreeSpaceCaption;  
 WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text + #0;  
 end;
   
 function InitializeSetup1(): Boolean;  
 begin  
  ExtractTemporaryFile('BASS.dll');  
   ExtractTemporaryFile('sound.mp3');  
   mp3Name := ExpandConstant('{tmp}\sound.mp3');  
   BASS_Init(-1, 44100, 0, 0, 0);  
   mp3Handle := BASS_StreamCreateFile(FALSE, PAnsiChar(mp3Name), 0, 0, BASS_SAMPLE_LOOP);  
   BASS_Start();  
   BASS_ChannelPlay(mp3Handle, False);  
   Result := True;  
 end;  
   
 procedure DeinitializeSetup1();  
 begin  
  BASS_Stop();  
  BASS_Free();  
 end;  
 /////----------------------------------------------------- конец музыка в сетапе  
 procedure InitializeWizard7();  
 begin  
 Music;  
 end;  
   
 function InitializeSetup(): Boolean;  
 begin  
   Result := InitializeSetup1(); if not Result then exit;  
 end;  
   
 procedure DeinitializeSetup();  
 begin  
   DeinitializeSetup1();  
 end;  
   
 //procedure CurPageChanged(CurPageID: Integer);  
 //begin  
 //  CurPageChanged1(CurPageID);  
 //  CurPageChanged2(CurPageID);  
 //end;
 
 
 procedure ButtonLabelClick(Sender: TObject);
 var Button: TButton; n, i: Integer;
 begin
 i:= TLabel(Sender).Tag; ButtonImage[i].Left:= 0
 for n:=0 to (ButtonsCount-1) do begin
 if i = n then Button:= UsedButtons[n];
 end;
 Button.OnClick(Button)
 end;
 
 procedure ButtonLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
 begin
 if ButtonLabel[TLabel(Sender).Tag].Enabled then ButtonImage[TLabel(Sender).Tag].Left:=-ButtonWidth*2
 end;
 
 procedure ButtonLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
 begin
 if ButtonLabel[TLabel(Sender).Tag].Enabled then ButtonImage[TLabel(Sender).Tag].Left:=0
 end;
 
 procedure ButtonLabelMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
 var n, I: Integer;
 begin
 I:=TLabel(Sender).Tag;
 //Сначала восстанавливаем картинку у всех кнопок, так надо иначе могут быть глюки
 for n:=0 to (ButtonsCount-1) do begin if (ButtonLabel[n].Enabled)and(ButtonImage[n].Left <> -ButtonWidth*2)and(I<>N) then ButtonImage[n].Left:= 0; end;
 //Теперь собственно ставим нужную картинку
 if (ButtonLabel[I].Enabled)and(ButtonImage[I].Left <> -ButtonWidth*2) then begin ButtonImage[I].Left:= -ButtonWidth; end;
 end;
 
 procedure WizardLabelMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
 var n: Integer;
 begin
   //Т.к Sender'ом выступает WizardLabel то не получится испльзовать индекс кнопки
 for n:=0 to (ButtonsCount-1) do if (ButtonLabel[n].Enabled)and(ButtonImage[n].Left <> -ButtonWidth*2) then begin ButtonImage[n].Left:= 0; end;
 end;
 
 procedure LoadButtonImage(AButton: TButton);
 var n: Integer;
 begin
   n:=ButtonsCount; SetArrayLength(ButtonPanel, n+1);
   SetArrayLength(ButtonImage, n+1); SetArrayLength(ButtonLabel, n+1);
   SetArrayLength(UsedButtons, n+1); UsedButtons[n]:= AButton;
 
   ButtonPanel[n]:=TPanel.Create(WizardForm)
   ButtonPanel[n].SetBounds(AButton.Left, AButton.Top, AButton.Width, AButton.Height)
   ButtonPanel[n].Tag:= n
   ButtonPanel[n].Enabled:= AButton.Enabled
   ButtonPanel[n].Parent:=AButton.Parent
 
   ButtonImage[n]:=TBitmapImage.Create(WizardForm)
   ButtonImage[n].SetBounds(ScaleX(0), ScaleY(0), ScaleX(320), ScaleY(23))
   ButtonImage[n].Enabled:=False
   ButtonImage[n].Bitmap.LoadFromFile(ExpandConstant('{tmp}\Button2.bmp'))
   ButtonImage[n].Parent:=ButtonPanel[n]
 
   with TLabel.Create(WizardForm) do begin
     Tag:=n
     Parent:=ButtonPanel[n]
     Width:=AButton.Width
     Height:=AButton.Height
     Transparent:=True
     OnClick:=@ButtonLabelClick
     OnDblClick:=@ButtonLabelClick
     OnMouseMove:=@ButtonLabelMove
     OnMouseDown:=@ButtonLabelMouseDown
     OnMouseUp:=@ButtonLabelMouseUp
   end   ;
 
   ButtonLabel[n]:=TLabel.Create(WizardForm)
   ButtonLabel[n].Autosize:=True
   ButtonLabel[n].Alignment:=taCenter
   ButtonLabel[n].Tag:=n
   ButtonLabel[n].Enabled:= AButton.Enabled
   ButtonLabel[n].Transparent:=True
   ButtonLabel[n].Font.Color:=clWhite
   ButtonLabel[n].Caption:=AButton.Caption
   ButtonLabel[n].OnClick:=@ButtonLabelClick
   ButtonLabel[n].OnDblClick:=@ButtonLabelClick
   ButtonLabel[n].OnMouseMove:=@ButtonLabelMove
   ButtonLabel[n].OnMouseDown:=@ButtonLabelMouseDown
   ButtonLabel[n].OnMouseUp:=@ButtonLabelMouseUp
   ButtonLabel[n].Parent:=ButtonPanel[n]
 
   ButtonsCount:= ButtonsCount+1
 end;
 
 procedure UpdateButtons();
 var n: Integer;
 begin
 for n:=0 to ButtonsCount-1 do begin
   ButtonLabel[n].Caption:=UsedButtons[n].Caption
   ButtonPanel[n].Visible:=UsedButtons[n].Visible
   if (UsedButtons[n].Enabled = False) then ButtonImage[n].Left:= -ButtonWidth*3 else ButtonImage[n].Left:= 0;
   ButtonLabel[n].Enabled:= UsedButtons[n].Enabled;
   ButtonPanel[n].Enabled:= UsedButtons[n].Enabled;
   //Ставим Left и Top лейбла соразмерно размеру лейбла
   ButtonLabel[n].Left:= ButtonPanel[n].Width div 2 - ButtonLabel[n].Width div 2;
   ButtonLabel[n].Top:= ButtonPanel[n].Height div 2 - ButtonLabel[n].Height div 2;
 end;
 end;
 
 procedure LicenceAcceptedRadioOnClick(Sender: TObject);
 begin
 //Делаем кнопку активной
 WizardForm.NextButton.Enabled:= True;
 //Обновляем текстурированную кнопку (обновляем активность и текстуру)
 UpdateButtons();
 end;
 
 procedure LicenceNotAcceptedRadioOnClick(Sender: TObject);
 begin
 //Делаем кнопку неактивной
 WizardForm.NextButton.Enabled:= False;
 //Обновляем текстурированную кнопку (обновляем активность и текстуру)
 UpdateButtons()
 end;
 
 procedure InitializeWizard1();
 begin
   WizardForm.PageNameLabel.Font.Color:= clWhite;
   WizardLabel:= TLabel.Create(WizardForm)
   WizardLabel.SetBounds(ScaleX(0), ScaleY(0), ScaleX(WizardForm.Width), ScaleY(WizardForm.Height))
   WizardLabel.Transparent:= True;
   WizardLabel.AutoSize:=false;
   WizardLabel.OnMouseMove:=@WizardLabelMove
   WizardLabel.Parent:= WizardForm;
   WizardForm.PageDescriptionLabel.Hide;
 
   WizardForm.BackButton.Width:= ButtonWidth
   WizardForm.BackButton.Height:= ButtonHeight
 
   WizardForm.NextButton.Width:= ButtonWidth
   WizardForm.NextButton.Height:= ButtonHeight
 
   WizardForm.CancelButton.Width:=ButtonWidth
   WizardForm.CancelButton.Height:= ButtonHeight
 
   WizardForm.DirBrowseButton.Left:=ScaleX(337)
   WizardForm.DirBrowseButton.Width:= ButtonWidth
   WizardForm.DirBrowseButton.Height:=ButtonHeight
 
   WizardForm.GroupBrowseButton.Left:=ScaleX(337)
   WizardForm.GroupBrowseButton.Width:= ButtonWidth
   WizardForm.GroupBrowseButton.Height:=ButtonHeight
 
   WizardForm.LicenseAcceptedRadio.OnClick:=@LicenceAcceptedRadioOnClick
 
   WizardForm.LicenseNotAcceptedRadio.OnClick:=@LicenceNotAcceptedRadioOnClick
 
   ExtractTemporaryFile('button2.bmp')
   LoadButtonImage(WizardForm.BackButton)
   LoadButtonImage(WizardForm.NextButton)
   LoadButtonImage(WizardForm.CancelButton)
   LoadButtonImage(WizardForm.DirBrowseButton)
   LoadButtonImage(WizardForm.GroupBrowseButton)
 end;
 
 procedure CurPageChanged(CurPageID: Integer);
 begin  
 if CurPageID = wpSelectDir then begin  
   GetFreeSpaceCaption(nil)  
 end;
 Begin  
   Case CurPageID of  
   wpWelcome:  
     begin  
       PlayButton.Hide;  
       PauseButton.Hide;  
     end;  
   
   wpSelectDir:  
     begin  
       if BASS_ChannelIsActive(mp3Handle) = BASS_ACTIVE_PAUSED then  
       PlayButton.Show else  
       PauseButton.Show;  
     end;  
   
   wpFinished:  
     begin  
       PlayButton.Hide;  
       PauseButton.Hide;  
     end;  
   end;
 begin
   UpdateButtons()
 end;
 end;
 end;
 /////////img///////
 
 
procedure InitializeWizard2();
begin
WizardForm.WizardBitmapImage.Width:= ScaleX(497);
WizardForm.WizardBitmapImage2.Width:= ScaleX(497);
 
WelcomeLabel1:= TLabel.Create(WizardForm);
WelcomeLabel1.AutoSize:= False;
with WizardForm.WelcomeLabel1 do
WelcomeLabel1.SetBounds(Left, Top, Width, Height);
WelcomeLabel1.Font:= WizardForm.WelcomeLabel1.Font
WelcomeLabel1.Font.Color:= clWhite;
WelcomeLabel1.Transparent:= True;
WelcomeLabel1.WordWrap:= true;
WelcomeLabel1.Caption:= WizardForm.WelcomeLabel1.Caption;
WelcomeLabel1.Parent:= WizardForm.WelcomePage
 
WelcomeLabel2:= TLabel.Create(WizardForm);
WelcomeLabel2.AutoSize:= False;
with WizardForm.WelcomeLabel2 do
WelcomeLabel2.SetBounds(Left, Top, Width, Height);
WelcomeLabel2.Font:= WizardForm.WelcomeLabel2.Font
WelcomeLabel2.Font.Color:= clWhite;
WelcomeLabel2.Transparent:= True;
WelcomeLabel2.WordWrap:= true;
WelcomeLabel2.Caption:= WizardForm.WelcomeLabel2.Caption;
WelcomeLabel2.Parent:= WizardForm.WelcomePage
 
WizardForm.WizardSmallBitmapImage.SetBounds(ScaleX(0), ScaleY(0), WizardForm.MainPanel.Width, WizardForm.MainPanel.Height);
 
 
 
  WizardForm.WelcomeLabel1.Hide;    
  WizardForm.WelcomeLabel2.Hide;    
  WizardForm.SelectTasksLabel.Hide;    
  WizardForm.FinishedLabel.Hide;    
  WizardForm.FinishedHeadingLabel.Hide;  
end;
//////////////
const
Color = clblack;
procedure InitializeWizard3();
begin
WizardForm.Font.Color:=clWhite;
WizardForm.Color:=Color;
WizardForm.WelcomePage.Color:=Color;
WizardForm.InnerPage.Color:=Color;
WizardForm.FinishedPage.Color:=Color;
WizardForm.LicensePage.Color:=Color;
WizardForm.PasswordPage.Color:=Color;
WizardForm.InfoBeforePage.Color:=Color;
WizardForm.UserInfoPage.Color:=Color;
WizardForm.SelectDirPage.Color:=Color;
WizardForm.SelectComponentsPage.Color:=Color;
WizardForm.SelectProgramGroupPage.Color:=Color;
WizardForm.SelectTasksPage.Color:=Color;
WizardForm.ReadyPage.Color:=Color;
WizardForm.PreparingPage.Color:=Color;
WizardForm.InstallingPage.Color:=Color;
WizardForm.InfoAfterPage.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.DiskSpaceLabel.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.GroupEdit.Color:=Color;
WizardForm.PasswordLabel.Color:=Color;
WizardForm.PasswordEdit.Color:=Color;
WizardForm.PasswordEditLabel.Color:=Color;
WizardForm.ReadyMemo.Color:=Color;
WizardForm.TypesCombo.Color:=Color;
WizardForm.WelcomeLabel1.Color:=Color;
WizardForm.InfoBeforeClickLabel.Color:=Color;
WizardForm.MainPanel.Color:=Color;
WizardForm.PageDescriptionLabel.Color:=Color;
WizardForm.ReadyLabel.Color:=Color;
WizardForm.YesRadio.Color:=Color;
WizardForm.NoRadio.Color:=Color;
WizardForm.WelcomeLabel2.Color:=Color;
WizardForm.LicenseLabel1.Color:=Color;
WizardForm.InfoAfterClickLabel.Color:=Color;
WizardForm.ComponentsList.Color:=Color;
WizardForm.ComponentsDiskSpaceLabel.Color:=Color;
WizardForm.BeveledLabel.Color:=Color;
WizardForm.StatusLabel.Color:=Color;
WizardForm.FilenameLabel.Color:=Color;
WizardForm.SelectDirLabel.Color:=Color;
WizardForm.SelectStartMenuFolderLabel.Color:=Color;
WizardForm.SelectComponentsLabel.Color:=Color;
WizardForm.SelectTasksLabel.Color:=Color;
WizardForm.LicenseAcceptedRadio.Color:=Color;
WizardForm.LicenseNotAcceptedRadio.Color:=Color;
WizardForm.UserInfoNameLabel.Color:=Color;
WizardForm.UserInfoNameEdit.Color:=Color;
WizardForm.UserInfoOrgLabel.Color:=Color;
WizardForm.UserInfoOrgEdit.Color:=Color;
WizardForm.PreparingLabel.Color:=Color;
WizardForm.UserInfoSerialLabel.Color:=Color;
WizardForm.UserInfoSerialEdit.Color:=Color;
WizardForm.TasksList.Color:=Color;
WizardForm.RunList.Color:=Color;
WizardForm.SelectDirBrowseLabel.Color:=Color;
WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color;
end;
///////
var
LogoImage:TBitmapImage;
LogoLabel: TLabel;
procedure LogoOnClick(Sender: TObject);
var ReturnCode: Integer;
begin
ShellExec('open', '//http://tapochek.net/', '', '', SW_SHOWNORMAL, ewNoWait, ReturnCode)
end;
procedure InitializeWizard5();
var
LogoPanel : TPanel;
begin
ExtractTemporaryFile('logo.bmp');
LogoPanel := TPanel.Create(WizardForm);
with LogoPanel do
begin
Parent := WizardForm;
Left := ScaleX(5);
Top := ScaleY(320);
Width := ScaleX(165);
Height := ScaleY(35);
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;
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:=@LogoOnClick;
end;
end;
///
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);  
 begin  
   Confirm:=False;  
 end;  
procedure InitializeWizard4();
 begin
 ExtractTemporaryFile('papka.bmp');
 WizardForm.SelectDirBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
 WizardForm.SelectDirBitmapImage.AutoSize:=true;
 WizardForm.SelectGroupBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\papka.bmp'));
 WizardForm.SelectGroupBitmapImage.AutoSize:=true;
 end;
 procedure InitializeWizard6();  
var b:string;  
begin  
ExtractTemporaryFile('BitmapImage2.bmp')  
b:=ExpandConstant('{tmp}\BitmapImage2.bmp')  
with WizardForm do  
begin  
WizardBitmapImage.Width:=WizardForm.ClientWidth;  
WelcomeLabel1.Visible:=False;  
WelcomeLabel2.Visible:=False;  
WizardBitmapImage2.Bitmap.LoadFromFile(b);  
WizardBitmapImage2.Width:=WizardForm.ClientWidth;  
FinishedLabel.Visible:=False;  
FinishedHeadingLabel.Visible:=False;  
end;  
end;
///
procedure InitializeWizard();
begin
  InitializeWizard1();
  InitializeWizard2();
  InitializeWizard3();
  InitializeWizard4();
  InitializeWizard6();
  InitializeWizard7();
  InitializeWizard8();
//  InitializeWizard5();
end;
 

Всего записей: 231 | Зарегистр. 11-09-2010 | Отправлено: 00:37 25-04-2011 | Исправлено: Alex 17, 00:47 25-04-2011
   

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

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru