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

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

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

Сообщение VinTagE »

Цитата Лександер:



ожно отдельный вопрос сделать - ставить оба редактора или только расширенный
Скрипты Inno Setup. Помощь и советы [часть 3]




+1

Лично я предпочитаю работать в расширенном - чего метаться туда-сюда-обратно
Аватара пользователя
Gnom_aka_Lexander

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

Сообщение Gnom_aka_Lexander »

R.i.m.s.k.y., Скрипт еще рано, он тоже постоянно оптимизируется, могу выложить отдельно, если кому интересно, а регать лучше на родной все таки, хотя можно отдельный вопрос сделать - ставить оба редактора или только расширенный, но думаю, тоже не стоит, лично я предпочитаю работать в родном, а в расширенном удобно куски кода получать готовые и страницы добавлять, он, кстати с успехом заменяет IS From Designer.

В общем, нужно мнение не одного-двух человек, а десятка, хотябы. А то все качают и молчат..
Аватара пользователя
insombia

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

Сообщение insombia »

Tixo да там и не нужно переделовать там и так все похожее

как сделать такую WizardSmallImage большую
http://i29.fastpic.ru/big/2011/1003/...96c99b042a.png
Аватара пользователя
GRiD555x

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

Сообщение GRiD555x »

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

 
 Код: [url=#][/url]
 [code] procedure InitializeWizard1();
 begin
 WizardForm.InnerPage.Visible:=False;
 WizardForm.WelcomeLabel1.Visible:=False;
 WizardForm.WelcomeLabel2.Visible:=False;
 WizardForm.WizardSmallBitmapImage.left:=0;
 WizardForm.WizardSmallBitmapImage.Width:=WizardForm.Width;
 WizardForm.PageNameLabel.Visible:=False;
 WizardForm.PageDescriptionLabel.Visible:=False;
 WizardForm.WizardBitmapImage.Width:=WizardForm.ClientWidth;
 WizardForm.WizardBitmapImage.Height:=WizardForm.ClientHeight;
 WizardForm.WizardBitmapImage2.Width:=WizardForm.ClientWidth;
 WizardForm.OuterNotebook.Height:=WizardForm.ClientHeight;
 WizardForm.InnerNotebook.Height:=WizardForm.ClientHeight;
 WizardForm.WizardBitmapImage2.Height:=WizardForm.ClientHeight;
 WizardForm.NextButton.BringToFront;
 WizardForm.CancelButton.BringToFront;
 WizardForm.BackButton.BringToFront;
 WizardForm.FinishedHeadingLabel.Visible:=False;
 WizardForm.FinishedLabel.Visible:=False;
 end;
 const
 Color = clblack;      // цвет окна инстала
procedure InitializeWizard2();
 begin
WizardForm.Font.Color:=clWhite;      // цвет текста
 wizardForm.WelcomeLabel1.Font.Color:=clWhite;     // цвет текста
 WizardForm.FinishedHeadingLabel.Font.Color:=clWhite;      // цвет текста
 WizardForm.PageNameLabel.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.PageNameLabel.Color:=Color;
 WizardForm.PageDescriptionLabel.Color:=Color;
 WizardForm.ReadyLabel.Color:=Color;
 WizardForm.FinishedLabel.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.FinishedHeadingLabel.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;
 WizardForm.Bevel.visible:=false;
 WizardForm.Bevel1.visible:=false;
 end;

вот я сделал так но ещё я прочитал кое где что надо вставить после этого в конец скрипта вот

Код:

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

procedure InitializeWizard(); 
 begin 
 procedure InitializeWizard1(); 
 procedure InitializeWizard2(); 
 end;

куда именно?>
Аватара пользователя
GRiD555x

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

Сообщение GRiD555x »

Цитата ksunechkin:



как сделать такую доп.старницу с двумя чекбоксами?
Скрипты Inno Setup. Помощь и советы [часть 3]




На скрине не чекбоксы, а радиокнопки.

А конкретно по вопросу
пример






Код:

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

[Setup]
AppName=My Program  
AppVerName=My Program
DefaultDirName={sd}\My Program
OutputDir=.
OutputBaseFilename=test
[CustomMessages]
HeaderLabelPage=Выберите тип установки
MyRadioCaption_1=Обычная установка
MyRadioCaption_2=Портативная установка
[code]
var
  MyNewPage: TWizardPage;
  MyRadioBtn_1, MyRadioBtn_2: TRadioButton;
procedure GetMyNewPage();
begin
  MyNewPage := CreateCustomPage(wpWelcome, 
    ExpandConstant('{cm:HeaderLabelPage}'), '');
  MyRadioBtn_1 := TRadioButton.Create(WizardForm);
  with MyRadioBtn_1 do
  begin
    Top := ScaleY(50);
    Width := ScaleX(150);
    Height := ScaleY(13);
    Caption := ExpandConstant('{cm:MyRadioCaption_1}');
    Checked := True;
    Parent := MyNewPage.Surface;
  end;
  MyRadioBtn_2 := TRadioButton.Create(WizardForm);
  with MyRadioBtn_2 do
  begin
    Top := ScaleY(120);
    Width := ScaleX(150);
    Height := ScaleY(13);
    Caption := ExpandConstant('{cm:MyRadioCaption_2}');
    Parent := MyNewPage.Surface;
  end;
end;
procedure InitializeWizard();
begin
  GetMyNewPage();
end;
Аватара пользователя
GRiD555x

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

Сообщение GRiD555x »

Цитата _ToR4OK_:



Подскажите пожалуйста, как менять местами страницы в инстале? Заранее спасибо Изображение



Вопрос решен )
Аватара пользователя
Gnom_aka_Lexander

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

Сообщение Gnom_aka_Lexander »

Цитата Лександер:



Насколько я знаю - никак, только создавать страницы с нужным содержимым в необходимом порядке, только я не уверен, что прокатит...
Скрипты Inno Setup. Помощь и советы [часть 3]




Если очень хочется, то можно. Вот
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]
Аватара пользователя
GRiD555x

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

Сообщение GRiD555x »

как сделать чтобы при установке Бэкапилась ветка реестра, и потом в неё вносились изменения а при деинсталляции возвращались в исходное положение?
Аватара пользователя
VASYAKRN

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

Сообщение VASYAKRN »

Цитата Baw17:



как сделать чтобы при установке Бэкапилась ветка реестра, и потом в неё вносились изменения а при деинсталляции возвращались в исходное положение?
Скрипты Inno Setup. Помощь и советы [часть 3]






Код:

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

[_Code]
procedure CurStepChanged(CurStep: TSetupStep);
var
  res, i, k: Integer;
  reg0, reg, RegEdit: string;
  Key: TArrayOfString;
begin
if CurStep=ssDone then begin
  RegEdit:= ExpandConstant('{sys}\reg.exe');
  reg0:= ExpandConstant('{pf}\InstallShield Installation Information\$...$\');
  Key:= ['HKLM\SOFTWARE\GNU',
         'HKCR\CLSID\{62CE7E72-4C71-4D20-B15D-452831A87D9D}',
         'HKEY_CURRENT_USER\Software\KMPlayer'
         ];
  for i:= 0 to GetArrayLength(Key)-1 do begin
    reg := reg0 + IntToStr(i) + '.reg';
    if not FileExists(reg) then begin Exec(RegEdit, ' export ' + AddQuotes(Key[i]) + ' ' + AddQuotes(reg), ExpandConstant('{sys}'), SW_HIDE, ewWaitUntilTerminated, res);
    end;
end;
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
reg, reg0,RegEdit: string;
res,i: integer;
begin
if CurUninstallStep = usUninstall then begin
RegEdit:= ExpandConstant('{sys}\reg.exe');
reg0:= ExpandConstant('{pf}\InstallShield Installation Information\$...$\\');
  for i:= 0 to 3 do begin
     reg:= reg0 + IntToStr(i) + '.reg';
     if FileExists(reg) = True then Exec(RegEdit, ' import ' + AddQuotes(reg),ExpandConstant('{sys}'),SW_HIDE,ewWaitUntilTerminated,res);
  end;
end;
end;

Код идейно рабочий, ну может где-то пропустил объявление переменной или end.
Ответить

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