Скрипты Inno Setup. Помощь и советы [часть 9]

Ответить
 • Просмотры: 4
Аватара пользователя
Dodakaedr

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Dodakaedr »

proffbik, страницу обнови, или сетап в другое место перенеси, не может быть такого чтобы без изменений. и куда ты вообще смотришь, о какой версии говорил - свойства>подробно>версия файла? если да, то прекрасно работает Resource Tuner
Аватара пользователя
proffbik

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение proffbik »

Цитата proffbik:



Как отключить AppVerion, чтобы в инсталяторе про версию вообще ничего не писалось?



Если речь идёт о том чтобы версия не писалась ни в реестре, ни в Панели управления → Программы и компоненты, тогда попробуй так.





#define MyAppName "My Program"



[Setup]

AppName={#MyAppName}

AppVerName={#MyAppName}

DefaultDirName={pf}\{#MyAppName}

DefaultGroupName={#MyAppName}
Аватара пользователя
ZVSRus

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение ZVSRus »

Цитата proffbik:

Как отключить AppVerion, чтобы в инсталяторе про версию вообще ничего не писалось?

Если речь идёт о том чтобы версия не писалась ни в реестре, ни в Панели управления → Программы и компоненты, тогда попробуй так.

#define MyAppName "My Program"

[Setup]

AppName={#MyAppName}

AppVerName={#MyAppName}

DefaultDirName={pf}\{#MyAppName}

DefaultGroupName={#MyAppName}
Аватара пользователя
Beavimo

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Beavimo »

Цитата ZVSRus:



Если речь идёт о том чтобы версия не писалась ни в реестре, ни в Панели управления → Программы и компоненты, тогда попробуй так.
Скрипты Inno Setup. Помощь и советы [часть 9]




Благодарю, дружище. Ты понял, что я имел ввиду Изображение
Аватара пользователя
proffbik

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение proffbik »

как убрать этот MsgBox, при запароливании сетапа?


фото

[spoiler]
[/spoiler]
Аватара пользователя
Beavimo

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Beavimo »

как убрать этот MsgBox, при запароливании сетапа?


фото

[spoiler]
[/spoiler]
Аватара пользователя
Beavimo

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Beavimo »

может есть у кого пример хранения временных файлов в оперативке - для актуальной Inno Setup скачанной c оф сайта? пользуюсь sndPlaySound, и хотелось бы (.wav) файлы держать в оперативной памяти, а не в папке ТЕМП. буду рад любой помощи.
Аватара пользователя
OldGamer

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение OldGamer »

OldGamer, Можете сделать скрипт без модулей, без файлов и прочих функций не относящихся к кастомному окну выбора языка? Сложновато ванговать)

Но попытаюсь:


Цитата OldGamer:



1) Как сделать, чтобы инсталлятор запускался правильно на выбранном языке?
Скрипты Inno Setup. Помощь и советы [часть 9]




Для этого нужно указать выбранный индекс языка в SelectLanguageForm.LangCombo.ItemIndex (function InitializeLanguageDialog(): Boolean).




Цитата OldGamer:



2) Как сделать, что бы по умолчанию был выбран русский язык (это необязательно, но вдруг кто-то знает)?
Скрипты Inno Setup. Помощь и советы [часть 9]




Выставить в секции [LangOptions] или в [Languages], не помню точно, в конец списка русский язык
Аватара пользователя
Dodakaedr

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Dodakaedr »

Цитата Dodakaedr:



Можете сделать скрипт без модулей, без файлов и прочих функций не относящихся к кастомному окну выбора языка? Сложновато ванговать)

Но попытаюсь:
Скрипты Inno Setup. Помощь и советы [часть 9]




Попытка №2:

Вот скрипт с применённым стилем Steam и выбором языков, постарался убрать всё лишнее: картинки, различные эффекты и т.п.



"чистый" скрипт

[spoiler]#ifdef UNICODE

#define S "W"

#else

#define S "A"

#endif



[Setup]

SourceDir=.

OutputDir=Setup

AppName=Bugs Bunny & Taz: Time Busters

AppVerName=Bugs Bunny & Taz: Time Busters

AppVersion=Bugs Bunny & Taz: Time Busters

AppPublisher=EmuGames

AppCopyright=by Ma2012ks ©

AppPublisherURL=
www.emugames.do.am


AppSupportURL=
www.emugames.do.am


AppUpdatesURL=
www.emugames.do.am


DefaultDirName={pf}\Bugs Bunny™ & Taz™ - Time Busters

DefaultGroupName=Bugs Bunny & Taz Time Busters

AllowNoIcons=yes

OutputBaseFilename=setup

WindowVisible=no

WindowShowCaption=no

WindowResizable=no

Compression=none

DiskSpanning=yes

DiskSliceSize=2100000000

SlicesPerDisk=1

ShowLanguageDialog=no



[Languages]

Name: eng; MessagesFile: compiler:Languages\English.isl

Name: french; MessagesFile: compiler:Languages\French.isl

Name: german; MessagesFile: compiler:Languages\German.isl

Name: spanish; MessagesFile: compiler:Languages\Spanish.isl

Name: italian; MessagesFile: compiler:Languages\Italian.isl

Name: dutch; MessagesFile: compiler:Languages\Dutch.isl

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



[Messages]



SelectLanguageTitle=Bugs Bunny & Taz: Time Busters

SelectLanguageLabel=Please select installation language. Выберите язык установки.



[LangOptions]

eng.LanguageName=English

french.LanguageName=French

german.LanguageName=German

spanish.LanguageName=Spanish

italian.LanguageName=Italian

dutch.LanguageName=Dutch

rus.LanguageName=Russian



[Tasks]

Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"



[Files]

Source: ISSkin.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression

Source: steam.cjstyles; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression



Source: "D:\Max\NightLection Team\CurrentProject\Bugs Bunny & Taz Time Busters\Pakovano\FARGUS\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension



[Icons]

Name: "{group}\Bugs Bunny & Taz: - Time Busters"; Filename: "{app}\Bugs Bunny & Taz - Time Busters.exe"; WorkingDir: "{app}";

Name: "{userdesktop}\Bugs Bunny & Taz: - Time Busters"; Filename: "{app}\Bugs Bunny & Taz - Time Busters.exe"; WorkingDir: "{app}"; Tasks: desktopicon;

Name: "{group}\Bugs Bunny & Taz - Time Busters - Options"; Filename: "{app}\Bugs Bunny & Taz - Time Busters-Options.exe"; WorkingDir: "{app}";

Name: "{userdesktop}\Bugs Bunny & Taz - Time Busters - Options"; Filename: "{app}\Bugs Bunny & Taz - Time Busters-Options.exe"; WorkingDir: "{app}"; Tasks: desktopicon;

Name: "{group}\{cm:UninstallProgram,Bugs Bunny & Taz: Time Busters}"; Filename: "{uninstallexe}"



[Run]

Description: "{cm:LaunchProgram, Bugs Bunny & Taz: - Time Busters}"; Filename: "{app}\Bugs Bunny & Taz - Time Busters.exe"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent unchecked

Description: "{cm:LaunchProgram, Bugs Bunny & Taz - Time Busters - Options}"; Filename: "{app}\Bugs Bunny & Taz - Time Busters-Options.exe"; WorkingDir: "{app}"; Flags: nowait postinstall skipifsilent unchecked



[UninstallDelete]

Type: filesandordirs; Name: "{app}"


Код: Выделить всё


#include "ExecAndWait.iss"



procedure LoadSkin(lpszPath: String; lpszIniFileName: String); external 'LoadSkin@files:isskin.dll stdcall';

procedure UnloadSkin(); external 'UnloadSkin@files:isskin.dll stdcall';



type

LCID = LongInt;



function GetSystemDefaultLCID() : LCID;

  external 'GetSystemDefaultLCID@kernel32.dll stdcall';



var

  LSelectLanguageForm: TSetupForm;

  LBevel: TBevel;

  LOkButton, LCancelButton: TButton;

  LangCombo: TNewComboBox;

  LSelectLabel: TLabel;

  m,n,f,g,s,i,d: integer;

  Locale: string;

  rus, eng, french, german, spanish, italian, dutch: boolean;

  

function CheckParam(s: string): boolean;

var

  i: integer;

begin

  for i := 0 to ParamCount do

  begin

    Result := ParamStr(i) = s;

    if Result then Break;

  end;

end;

  

procedure LangChange(Sender : TObject);

begin

  if rus then

    begin

      m:=0;

      n:=1;

    end

    else

    begin

      m:=1;

      n:=0;

      f:=0;

      g:=0;

    end;

    case LangCombo.ItemIndex of

      m: begin

      with LSelectLanguageForm do

      begin

        LSelectLabel.Caption:= 'Please select installation language.                      Выберите язык установки.';

        LSelectLanguageForm.Caption:= 'Bugs Bunny & Taz: Time Busters';

        LCancelButton.Caption := 'Отмена';

        LOkButton.Caption:= 'ОК';

      end;

      Locale:= 'rus';

      end;

     n: begin

      with LSelectLanguageForm do

      begin

        LSelectLabel.Caption:= 'Please select installation language.                      Выберите язык установки.';

        LSelectLanguageForm.Caption:= 'Bugs Bunny & Taz: Time Busters';

        LCancelButton.Caption := 'Отмена';

        LOkButton.Caption:= 'ОК';

      end;

      Locale:= 'eng';

      end;

      f: begin

      with LSelectLanguageForm do

      begin

        LSelectLabel.Caption:= 'Please select installation language.                      Выберите язык установки.';

        LSelectLanguageForm.Caption:= 'Bugs Bunny & Taz: Time Busters';

        LCancelButton.Caption := 'Отмена';

        LOkButton.Caption:= 'ОК';

      end;

      Locale:= 'french';

      end;

      g: begin

      with LSelectLanguageForm do

      begin

        LSelectLabel.Caption:= 'Please select installation language.                      Выберите язык установки.';

        LSelectLanguageForm.Caption:= 'Bugs Bunny & Taz: Time Busters';

        LCancelButton.Caption := 'Отмена';

        LOkButton.Caption:= 'ОК';

      end;

      Locale:= 'german';

      end;

      s: begin

      with LSelectLanguageForm do

      begin

        LSelectLabel.Caption:= 'Please select installation language.                      Выберите язык установки.';

        LSelectLanguageForm.Caption:= 'Bugs Bunny & Taz: Time Busters';

        LCancelButton.Caption := 'Отмена';

        LOkButton.Caption:= 'ОК';

      end;

      Locale:= 'spanish';

      end;

      i: begin

      with LSelectLanguageForm do

      begin

        LSelectLabel.Caption:= 'Please select installation language.                      Выберите язык установки.';

        LSelectLanguageForm.Caption:= 'Bugs Bunny & Taz: Time Busters';

        LCancelButton.Caption := 'Отмена';

        LOkButton.Caption:= 'ОК';

      end;

      Locale:= 'italian';

      end;

      d: begin

      with LSelectLanguageForm do

      begin

        LSelectLabel.Caption:= 'Please select installation language.                      Выберите язык установки.';

        LSelectLanguageForm.Caption:= 'Bugs Bunny & Taz: Time Busters';

        LCancelButton.Caption := 'Отмена';

        LOkButton.Caption:= 'ОК';

      end;

      Locale:= 'dutch';

      end;

    end;

end;



procedure OkClick(Sender: TObject);

begin

  ExecAndWait(ExpandConstant('{srcexe}'), '/LANG=' + Locale, SW_SHOW, false, 0);

  LSelectLanguageForm.Close;

end;



procedure CancelClick(Sender: TObject);

begin

  LSelectLanguageForm.Close;

end;





procedure Lang;

begin

  LSelectLanguageForm := CreateCustomForm;

  with LSelectLanguageForm do

  begin

    ClientWidth:= ScaleX(325);

    ClientHeight:= ScaleY(125);

    BorderIcons:= [biSystemMenu];

    BorderStyle:= bsDialog;

    Position:= poScreenCenter;

    Caption:= SetupMessage(msgSelectLanguageTitle);

  end;



  LBevel := TBevel.Create(LSelectLanguageForm);

  with LBevel do

  begin

    Parent:= LSelectLanguageForm;



    SetBounds(ScaleX(0), ScaleY(82), LSelectLanguageForm.ClientWidth, ScaleY(2));

    Shape:= bsTopLine;

  end;



  LSelectLabel:= TLabel.Create(LSelectLanguageForm);

  with LSelectLabel do

  begin

    SetBounds(ScaleX(79), ScaleY(10), ScaleX(230), ScaleY(42));

    Transparent:= True;

    AutoSize:= False;

    WordWrap:= True;

    Parent:= LSelectLanguageForm;

    Caption:= SetupMessage(msgSelectLanguageLabel);

  end;



  LangCombo:= TNewComboBox.Create(LSelectLanguageForm)

  with LangCombo do

  begin

    SetBounds(ScaleX(79), ScaleY(45), ScaleX(230), ScaleY(21));

    Parent:= LSelectLanguageForm;

    Style:= csDropDownList;

    OnChange:= @LangChange;

    if rus then

    begin

      Items.add('Русский / Russian')

      Items.add('Английский / English')

      Items.add('Французский / French')

      Items.add('Немецкий / German')

      Items.add('Испанский / Spanish')

      Items.add('Итальянский / Italian')

      Items.add('Голландский / Dutch')



      Locale:= 'rus';

      Locale:= 'eng';

      Locale:= 'french';

      Locale:= 'german';

      Locale:= 'spanish';

      Locale:= 'italian';

      Locale:= 'dutch';

    end;

    ItemIndex := 0

    ItemIndex := 1

    ItemIndex := 2

    ItemIndex := 3

    ItemIndex := 4

    ItemIndex := 5

    ItemIndex := 6

  end;



  LOkButton:= TButton.Create(LSelectLanguageForm);

  with LOkButton do

  begin

    Parent:= LSelectLanguageForm;

    SetBounds(ScaleX(152), ScaleY(92), ScaleX(75), ScaleY(23));

    OnClick:= @OkClick;

    Caption:= SetupMessage(msgButtonOK);

  end;



  LCancelButton:= TButton.Create(LSelectLanguageForm);

  with LCancelButton do

  begin

    Parent:= LSelectLanguageForm;

    SetBounds(ScaleX(235), ScaleY(92), ScaleX(75), ScaleY(23));

    OnClick:= @CancelClick;

    Caption:= Setupmessage(msgButtonCancel);

  end;

  LSelectLanguageForm.ShowModal;

  LSelectLanguageForm.Free;

end;



function InitializeSetup:boolean;

begin

  ExtractTemporaryFile('steam.cjstyles');

  LoadSkin(ExpandConstant('{tmp}')+'\steam.cjstyles', '');

  Result:=True;

  begin

  if GetSystemDefaultLCID = 1049 then

    rus:= True;

  if CheckParam('/LANG=rus') or CheckParam('/LANG=eng') or CheckParam('/LANG=french') or CheckParam('/LANG=german') or CheckParam('/LANG=spanish') or CheckParam('/LANG=italian') or CheckParam('/LANG=dutch') then

    eng:= True;

  if not eng then

    begin

      Lang;

      Result:= False;

    end

    else

    Result:= True;

end;

end;







const

  dURL=2;



var

  URLLabel,URLLabelShadow:TLabel;



function ShowWindow(hWnd: Integer; uType: Integer): Integer; external 'ShowWindow@user32.dll stdcall';



procedure URLLabelClick(Sender: TObject);

var

  ErrorCode:integer;

begin

  ShellExec('open','www.emugames.do.am','','',SW_SHOWNORMAL,ewNoWait,ErrorCode);

end;



procedure URLLabelMouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);

begin

  URLLabel.Top:=URLLabel.Top+dURL;

  URLLabel.Left:=URLLabel.Left+dURL;

  URLLabel.Font.Style:=URLLabel.Font.Style+[fsUnderline];

  URLLabel.Font.Color:=$50B5C4;

  URLLabelShadow.Visible:=False;

end;



procedure URLLabelMouseUp(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);

begin

  URLLabel.Top:=URLLabel.Top-dURL;

  URLLabel.Left:=URLLabel.Left-dURL;

  URLLabel.Font.Style:=URLLabel.Font.Style-[fsUnderline];

  URLLabel.Font.Color:=$708A7A;

  URLLabelShadow.Visible:=True;

end;



procedure RunListClickCheck(Sender: TObject);

var

  i:integer;

begin

  if WizardForm.RunList.Checked[WizardForm.RunList.ItemIndex] then begin

    for i:=0 to WizardForm.RunList.Items.Count-1 do

      WizardForm.RunList.Checked[i]:=False;

    WizardForm.RunList.Checked[WizardForm.RunList.ItemIndex]:=True;

  end;

end;



procedure InitializeWizard;

begin

  WizardForm.RunList.OnClickCheck:=@RunListClickCheck;

  URLLabelShadow:=TLabel.Create(WizardForm);

  with URLLabelShadow do begin

    Top:=ScaleY(331);

    Left:=ScaleX(25);

    Caption:='www.emugames.do.am';

    AutoSize:=True;

    Parent:=WizardForm;

    Transparent:=True;

    Font.Color:=$041207;

    Font.Size:=9;

    Font.Style:=Font.Style+[fsBold];

  end;

  URLLabel:=TLabel.Create(WizardForm);

  with URLLabel do begin

    Top:=ScaleY(331)-dURL;

    Left:=ScaleX(25)-dURL;

    Caption:='www.emugames.do.am';

    AutoSize:=True;

    Parent:=WizardForm;

    Cursor:=crHand;

    Transparent:=True;

    Font.Color:=$708A7A;

    Font.Size:=9;

    Font.Style:=Font.Style+[fsBold];

    BringToFront;

    OnClick:=@URLLabelClick;

    OnMouseDown:=@URLLabelMouseDown;

    OnMouseUp:=@URLLabelMouseUp;

  end;

  WizardForm.BeveledLabel.Enabled:=True;

end;



procedure CurPageChanged(CurPageID: Integer);

begin

  if (CurPageID=wpFinished) or (CurPageID=wpInfoAfter) then

    WizardForm.RunList.Checked[0]:=True;

end;



procedure DeinitializeSetup;

begin

  ShowWindow(WizardForm.Handle,0);

  UnloadSkin();

end;[/spoiler]
                
                                           
            


				Цитата [b]Dodakaedr[/b]:
	
	
		
				Выставить в секции [LangOptions] или в [Languages], не помню точно, в конец списка русский язык [url=viewtopic.php?p=2775368#p2775368]»[/url]
		
	
	
Не помогло.


				Цитата [b]Dodakaedr[/b]:
	
	
		
				Для этого нужно указать выбранный индекс языка в SelectLanguageForm.LangCombo.ItemIndex (function InitializeLanguageDialog(): Boolean). [url=viewtopic.php?p=2775368#p2775368]»[/url]
		
	
	
Где и как правильно прописать эти индексы, можно подробнее?
Аватара пользователя
OldGamer

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение OldGamer »

Цитата OldGamer:



1) Как сделать, чтобы инсталлятор запускался правильно на выбранном языке?
Скрипты Inno Setup. Помощь и советы [часть 9]




правильно передать переменную Locale




Цитата OldGamer:



2) Как сделать, что бы по умолчанию был выбран русский язык (это необязательно, но вдруг кто-то знает)?
Скрипты Inno Setup. Помощь и советы [часть 9]




в параметре ItemIndex указать индекс нужного языка




Цитата OldGamer:



есть кастомное окно с выбором языков установщика (всего 7 языков).
Скрипты Inno Setup. Помощь и советы [часть 9]




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

вот чистый код кастомного окна выбора языка



скрипт

[spoiler]Код:
[/spoiler]

Код: Выделить всё

#include "Execandwait.iss"
[Setup]
SourceDir=.
OutputDir=Setup
AppName=Bugs Bunny & Taz: Time Busters
AppVerName=Bugs Bunny & Taz: Time Busters
DefaultDirName={pf}\Bugs Bunny™ & Taz™ - Time Busters
ShowLanguageDialog=no
[Languages]
Name: eng; MessagesFile: compiler:Languages\English.isl
Name: french; MessagesFile: compiler:Languages\French.isl
Name: german; MessagesFile: compiler:Languages\German.isl
Name: spanish; MessagesFile: compiler:Languages\Spanish.isl
Name: italian; MessagesFile: compiler:Languages\Italian.isl
Name: dutch; MessagesFile: compiler:Languages\Dutch.isl
Name: rus; MessagesFile: compiler:Languages\Russian.isl
[Messages]
SelectLanguageTitle=Bugs Bunny & Taz: Time Busters
SelectLanguageLabel=Please select installation language. Выберите язык установки.
[code]
var
  LSelectLanguageForm: TSetupForm;
  LBevel: TBevel;
  LOkButton, LCancelButton: TButton;
  LangCombo: TNewComboBox;
  LSelectLabel: TLabel;
  Locale: string;
procedure LangChange(Sender : TObject);
begin
  case LangCombo.ItemIndex of
    0: Locale := 'rus';
    1: Locale := 'eng';
    2: Locale := 'french';
    3: Locale := 'german';
    4: Locale := 'spanish';
    5: Locale := 'italian';
    6: Locale := 'dutch';
  end;
end;
procedure OkClick(Sender: TObject);
begin
  ExecAndWait(ExpandConstant('{srcexe}'), '/LANG=' + Locale, SW_SHOW, false, 0);
  LSelectLanguageForm.Close;
end;
procedure CancelClick(Sender: TObject);
begin
  LSelectLanguageForm.Close;
end;
procedure Lang;
begin
  LSelectLanguageForm := CreateCustomForm;
  with LSelectLanguageForm do
    begin
      ClientWidth:= ScaleX(325);
      ClientHeight:= ScaleY(125);
      BorderIcons:= [biSystemMenu];
      BorderStyle:= bsDialog;
      Position:= poScreenCenter;
      Caption:= SetupMessage(msgSelectLanguageTitle);
    end;
  LBevel := TBevel.Create(LSelectLanguageForm);
  with LBevel do
    begin
      Parent:= LSelectLanguageForm;
      SetBounds(ScaleX(0), ScaleY(82), LSelectLanguageForm.ClientWidth, ScaleY(2));
      Shape:= bsTopLine;
    end;
  LSelectLabel:= TLabel.Create(LSelectLanguageForm);
  with LSelectLabel do
    begin
      SetBounds(ScaleX(79), ScaleY(10), ScaleX(230), ScaleY(42));
      Transparent:= True;
      AutoSize:= False;
      WordWrap:= True;
      Parent:= LSelectLanguageForm;
      Caption:= SetupMessage(msgSelectLanguageLabel);
    end;
  LangCombo:= TNewComboBox.Create(LSelectLanguageForm)
  with LangCombo do
    begin
      SetBounds(ScaleX(79), ScaleY(45), ScaleX(230), ScaleY(21));
      Parent:= LSelectLanguageForm;
      Style:= csDropDownList;
      OnChange:= @LangChange;
      Items.add('Русский / Russian')     //0
      Items.add('Английский / English')  //1
      Items.add('Французский / French')  //2
      Items.add('Немецкий / German')     //3
      Items.add('Испанский / Spanish')   //4
      Items.add('Итальянский / Italian') //5
      Items.add('Голландский / Dutch')   //6
      ItemIndex := 0
    end;
  LOkButton:= TButton.Create(LSelectLanguageForm);
  with LOkButton do
    begin
      Parent:= LSelectLanguageForm;
      SetBounds(ScaleX(152), ScaleY(92), ScaleX(75), ScaleY(23));
      OnClick:= @OkClick;
      Caption:= SetupMessage(msgButtonOK);
    end;
  LCancelButton:= TButton.Create(LSelectLanguageForm);
  with LCancelButton do
    begin
      Parent:= LSelectLanguageForm;
      SetBounds(ScaleX(235), ScaleY(92), ScaleX(75), ScaleY(23));
      OnClick:= @CancelClick;
      Caption:= Setupmessage(msgButtonCancel);
    end;
  LSelectLanguageForm.ShowModal;
  LSelectLanguageForm.Free;
end;
function InitializeSetup:boolean;
begin
  Result := False;
  if Pos(AnsiLowercase('/LANG='), AnsiLowercase(GetCmdTail)) > 0 then Result := true else Lang;
end;









P.S. советую оформлять код в легко читабельном виде, а то у вас какой-то "водопад" получился.
Ответить

Вернуться в «Автоматическая установка приложений»