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

Статус
В этой теме нельзя размещать новые ответы.

Devils Night

Ветеран
YURSHAT написал(а):
И используй библиотеку которую я прикрепил, а именно версию 1.003
Спасибо! :yes:
По поводу:
Как сделать определение устройства в инсталяторе?
, пересмотрел здоровый скрипт, нашёл мало чего хорошего, а быть точнее, не нашёл ничего такого что нужно.

Мужики, что можно сделать с этим монстром?:
Код:
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_1131&DEV_7133&SUBSYS_725317DE&REV_D1] 
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\PCI\VEN_1131&DEV_7133&SUBSYS_725317DE&REV_D1] 
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\PCI\VEN_1131&DEV_7133&SUBSYS_725317DE&REV_D1\3&61aaa01&0&48]
, нужно чтобы это устройство определялось как на этом примере. Это вообще возможно?

Packer, есть такая штука, называется:

Спасибо - это вежливое слово, которое говорят или пишут (во многих форумах нажимают), для того чтобы выразить благодарность (чувство признательности за сделанное добро, например за оказанное внимание или помощь, а также различные способы выражения этого чувства), да и тем самым покажешь свою воспитанность.
В форуме, нажав Спасибо, ты не только отблагодаришь человека, но и дашь понять, что ты видел это сообщение и оно тебе как то помогло.
Ещё, по Спасибо, можно найти посты с твоей благодарностью, в которых есть что-то полезное, то что тебя заинтересовало, и что в будущем тебе может это как то помочь.
 
Последнее редактирование:

GVS276

Старожил
Проверенный
K.I.S, да
[SOURCE="iss"]function ProgressCallback(OveralPct,CurrentPct: integer;CurrentFile,TimeStr1,TimeStr2,TimeStr3:pAnsiChar): longword;
begin
if OveralPct<=1000 then ISDoneProgressBar1.Position := OveralPct;
LabelPct1.Caption := IntToStr(OveralPct div 10)+'.'+chr(48 + OveralPct mod 10)+'%';
#ifdef SecondProgressBar
if OveralPct<=1000 then ISDoneProgressBar2.Position := OveralPct; //Просто заменил "CurrentPct" на "OveralPct"
LabelPct2.Caption := IntToStr(OveralPct div 10)+'.'+chr(48 + OveralPct mod 10)+'%';
#endif
LabelCurrFileName.Caption:=ExpandConstant('{cm:ExtractedFile} ')+MinimizePathName(CurrentFile, LabelCurrFileName.Font, LabelCurrFileName.Width-ScaleX(100));
LabelTime1.Caption:=ExpandConstant('{cm:ElapsedTime} ')+TimeStr2;
LabelTime2.Caption:=ExpandConstant('{cm:RemainingTime} ')+TimeStr1;
LabelTime3.Caption:=ExpandConstant('{cm:AllElapsedTime}')+TimeStr3;
Result := ISDoneCancel;
end;[/SOURCE]
 
Последнее редактирование:

Adil

Старожил
Доброе утро народ

Сделал на Редакторе Форм скрипт




Как сделать текст по центру т.е. Alignment=taCenter, всё перепробывал и ничего
помогите

Код:
{ RedesignWizardFormBegin } // Не удалять эту строку!
// Не изменять эту секцию. Она создана автоматически.
var
  BitmapImage4: TBitmapImage;
  Bevel2: TBevel;
  Bevel3: TBevel;
  BitmapImage1: TBitmapImage;
  Bevel4: TBevel;
  Bevel6: TBevel;
  BitmapImage2: TBitmapImage;
  Bevel8: TBevel;
  BitmapImage5: TBitmapImage;
  Bevel5: TBevel;
  Bevel7: TBevel;
  BitmapImage3: TBitmapImage;

procedure RedesignWizardForm;
begin
  with WizardForm do
  begin
    Color := clSilver;
    AutoScroll := False;
    ClientHeight := ScaleY(515);
    ClientWidth := ScaleX(663);
    Center;
  end;

  with WizardForm.Bevel do
  begin
    Width := ScaleX(0);
  end;

  { BitmapImage4 }
  BitmapImage4 := TBitmapImage.Create(WizardForm);
  with BitmapImage4 do
  begin
    Name := 'BitmapImage4';
    Parent := WizardForm;
    Left := ScaleX(80);
    Top := ScaleY(471);
    Width := ScaleX(158);
    Height := ScaleY(37);
    ExtractTemporaryFile('WizardForm.BitmapImage4.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage4.bmp'));
  end;

  with WizardForm.CancelButton do
  begin
    Left := ScaleX(575);
    Top := ScaleY(479);
  end;

  with WizardForm.NextButton do
  begin
    Left := ScaleX(485);
    Top := ScaleY(479);
  end;

  with WizardForm.BackButton do
  begin
    Left := ScaleX(405);
    Top := ScaleY(479);
  end;

  with WizardForm.OuterNotebook do
  begin
    Width := ScaleX(663);
    Height := ScaleY(465);
  end;

  with WizardForm.WelcomePage do
  begin
    Color := clSilver;
  end;

  with WizardForm.WizardBitmapImage do
  begin
    Width := ScaleX(0);
    Height := ScaleY(0);
  end;

  { Bevel2 }
  Bevel2 := TBevel.Create(WizardForm);
  with Bevel2 do
  begin
    Name := 'Bevel2';
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(8);
    Top := ScaleY(303);
    Width := ScaleX(650);
    Height := ScaleY(154);
    Shape := bsFrame;
  end;

  { Bevel3 }
  Bevel3 := TBevel.Create(WizardForm);
  with Bevel3 do
  begin
    Name := 'Bevel3';
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(8);
    Top := ScaleY(8);
    Width := ScaleX(650);
    Height := ScaleY(290);
    Shape := bsFrame;
  end;

  { BitmapImage1 }
  BitmapImage1 := TBitmapImage.Create(WizardForm);
  with BitmapImage1 do
  begin
    Name := 'BitmapImage1';
    Parent := WizardForm.WelcomePage;
    Left := ScaleX(16);
    Top := ScaleY(16);
    Width := ScaleX(633);
    Height := ScaleY(273);
    ExtractTemporaryFile('WizardForm.BitmapImage1.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage1.bmp'));
  end;

  with WizardForm.WelcomeLabel2 do
  begin
    Font.Height := -12;
    Font.Name := 'Sylfaen';
    Font.Style := [fsItalic];
    ParentFont := False;
    Left := ScaleX(112);
    Top := ScaleY(367);
    Width := ScaleX(501);
    Height := ScaleY(87);
  end;

  with WizardForm.WelcomeLabel1 do
  begin
    Font.Height := -17;
    Font.Name := 'Sylfaen';
    Font.Style := [fsBold, fsItalic];
    Left := ScaleX(68);
    Top := ScaleY(319);
    Width := ScaleX(525);
    Height := ScaleY(47);
  end;

  with WizardForm.InnerPage do
  begin
    Color := clSilver;
  end;

  with WizardForm.Bevel1 do
  begin
    Width := ScaleX(0);
  end;

  { Bevel4 }
  Bevel4 := TBevel.Create(WizardForm);
  with Bevel4 do
  begin
    Name := 'Bevel4';
    Parent := WizardForm.InnerPage;
    Left := ScaleX(8);
    Top := ScaleY(304);
    Width := ScaleX(650);
    Height := ScaleY(154);
    Shape := bsFrame;
  end;

  { Bevel6 }
  Bevel6 := TBevel.Create(WizardForm);
  with Bevel6 do
  begin
    Name := 'Bevel6';
    Parent := WizardForm.InnerPage;
    Left := ScaleX(8);
    Top := ScaleY(8);
    Width := ScaleX(650);
    Height := ScaleY(290);
    Shape := bsFrame;
  end;

  { BitmapImage2 }
  BitmapImage2 := TBitmapImage.Create(WizardForm);
  with BitmapImage2 do
  begin
    Name := 'BitmapImage2';
    Parent := WizardForm.InnerPage;
    Left := ScaleX(16);
    Top := ScaleY(16);
    Width := ScaleX(633);
    Height := ScaleY(273);
    ExtractTemporaryFile('WizardForm.BitmapImage2.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage2.bmp'));
  end;

  with WizardForm.InnerNotebook do
  begin
    Top := ScaleY(312);
    Width := ScaleX(577);
    Height := ScaleY(141);
  end;

  with WizardForm.SelectDirBitmapImage do
  begin
    Left := ScaleX(16);
    Top := ScaleY(9);
    Width := ScaleX(77);
    Height := ScaleY(63);
    ExtractTemporaryFile('WizardForm.SelectDirBitmapImage.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.SelectDirBitmapImage.bmp'));
  end;

  { Bevel8 }
  Bevel8 := TBevel.Create(WizardForm);
  with Bevel8 do
  begin
    Name := 'Bevel8';
    Parent := WizardForm.SelectDirPage;
    Left := ScaleX(113);
    Top := ScaleY(84);
    Width := ScaleX(283);
    Height := ScaleY(52);
    Shape := bsFrame;
  end;

  { BitmapImage5 }
  BitmapImage5 := TBitmapImage.Create(WizardForm);
  with BitmapImage5 do
  begin
    Name := 'BitmapImage5';
    Parent := WizardForm.SelectDirPage;
    Left := ScaleX(331);
    Top := ScaleY(89);
    Width := ScaleX(61);
    Height := ScaleY(45);
    ExtractTemporaryFile('WizardForm.BitmapImage5.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage5.bmp'));
  end;

  with WizardForm.DiskSpaceLabel do
  begin
    Font.Name := 'Sylfaen';
    Font.Style := [fsItalic];
    ParentFont := False;
    Left := ScaleX(120);
    Top := ScaleY(89);
    Width := ScaleX(0);
  end;

  with WizardForm.DirBrowseButton do
  begin
    Left := ScaleX(494);
    Top := ScaleY(55);
  end;

  with WizardForm.DirEdit do
  begin
    Left := ScaleX(112);
    Top := ScaleY(57);
  end;

  with WizardForm.SelectDirBrowseLabel do
  begin
    Font.Name := 'Sylfaen';
    Font.Style := [fsItalic];
    ParentFont := False;
    Left := ScaleX(112);
    Top := ScaleY(21);
  end;

  with WizardForm.SelectDirLabel do
  begin
    Font.Name := 'Sylfaen';
    Font.Style := [fsItalic];
    ParentFont := False;
    Left := ScaleX(112);
    Top := ScaleY(1);
    Width := ScaleX(375);
    Height := ScaleY(23);
  end;

  with WizardForm.ComponentsList do
  begin
    Left := ScaleX(80);
    Height := ScaleY(59);
  end;

  with WizardForm.TypesCombo do
  begin
    Left := ScaleX(80);
    Top := ScaleY(42);
  end;

  with WizardForm.SelectComponentsLabel do
  begin
    Caption := 'Выберите компоненты, которые Вы хотите установить. Нажмите «Далее», когда Вы будете готовы продолжить.';
    Font.Name := 'Sylfaen';
    Font.Style := [fsItalic];
    ParentFont := False;
    Left := ScaleX(80);
    Top := ScaleY(8);
    Width := ScaleX(433);
    Height := ScaleY(32);
  end;

  with WizardForm.SelectGroupBitmapImage do
  begin
    Left := ScaleX(16);
    Top := ScaleY(9);
    Width := ScaleX(77);
    Height := ScaleY(63);
    ExtractTemporaryFile('WizardForm.SelectGroupBitmapImage.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.SelectGroupBitmapImage.bmp'));
  end;

  with WizardForm.GroupBrowseButton do
  begin
    Left := ScaleX(494);
    Top := ScaleY(49);
  end;

  with WizardForm.GroupEdit do
  begin
    Left := ScaleX(112);
    Top := ScaleY(51);
  end;

  with WizardForm.SelectStartMenuFolderBrowseLabel do
  begin
    Caption := 'Программа создаст ярлыки в следующей папке меню «Пуск». Нажмите «Далее», чтобы продолжить. Если Вы хотите выбрать другую папку, нажмите «Обзор».';
    Font.Height := -12;
    Font.Name := 'Sylfaen';
    Font.Style := [fsItalic];
    ParentFont := False;
    Left := ScaleX(112);
    Top := ScaleY(9);
    Height := ScaleY(38);
  end;

  with WizardForm.SelectStartMenuFolderLabel do
  begin
    Width := ScaleX(0);
    Height := ScaleY(0);
  end;

  with WizardForm.TasksList do
  begin
    Left := ScaleX(80);
    Top := ScaleY(45);
    Height := ScaleY(88);
    Color := clSilver;
  end;

  with WizardForm.SelectTasksLabel do
  begin
    Font.Name := 'Sylfaen';
    Font.Style := [fsItalic];
    ParentFont := False;
    Left := ScaleX(16);
    Top := ScaleY(8);
    Width := ScaleX(553);
  end;

  with WizardForm.ReadyMemo do
  begin
    Left := ScaleX(80);
    Top := ScaleY(35);
    Height := ScaleY(98);
  end;

  with WizardForm.ReadyLabel do
  begin
    Font.Height := -12;
    Font.Name := 'Sylfaen';
    Font.Style := [fsItalic];
    ParentFont := False;
    Left := ScaleX(80);
    Top := ScaleY(8);
    Width := ScaleX(401);
    Height := ScaleY(17);
  end;

  with WizardForm.FilenameLabel do
  begin
    Width := ScaleX(0);
    Height := ScaleY(0);
  end;

  with WizardForm.StatusLabel do
  begin
    Left := ScaleX(30);
    Top := ScaleY(8);
    Width := ScaleX(273);
  end;

  with WizardForm.ProgressGauge do
  begin
    Left := ScaleX(30);
    Top := ScaleY(57);
  end;

  with WizardForm.MainPanel do
  begin
    Width := ScaleX(0);
    Height := ScaleY(0);
  end;

  with WizardForm.WizardSmallBitmapImage do
  begin
    Width := ScaleX(0);
    Height := ScaleY(0);
  end;

  with WizardForm.PageDescriptionLabel do
  begin
    Width := ScaleX(0);
    Height := ScaleY(0);
  end;

  with WizardForm.PageNameLabel do
  begin
    Left := ScaleX(0);
    Width := ScaleX(0);
  end;

  with WizardForm.FinishedPage do
  begin
    Color := clSilver;
  end;

  with WizardForm.WizardBitmapImage2 do
  begin
    Width := ScaleX(0);
    Height := ScaleY(0);
  end;

  { Bevel5 }
  Bevel5 := TBevel.Create(WizardForm);
  with Bevel5 do
  begin
    Name := 'Bevel5';
    Parent := WizardForm.FinishedPage;
    Left := ScaleX(8);
    Top := ScaleY(303);
    Width := ScaleX(650);
    Height := ScaleY(154);
    Shape := bsFrame;
  end;

  { Bevel7 }
  Bevel7 := TBevel.Create(WizardForm);
  with Bevel7 do
  begin
    Name := 'Bevel7';
    Parent := WizardForm.FinishedPage;
    Left := ScaleX(8);
    Top := ScaleY(8);
    Width := ScaleX(650);
    Height := ScaleY(282);
    Shape := bsFrame;
  end;

  { BitmapImage3 }
  BitmapImage3 := TBitmapImage.Create(WizardForm);
  with BitmapImage3 do
  begin
    Name := 'BitmapImage3';
    Parent := WizardForm.FinishedPage;
    Left := ScaleX(16);
    Top := ScaleY(16);
    Width := ScaleX(633);
    Height := ScaleY(265);
    ExtractTemporaryFile('WizardForm.BitmapImage3.bmp');
    Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage3.bmp'));
  end;

  with WizardForm.RunList do
  begin
    Left := ScaleX(424);
    Top := ScaleY(211);
    Width := ScaleX(0);
    Height := ScaleY(0);
  end;

  with WizardForm.NoRadio do
  begin
    Top := ScaleY(329);
    Width := ScaleX(0);
    Height := ScaleY(0);
  end;

  with WizardForm.YesRadio do
  begin
    Top := ScaleY(315);
    Width := ScaleX(0);
    Height := ScaleY(0);
  end;

  with WizardForm.FinishedLabel do
  begin
    Caption := 'Игра установлена на Ваш компьютер.' + #13#10 +
         '' + #13#10 +
         'Приложение можно запустить с помощью соответствующего значка. Нажмите «Завершить», чтобы выйти из программы установки.' + #13#10 +
         '';
    Font.Height := -12;
    Font.Name := 'Sylfaen';
    Font.Style := [fsItalic];
    ParentFont := False;
    Left := ScaleX(152);
    Top := ScaleY(375);
    Width := ScaleX(373);
    Height := ScaleY(74);
  end;

  with WizardForm.FinishedHeadingLabel do
  begin
    Font.Height := -17;
    Font.Name := 'Sylfaen';
    Font.Style := [fsBold, fsItalic];
    Left := ScaleX(128);
    Top := ScaleY(311);
    Width := ScaleX(445);
  end;

{ ReservationBegin }
  // Вы можете добавить ваш код здесь.

{ ReservationEnd }
end;
// Не изменять эту секцию. Она создана автоматически.
{ RedesignWizardFormEnd } // Не удалять эту строку!
[/spoiler]

Может сможете сделать через код

Буду при много блогадарен:)
 
Последнее редактирование:

Winst@n

Участник
Проверенный
PUNISHER,
Вроде возможно но точно не скажу.
В апи есть вроде функции. Где то встречал. В справке написано вроде об этом.
А что за условие?
 

PUNISHER

Участник
Winst@n,
Ну если русский язык винды, то одно действие, если английский или какой то другой то другое

Добавлено через 9 минут
вроде нашел:


Код:
begin if GetUILanguage = $0409 then begin 

// запуск на английской Windows 

end; 
end;

p.s если есть другие способы выложите пожалуйста
 
Последнее редактирование:

Winst@n

Участник
Проверенный
PUNISHER,

При значении uilanguage инсталлятор будет использовать принятый по умолчанию язык, который он определит по значению "UI language" (взяв значение в GetUserDefaultUILanguage(), либо, в версиях Windows, не поддерживающих эту функцию, взяв значение из реестра). Этот метод рекомендует Microsoft. "UI language" - язык, используемый в диалоговых окнах Windows. Так, в английских версиях Windows английский будет языком по умолчанию, а в русских версиях - русский.
При значении localeинсталлятор будет использовать язык, указанный в GetUserDefaultLangID(). Эта функция возвращает значение "Your locale", заданное в Панели управления - Язык и стандарты. Следует заметить, что в Windows 2000 и более поздних Windows опции "Your locale" не затрагивает языки, имеются только "числа, валюта, время и даты".
При значении none инсталлятор будет использовать первый язык, указанный в секции [Languages] как язык по умолчанию.
Из справки. Хотя может и не то :))
 
Последнее редактирование:

PUNISHER

Участник
Winst@n, не то, но тоже полезная вещь, название константы дай :)
 
Последнее редактирование:

Snoopak96

Старожил
PUNISHER,
type LCID = LongInt;
function GetSystemDefaultLCID() : LCID; external 'GetSystemDefaultLCID@kernel32.dll stdcall';

if GetSystemDefaultLCID = 1049 then
Langlabel.Caption:='Русский'
else
Langlabel.Caption:='Буржуйский';
Дальше думаю разберёшься.
 

Winst@n

Участник
Проверенный
Вот так условие от системы. Если я правильно понял.

[SOURCE="+"]procedure initializeWizard();
begin
if GetUILanguage = $0419 then begin
WizardForm.WelcomeLabel1.Caption:= '12345'
end else
if GetUILanguage = $0409 then begin
WizardForm.WelcomeLabel1.Caption:= '678910'
end
end;[/SOURCE]

У меня Русская система. Нужно проверить на буржуйской :))
 
Последнее редактирование:

PUNISHER

Участник
Вот так условие от системы. Если я правильно понял.

[SOURCE="+"]procedure initializeWizard();
begin
if GetUILanguage = $0419 then begin
WizardForm.WelcomeLabel1.Caption:= '12345'
end else
if GetUILanguage = $0409 then begin
WizardForm.WelcomeLabel1.Caption:= '678910'
end
end;[/SOURCE]

У меня Русская система. Нужно проверить на буржуйской :))
да разобрался я уже. просто написал о том что меня Николай обманул :)
 

Snoopak96

Старожил
Winst@n,
Эта функция (GetUILanguage) возвращает не дофолтный язык системы, а текущий язык пользовательского интерфейса, установленный как язык по умолчанию, т.е. sublanguage ID.
 

deaddima

Новичок
Ребят как вставить в инсталлятор картинку через ботву?
P.S. Примеры мне не нужны т.к. они везде разные...какие-то переменные и т.д
Мне нужны основные команды
 

deaddima

Новичок
Edison007, т.е я вставляю в процедуру InitializeWizard ImgLoad(bla-bla-bla)
заполняю значения и у меня выведиться картинка?
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху