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

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

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

Сообщение Uragan66 »

Цитата vadjliss:



не отображаются надписи
Скрипты Inno Setup. Помощь и советы [часть 8]




В каком смысле? Я буквально только что проверил скрипт - всё работает. Возможно, вы забыли удалили нижнее подчеркивание в [Code_]?
Аватара пользователя
nik1967

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

Сообщение nik1967 »

Цитата vadjliss:



как сделать

чтобы перед установкой удалило старую версию программы

потом установила новую версию
Скрипты Inno Setup. Помощь и советы [часть 8]







Пример почти как на скрине. Зачем вам такой велосипед?

[spoiler]Код:
[/spoiler]

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

#define MyAppName "Test"
#define MyAppVersion "1.0"
[setup]
appid=test1
appname={#MyAppName}
appvername={#MyAppVersion}
DefaultDirName={sd}\{#MyAppName}
[code]
var
  BtnDel, BtnNDel: TNewRadioButton;
function CheckChoose(): Boolean;
var
  ShowForm: TSetupForm;
begin
  ShowForm := CreateCustomForm;
  ShowForm.Position:=poScreenCenter;
  try
    ShowForm.ClientWidth := ScaleX(410);
    ShowForm.ClientHeight := ScaleY(170);
    ShowForm.BorderStyle := bsSingle;
    ShowForm.BorderIcons := [biSystemMenu];
    ShowForm.Caption := '{#MyAppName} {#MyAppVersion}';
    with TNewButton.Create(ShowForm) do
    begin
      Parent := ShowForm;
      SetBounds(ScaleX(110), ScaleY(120), ScaleX(90), ScaleY(25));
      ModalResult := mrYes;
      Caption := 'OK';
    end;
    with TNewStaticText.Create(ShowForm) do
    begin
      Parent:= ShowForm;
      Caption:='Мастер может выполнить поиск предыдущей версии {#MyAppName} {#MyAppVersion} и'+ #13#10 +
               'удалить её. Вы хотите удалить предыдущую версию?';
      Left:=ScaleX(20);
      Top:=ScaleY(20);
      Font.Name:= 'Tahoma';
      Font.Size:= 9;
      Font.Color:=clBlack;;
      end;
    BtnDel := TNewRadioButton.Create(ShowForm);
    with BtnDel do
    begin
    Parent := ShowForm;
    Left := ScaleX(20);
    Top := ScaleY(60);
    Width := ScaleX(200);
    Height := ScaleY(17);
    Caption := 'Да, удалить предыдущую версию';
    Checked := True;
    end;
    BtnNDel := TNewRadioButton.Create(ShowForm);
    with BtnNDel do
    begin
    Parent := ShowForm;
    Left := ScaleX(20);
    Top := ScaleY(80);
    Width := ScaleX(272);
    Height := ScaleY(17);
    Caption := 'Нет, установить с заменой';
    end;
    with TNewButton.Create(ShowForm) do
    begin
      Parent := ShowForm;
      SetBounds(ScaleX(210), ScaleY(120), ScaleX(90), ScaleY(25));
      ModalResult := mrcancel;
      Caption := SetupMessage(msgButtonCancel);
    end;
   Result := (ShowForm.ShowModal = mrYes);
  finally
    ShowForm.Free;
  end;
end;
function TrueDel: boolean;
begin
    result := BtnDel.Checked;
end;
function FalseDel: boolean;
begin
    result := BtnNDel.Checked;
end;
function UninstallApp(): Boolean;
var
    Buff: String;
    i: Integer;
begin
    Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + ExpandConstant( '{#SetupSetting( "AppId" )}_is1' ), 'UninstallString', Buff );
    if not Result then
    begin
    Result := not FileExists(RemoveQuotes(Buff));
    if not Result then
    try
        Exec(RemoveQuotes(Buff), '', ExtractFilePath(RemoveQuotes(Buff)), SW_SHOW, ewWaitUntilTerminated, i);
    finally
        Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + ExpandConstant( '{#SetupSetting( "AppId" )}_is1' ), 'UninstallString', Buff );
        if not Result then result := false; end;
  end else MsgBox('Программа не найдена!', mbError, MB_OK);
end;
function InitializeSetup(): Boolean;
begin
if CheckChoose then
if TrueDel then result := UninstallApp else result := false;
if FalseDel then result := true;
end;







Так как на скрине не получится, потому что надо генерировать новый идентификатор программы(AppID).
Аватара пользователя
Uragan66

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

Сообщение Uragan66 »

nik1967, отлично ! Еще раз огромный респект за помощь !
Аватара пользователя
Sotonisto

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

Сообщение Sotonisto »

habib2302, я уже предлагал vadjliss использовать этот пример (на предыдущей странице), но он ответил, что скрипт у него не работает.

Надеюсь, что Dodakaedr ему поможет.
Аватара пользователя
Uragan66

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

Сообщение Uragan66 »

Цитата Sotonisto:



я уже предлагал vadjliss использовать этот пример (на предыдущей странице), но он ответил, что скрипт у него не работает.
Скрипты Inno Setup. Помощь и советы [часть 8]




Почему не работает?

У меня работает, у vadjliss не работает - Вопрос: Почему?

Может всё-таки проблема в этом [Code_] (Отметил красным), которое vadjliss не удалил?



Скрипты Inno Setup. Помощь и советы [часть 6]
.
Аватара пользователя
nik1967

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

Сообщение nik1967 »

Цитата Lanirius:



что-бы после установки программы запустился ещё 1 файл по запросу пользователя(есть галочка или нет) в зависимости от разрядности системы должен запускаться тот или другой файл
Inno Setup. Прочие вопросы






Код:

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

[Run]
Filename: {app}\MyProg32.exe; WorkingDir: {app}; Description: {cm:LaunchProgram,MyProg}; Flags: nowait postinstall skipifsilent; Check: NOT IsWin64
Filename: {app}\MyProg64.exe; WorkingDir: {app}; Description: {cm:LaunchProgram,MyProg}; Flags: nowait postinstall skipifsilent; Check: IsWin64
Аватара пользователя
Uragan66

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

Сообщение Uragan66 »

Dodakaedr, nik1967, Спасибо большое, но ничего у меня не получается, не воспринимает ее компилятор как MyNewPage , ошибка как не в одном то в другом месте, например в этом


коде

[spoiler]HTML код:
[/spoiler]

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

; --- Generated by InnoSetup Script Joiner version 3.0, Jul 22 2009, (c) Bulat Ziganshin . More info at http://issjoiner.codeplex.com/
; --- Source: exstracted.iss ------------------------------------------------------------
[Setup]
AppName=My Program
AppVerName=My Program
DefaultDirName={pf}\My Program
OutputDir=.
Uninstallable=IsChecked
CreateUninstallRegKey=IsChecked
[Languages]
Name: ru; MessagesFile: compiler:Languages\Russian.isl;
[Tasks]
; Дополнительно
; Ярлык(и) на «Рабочем столе»
Name: "desktopicon"; Description: "Ярлык(и) на «Рабочем столе»"; GroupDescription: "Дополнительно:"; Check: IsChecked
; Ярлыки в меню «Пуск»
Name: "starticon"; Description: "Ярлыки в меню «Пуск»"; GroupDescription: "Дополнительно:"; Check: IsChecked
[Icons]
Name: "{group}\My Program"; Filename: "{uninstallexe}"; Tasks: starticon
Name: "{commondesktop}\My Program"; Filename: "{uninstallexe}"; Tasks: desktopicon
[Files]
; Файлы для проверки и демонстрации. При реальном использовании - закомментировать или удалить!
Source: {win}\Help\*; DestDir: {app}; Flags: external recursesubdirs
[CustomMessages]
HeaderLabelPage=Выбор типа установки
LabelPage=Выберите нужный тип установки
MyRadioCaption_1=Распаковка
MyRadioCaption_2=Обычная установка
PageTextHeader=На этой странице Вы можете выбрать тип установки, который для Вас наиболее удобен.
MyText_1=Будет произведена распаковка в паку,%nуказанную на следующей странице
MyText_2=Будет произведена стандартная установка
Extracted=Распаковка — %1
ExtractedFolder=Выбор папки распаковки
ExtractedFolder2=В какую папку вы хотите распаковать %1?
ExtractedFolder3=Программа распакует %1 в следующую папку.
ExtractedFolder4=Программа установит %1 в следующую папку.
Installing=Распаковка...
InstallingLabel=Пожалуйста, подождите, пока %1 распакуется на ваш компьютер.
FinishedHeadingLabel=Завершение распаковки%n%1
FinishedLabelNoIcons=Программа %1 распакована на Ваш компьютер.%n%nНажмите «Завершить», чтобы выйти из программы распаковки.
[UninstallDelete]
Type: filesandordirs; Name: {app}
[code]
const
  DI_NORMAL = 3;
var
  MyNewPage: TWizardPage;
  Rect: TRect;
  HIcon: LongInt;
  AIconFileName: String;
  MyRadioBtn_1, MyRadioBtn_2: TNewRadioButton;
function GetModuleHandle(lpModuleName: LongInt): LongInt; external 'GetModuleHandleA@kernel32.dll stdcall';
function ExtractIcon(hInst: LongInt; lpszExeFileName: AnsiString; nIconIndex: LongInt): LongInt; external 'ExtractIconA@shell32.dll stdcall';
function DrawIconEx(hdc: LongInt; xLeft, yTop: Integer; hIcon: LongInt; cxWidth, cyWidth: Integer; istepIfAniCur: LongInt; hbrFlickerFreeDraw, diFlags: LongInt): LongInt;external 'DrawIconEx@user32.dll stdcall';
function DestroyIcon(hIcon: LongInt): LongInt; external 'DestroyIcon@user32.dll stdcall';
function IsChecked: Boolean;
begin
  Result:= MyRadioBtn_2.checked;
end;
procedure RadBtnOnClick(Sender: TObject);
begin
  case Sender of
    MyRadioBtn_1: begin
      WizardForm.Caption:= FmtMessage(ExpandConstant('{cm:Extracted}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
      WizardForm.SelectDirLabel.Caption:= FmtMessage(ExpandConstant('{cm:ExtractedFolder3}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
    end;
    MyRadioBtn_2: begin
      WizardForm.Caption:= FmtMessage(SetupMessage(msgSetupWindowTitle), [ExpandConstant('{#SetupSetting("AppName")}')]);
      WizardForm.SelectDirLabel.Caption:= FmtMessage(ExpandConstant('{cm:ExtractedFolder4}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
    end;
  end;
end;
procedure GetInstTypePage();
begin
  MyNewPage:= CreateCustomPage(wpWelcome, ExpandConstant('{cm:HeaderLabelPage}'), ExpandConstant('{cm:LabelPage}'));
  try
    // в конкретном примере из этого файла (C:\Windows\System32\shell32.dll) берём иконки, для пробного показа.
    // Можно использовать обычные .ico
    AIconFileName:= ExpandConstant('{sys}\shell32.dll');
    //
    Rect.Left:= 0;
    Rect.Top:= 0;
    Rect.Right:= 32;
    Rect.Bottom:= 32;
    hIcon:= ExtractIcon(GetModuleHandle(0), AIconFileName, 26);
    try
      with TBitmapImage.Create(WizardForm) do begin
        Left:= ScaleX(15);
        Top:= ScaleY(138);
        Width:= 32;
        Height:= 32;
        with Bitmap do begin
          Width:= 32;
          Height:= 32;
          Canvas.Brush.Color:= clBtnFace;
          Canvas.FillRect(Rect);
          DrawIconEx(Canvas.Handle, 0, 0, HIcon, 32, 32, 0, 0, DI_NORMAL);
        end;
        Parent:= MyNewPage.Surface;
      end;
     finally
     DestroyIcon(hIcon);
    end;
    hIcon:= ExtractIcon(GetModuleHandle(0), AIconFileName, 19);
    try
      with TBitmapImage.Create(WizardForm) do begin
        Left:= ScaleX(15);
        Top:= ScaleY(68);
        Width:= 32;
        Height:= 32;
        with Bitmap do begin
          Width:= 32;
          Height:= 32;
          Canvas.Brush.Color:= clBtnFace;
          Canvas.FillRect(Rect);
          DrawIconEx(Canvas.Handle, 0, 0, HIcon, 32, 32, 0, 0, DI_NORMAL);
        end;
        Parent:= MyNewPage.Surface;
      end;
     finally
     DestroyIcon(hIcon);
    end;
   except
  end;
  with TNewStaticText.Create(WizardForm) do begin
    Width:= WizardForm.InnerNotebook.Width;
    Height:= ScaleY(26);
    WordWrap:= True;
    Caption:= ExpandConstant('{cm:PageTextHeader}');
    Parent:= MyNewPage.Surface;
  end;
  MyRadioBtn_1:= TNewRadioButton.Create(WizardForm);
  with MyRadioBtn_1 do begin
    Top:= ScaleY(120);
    Width:= ScaleX(150);
    Caption:= ExpandConstant('{cm:MyRadioCaption_1}');
    OnClick:= @RadBtnOnClick;
    Parent:= MyNewPage.Surface;
  end;
  with TNewStaticText.Create(WizardForm) do begin
    Left:= ScaleX(60);
    Top:= ScaleY(138);
    Width:= WizardForm.InnerNotebook.Width - ScaleX(60);
    Height:= ScaleY(26);
    WordWrap:= True;
    Caption:= ExpandConstant('{cm:MyText_1}');
    Parent:= MyNewPage.Surface;
  end;
  MyRadioBtn_2:= TNewRadioButton.Create(WizardForm);
  with MyRadioBtn_2 do begin
    Top:= ScaleY(50);
    Width:= ScaleX(150);
    Caption:= ExpandConstant('{cm:MyRadioCaption_2}');
    Checked:= True;
    OnClick:= @RadBtnOnClick;
    Parent:= MyNewPage.Surface;
  end;
  with TNewStaticText.Create(WizardForm) do begin
    Left:= ScaleX(60);
    Top:= ScaleY(68);
    Width:= WizardForm.InnerNotebook.Width - ScaleX(60);
    Height:= ScaleY(26);
    WordWrap:= True;
    Caption:= ExpandConstant('{cm:MyText_2}');
    Parent:= MyNewPage.Surface;
  end;
end;
function ShouldSkipPage1(PageID: Integer): Boolean;
begin
  if (PageID > wpSelectDir) and (PageID < wpInstalling) and (MyRadioBtn_1.Checked) then
     Result:= True;
end;
procedure InitializeWizard1();
begin
  GetInstTypePage();
  WizardForm.DiskSpaceLabel.Hide;
end;
procedure CurPageChanged1(CurPageID: Integer);
begin
  if not IsChecked then begin
    case CurPageID of
      wpSelectDir: begin
    WizardForm.Caption:= FmtMessage(ExpandConstant('{cm:Extracted}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
    WizardForm.PageNameLabel.Caption:= ExpandConstant('{cm:ExtractedFolder}');
    WizardForm.PageDescriptionLabel.Caption:= FmtMessage(ExpandConstant('{cm:ExtractedFolder2}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
    WizardForm.SelectDirLabel.Caption:= FmtMessage(ExpandConstant('{cm:ExtractedFolder3}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
      end;
      wpInstalling: begin
    WizardForm.PageNameLabel.Caption:= ExpandConstant('{cm:Installing}');
    WizardForm.PageDescriptionLabel.Caption:= FmtMessage(ExpandConstant('{cm:InstallingLabel}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
      end;
      wpFinished: begin
    WizardForm.FinishedHeadingLabel.Caption:= FmtMessage(ExpandConstant('{cm:FinishedHeadingLabel}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
    WizardForm.FinishedLabel.Caption:= FmtMessage(ExpandConstant('{cm:FinishedLabelNoIcons}'), [ExpandConstant('{#SetupSetting("AppName")}')]);
      end;
    end;
  end;
end;
[Setup]
; --- Source: MUI_InstallShield.iss ------------------------------------------------------------
//====={ Выбор языка }=====\\
[Languages]
Name: "rus"; MessagesFile: "compiler:Default.isl"
Name: "eng"; MessagesFile: "compiler:Languages\English.isl"
[Files]
Source: "bottom.bmp"; Flags: dontcopy
Source: "topline.bmp"; Flags: dontcopy
[code]
const
  SM_CXSCREEN = 0;
  SM_CYSCREEN = 1;
function GetSystemMetrics(nIndex: Integer): Integer; external 'GetSystemMetrics@user32.dll stdcall';
procedure Set_MUI_InstallShield;
var
  MyNewPage, ScreenWidth, ScreenHeight: Integer;
begin
  WizardForm.BEVEL1.Hide;
  ExtractTemporaryFile('bottom.bmp');
  WizardForm.WizardSmallBitmapImage.SetBounds(0, 418, 690, 41);
  WizardForm.WizardSmallBitmapImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\bottom.bmp'));
  WizardForm.WizardSmallBitmapImage.Parent := WizardForm;
  ExtractTemporaryFile('topline.bmp');
  WizardForm.WizardBitmapImage2.SetBounds(0, 53, 690, 2);
  WizardForm.WizardBitmapImage2.Bitmap.LoadFromFile(ExpandConstant('{tmp}\topline.bmp'));
  WizardForm.WizardBitmapImage2.Parent := WizardForm;
  WizardForm.SelectDirBitmapImage.Hide;
  WizardForm.SelectGroupBitmapImage.Hide;
  WizardForm.Height := 483;
  WizardForm.Width := 696;
  ScreenWidth := GetSystemMetrics(SM_CXSCREEN);
  ScreenHeight := GetSystemMetrics(SM_CYSCREEN);
  WizardForm.SetBounds((ScreenWidth - WizardForm.Width) div 2, (ScreenHeight - WizardForm.Height) div 2,
       WizardForm.Width, WizardForm.Height);
  WizardForm.BACKBUTTON.SetBounds(296, 427, 77, 22);
  WizardForm.NEXTBUTTON.SetBounds(378, 427, 77, 22);
  WizardForm.CANCELBUTTON.SetBounds(600, 427, 77, 22);
  WizardForm.WizardBitmapImage.SetBounds(0, 55, 171, 363);
  WizardForm.WizardBitmapImage.Parent := WizardForm;
  WizardForm.WelcomePage.Parent.SetBounds(171,55,519,363);
  WizardForm.WelcomePage.Color := $00AB663D;
  WizardForm.FinishedPage.Color := $00AB663D;
  WizardForm.LicensePage.Color := $00AB663D;
  WizardForm.PasswordPage.Color := $00AB663D;
  WizardForm.InfoBeforePage.Color := $00AB663D;
  WizardForm.UserInfoPage.Color := $00AB663D;
  WizardForm.SelectDirPage.Color := $00AB663D;
  WizardForm.SelectDirPage.Parent.Align := alClient;
  WizardForm.SelectComponentsPage.Color := $00AB663D;
  WizardForm.SelectProgramGroupPage.Color := $00AB663D;
  WizardForm.SelectTasksPage.Color := $00AB663D;
  WizardForm.ReadyPage.Color := $00AB663D;
  WizardForm.PreparingPage.Color := $00AB663D;
  WizardForm.InstallingPage.Color := $00AB663D;
  WizardForm.InfoAfterPage.Color := $00AB663D;
  WizardForm.MAINPANEL.Parent := WizardForm;
  WizardForm.MAINPANEL.Color := $00663300;
  WizardForm.MAINPANEL.SetBounds(0, 0, 690, 53);
  WizardForm.WELCOMELABEL1.SetBounds(45, 119, 437, 42);
  WizardForm.WELCOMELABEL1.Font.Height := -12;
  WizardForm.WELCOMELABEL1.Font.Color := clWhite;
  WizardForm.WELCOMELABEL2.SetBounds(85, 167, 378, 160);
  WizardForm.WELCOMELABEL2.Font.Color := clWhite;
  WizardForm.PAGENAMELABEL.SetBounds(17, 5, 380, 12);
  WizardForm.PAGENAMELABEL.Font.Color := clWhite;
  WizardForm.PAGEDESCRIPTIONLABEL.SetBounds(30, 24, 366, 29);
  WizardForm.PAGEDESCRIPTIONLABEL.Font.Color := clWhite;
  WizardForm.LICENSELABEL1.SetBounds(64, 20, 437, 300);
  WizardForm.LICENSELABEL1.Font.Color := clWhite;
  WizardForm.LICENSEMEMO.SetBounds(64, 56, 437, 227);
  WizardForm.LICENSEMEMO.BringToFront;
  WizardForm.LICENSEACCEPTEDRADIO.Font.Color := clWhite;
  WizardForm.LICENSEACCEPTEDRADIO.SetBounds(64, 332, 150, 16);
  WizardForm.LICENSENOTACCEPTEDRADIO.Font.Color := clWhite;
  WizardForm.LICENSENOTACCEPTEDRADIO.SetBounds(230, 332, 150, 16);
  WizardForm.INFOBEFORECLICKLABEL.SetBounds(64, 20, 437, 24);
  WizardForm.INFOBEFORECLICKLABEL.Font.Color := clWhite;
  WizardForm.INFOBEFOREMEMO.SetBounds(64, 56, 437, 227);
  WizardForm.INFOAFTERCLICKLABEL.SetBounds(64, 20, 437, 24);
  WizardForm.INFOAFTERCLICKLABEL.Font.Color := clWhite;
  WizardForm.INFOAFTERMEMO.SetBounds(64, 56, 437, 227);
  WizardForm.USERINFONAMELABEL.SetBounds(64, 60, 128, 14);
  WizardForm.USERINFONAMELABEL.Font.Color := clWhite;
  WizardForm.USERINFONAMEEDIT.SetBounds(64, 79, 435, 20);
  WizardForm.USERINFOORGLABEL.SetBounds(64, 112, 128, 14);
  WizardForm.USERINFOORGLABEL.Font.Color := clWhite;
  WizardForm.USERINFOORGEDIT.SetBounds(64, 131, 435, 20);
  WizardForm.USERINFOSERIALLABEL.SetBounds(64, 164, 128, 14);
  WizardForm.USERINFOSERIALLABEL.Font.Color := clWhite;
  WizardForm.USERINFOSERIALEDIT.SetBounds(64, 183, 435, 20);
  WizardForm.SELECTDIRLABEL.SetBounds(64, 20, 437, 24);
  WizardForm.SELECTDIRLABEL.Font.Color := clWhite;
  WizardForm.SelectDirBrowseLabel.SetBounds(64, 44, 435, 24);
  WizardForm.SelectDirBrowseLabel.Font.Color := clWhite;
  WizardForm.DISKSPACELABEL.SetBounds(72, 277, 60, 14);
  WizardForm.DISKSPACELABEL.Font.Color := clWhite;
  WizardForm.BEVEL.SHAPE := bsFrame;
  WizardForm.BEVEL.SetBounds(64, 283, 437, 45);
  WizardForm.BEVEL.Parent := WizardForm.SelectDirPage;
  WizardForm.DIREDIT.SetBounds(72, 301, 345, 12);
  WizardForm.DIREDIT.BorderStyle := bsNone;
  WizardForm.DIREDIT.Color := $00AB663D;
  WizardForm.DIREDIT.Font.Color := clWhite;
  WizardForm.DIREDIT.AUTOSELECT := False;
  WizardForm.DirBrowseButton.SetBounds(420, 296, 77, 23);
  WizardForm.SELECTCOMPONENTSLABEL.SetBounds(64, 20, 437, 24);
  WizardForm.SELECTCOMPONENTSLABEL.Font.Color := clWhite;
  WizardForm.TYPESCOMBO.SetBounds(64, 56, 437, 20);
  WizardForm.COMPONENTSLIST.SetBounds(64, 80, 437, 227);
  WizardForm.COMPONENTSDISKSPACELABEL.SetBounds(64, 320, 437, 24);
  WizardForm.COMPONENTSDISKSPACELABEL.Font.Color := clWhite;
  WizardForm.SELECTSTARTMENUFOLDERLABEL.SetBounds(64, 20, 437, 36);
  WizardForm.SELECTSTARTMENUFOLDERLABEL.Font.Color := clWhite;
  WizardForm.SelectStartMenuFolderBrowseLabel.SetBounds(64, 100, 437, 14);
  WizardForm.SelectStartMenuFolderBrowseLabel.Font.Color := clWhite;
  WizardForm.GROUPEDIT.SetBounds(64, 120, 343, 20);
  WizardForm.GroupBrowseButton.SetBounds(414, 119, 77, 23);
  WizardForm.READYLABEL.SetBounds(64, 20, 437, 24);
  WizardForm.READYLABEL.Font.Color := clWhite;
  WizardForm.READYMEMO.SetBounds(64, 53, 437, 280);
  WizardForm.FINISHEDHEADINGLABEL.SetBounds(64, 20, 437, 24);
  WizardForm.FINISHEDHEADINGLABEL.Font.Height := -12;
  WizardForm.FINISHEDHEADINGLABEL.Font.Color := clWhite;
  WizardForm.FINISHEDLABEL.SetBounds(64, 60, 437, 14);
  WizardForm.FINISHEDLABEL.Font.Color := clWhite;
  WizardForm.RUNLIST.SetBounds(64, 146, 437, 190);
  WizardForm.RUNLIST.Font.Color := clWhite;
  WizardForm.STATUSLABEL.SetBounds(64, 20, 437, 14);
  WizardForm.STATUSLABEL.Font.Color := clWhite;
  WizardForm.FILENAMELABEL.SetBounds(64, 60, 437, 14);
  WizardForm.FILENAMELABEL.Font.Color := clWhite;
  WizardForm.PROGRESSGAUGE.SetBounds(64, 90, 430, 20);
  WizardForm.PASSWORDLABEL.SetBounds(64, 60, 437, 14);
  WizardForm.PASSWORDLABEL.Font.Color := clWhite;
  WizardForm.PASSWORDEDITLABEL.SetBounds(64, 90, 437, 14);
  WizardForm.PASSWORDEDITLABEL.Font.Color := clWhite;
  WizardForm.PASSWORDEDIT.SetBounds(64, 110, 400, 20);
  WizardForm.SELECTTASKSLABEL.SetBounds(64, 20, 437, 14);
  WizardForm.SELECTTASKSLABEL.Font.Color := clWhite;
  WizardForm.TASKSLIST.SetBounds(64, 45, 430, 300);
  WizardForm.TASKSLIST.Color := $00AB663D;
  WizardForm.TASKSLIST.Font.Color := clWhite;
  WizardForm.MyNewPage.Font.Color := clWhite;
end;
function CheckSerial(Serial: String): Boolean;
begin
  Result := Serial = '123456';
end;
procedure InitializeWizard2();
begin
  Set_MUI_InstallShield;
end;
[Setup]
; --- Dispatching code ------------------------------------------------------------
[code]
function ShouldSkipPage(PageID: Integer): Boolean;
begin
  Result := ShouldSkipPage1(PageID); if not Result then exit;
end;
procedure InitializeWizard();
begin
  InitializeWizard1();
  InitializeWizard2();
end;
procedure CurPageChanged(CurPageID: Integer);
begin
  CurPageChanged1(CurPageID);
end;







ругается что нет такого идентификатора (хотел цвет страницы поменять)
Вложения
Inno MUI InstallShield.rar
(50.19 КБ) 0 скачиваний
Inno MUI InstallShield.rar
(50.19 КБ) 0 скачиваний
Аватара пользователя
nik1967

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

Сообщение nik1967 »

Uragan66, страница кастомная, создана пользователем, и к WizardForm отношения не имеет. То есть вместо WizardForm.MyNewPage.Color := $00AB663D; нужно MyNewPage.Surface.Color := $00AB663D;
Аватара пользователя
Uragan66

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

Сообщение Uragan66 »

Цитата Lanirius:



Ну или сам сетапник надо запускать от админа... не подскажите где это надо прописать?
Скрипты Inno Setup. Помощь и советы [часть 8]






Код:

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

[Setup]
PrivilegesRequired=admin
Ответить

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