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

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

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

articlebot (13-10-2013 23:33): продолжение темы - №15
 Версия для печати • ПодписатьсяДобавить в закладки
На первую страницук этому сообщениюк последнему сообщению

   

YURSHAT



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
#define DirectX
 
#include "Modules\botva2.iss"
 
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
 
[Languages]
Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl"
 
[CustomMessages]
rus.DirectX=Обновить DirectX
rus.DirectXInstall=Идет обновление DirectX...
 
[Files]
Source: "Files\*"; DestDir: "{tmp}"; Flags: dontcopy
 
[Code_]
var
  DirectXCheck : HWND;
  DirectXLabel : TLabel;
   
function InitializeSetup:boolean;
begin
  if not FileExists(ExpandConstant('{tmp}\botva2.dll')) then ExtractTemporaryFile('botva2.dll');
  if not FileExists(ExpandConstant('{tmp}\CallbackCtrl.dll')) then ExtractTemporaryFile('CallbackCtrl.dll');
  Result:=True;
end;
 
procedure DirectXClick(hBtn:HWND);
begin
  if BtnGetChecked(hBtn) then DirectXLabel.Font.Color:=clBlue else DirectXLabel.Font.Color:=clBlack;
end;
 
procedure DirectXLabelClick(Sender:TObject);
begin
  BtnSetChecked(DirectXCheck, not BtnGetChecked(DirectXCheck));
  DirectXClick(DirectXCheck);
end;
 
procedure RedesignWizardForm;
begin
  ExtractTemporaryFile('CheckBox.png');
 
  #ifdef DirectX
  //создаем чекбокс
  DirectXCheck:=BtnCreate(WizardForm.SelectDirPage.Handle, ScaleX(0),ScaleY(120),ScaleX(28),ScaleY(28),ExpandConstant('{tmp}\CheckBox.png'),0,True);
  BtnSetEvent(DirectXCheck,BtnClickEventID,WrapBtnCallback(@DirectXClick,1));
  BtnSetCursor(DirectXCheck,GetSysCursorHandle(32649));
 
  // создаем надпись к нему
  DirectXLabel := TLabel.Create(WizardForm);
  with DirectXLabel do begin
    AutoSize:=False;
    SetBounds(ScaleX(35), ScaleY(128), ScaleX(145), ScaleY(17));
    OnClick:= @DirectXLabelClick;
    Cursor:= CrHand;
    Caption := ExpandConstant('{cm:DirectX}');
    Parent := WizardForm.SelectDirPage;
  end;
  #endif
end;
 
procedure InitializeWizard();
begin
  RedesignWizardForm;
end;
 
procedure CurStepChanged(CurStep: TSetupStep);
var
  ErrorCode: Integer;
begin
  case CurStep of
    ssPostInstall: begin
      #ifdef DirectX
        if BtnGetChecked(DirectXCheck) then begin
          WizardForm.StatusLabel.Caption := ExpandConstant('{cm:DirectXInstall}');
          Exec(ExpandConstant('{src}\Redist\DirectX 9\DXSETUP.exe'), '/silent', ExpandConstant('{src}'), SW_HIDE, ewWaitUntilTerminated, ErrorCode);
        end;
      #endif
    end;
  end;
end;
 
procedure DeinitializeSetup;
begin
  gdipShutdown;
end;

Всего записей: 855 | Зарегистр. 07-11-2009 | Отправлено: 02:35 29-08-2012
   

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

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
articlebot (13-10-2013 23:33): продолжение темы - №15


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru