|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
Ветеран Сообщения: 1264 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Отправлено: 08:52, 02-02-2015 |
Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать Вот весь скрипт
Скрытый текст
#define MyAppName "Almeza MultiSet Professional" #define MyAppVersion "1.5" #define MyAppExeName "MyProg.exe" [Setup] AppName={#MyAppName} AppVersion={#MyAppVersion} DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} DirExistsWarning=no Uninstallable=not PortableCheck WizardImageFile=1.bmp WizardSmallImageFile=57x57.bmp ShowComponentSizes=yes SetupIconFile=1.ico OutputBaseFilename=ACDSee5_Setup ;AppSupportPhone= AppCopyright=Copyright (C) 2003-2015 My Company, Inc. ;AppPublisher=My Company, Inc. ;AppPublisherURL=http://www.example.com/ OutputDir=. DisableReadyPage=yes [Languages] Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" Name: "english"; MessagesFile: "compiler:Languages\English.isl" [Files] Source: rus.bmp; Flags: dontcopy solidbreak Source: eng.bmp; Flags: dontcopy solidbreak Source: Installer.bmp; Flags: dontcopy solidbreak Source: Portable.bmp; Flags: dontcopy solidbreak Source: "C:\Program Files (x86)\Inno Setup v.5.5.1\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: RusLang and InstallerCheck; Source: "C:\Program Files (x86)\Inno Setup v.5.5.1\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion; Check: EngLang and InstallerCheck; Source: "C:\Program Files (x86)\Inno Setup v.5.5.1\Examples\MyProg.exe"; DestDir: "{commondesktop}\Portable"; Flags: ignoreversion uninsrestartdelete; Check: RusLang and PortableCheck; Source: "C:\Program Files (x86)\Inno Setup v.5.5.1\Examples\MyProg.exe"; DestDir: "{commondesktop}\Portable"; Flags: ignoreversion uninsrestartdelete; Check: EngLang and PortableCheck; Source: {win}\Help\*; DestDir: {app}; Flags: external recursesubdirs; Check: RusLang and InstallerCheck; Source: {win}\Help\*; DestDir: {app}; Flags: external recursesubdirs; Check: RusLang and PortableCheck; [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" ; Check: StartmenuCheck; Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"; Check: StartmenuCheck; Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Check: IconsCheck; [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Check: RusLang and InstallerCheck; Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Check: EngLang and InstallerCheck; Filename: "{commondesktop}\Portable\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Check: RusLang and PortableCheck; Filename: "{commondesktop}\Portable\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent; Check: EngLang and PortableCheck; [UninstallDelete] Name: {app}\multiset.ini; Type: filesandordirs [code] var Component: TWizardPage; Portable,Installer,LangRus,LangEng: TNewRadioButton; FlagImage,InstallerImage,PortableImage: TBitmapImage; Lang,IconsLabel: TLabel; Icons,Startmenu: TNewCheckBox; InstallerGroupBox,IconsGroupBox,LanguageGroupBox: TNewGroupBox; dirBrowseForm: TSetupForm; dirBrowse, dirOK, dirNO, dirback: TButton; DirTreeView: TFolderTreeView; Edit: TNewEdit; BrowseBevel: TBevel; BrowsePanel: TPanel; BrowsePanel2: TPanel; BrowseBevel2,BrowseBevel3: TBevel; BrowseForm : TSetupForm; function InitializeSetup(): Boolean; begin if not FileExists(ExpandConstant('{tmp}\rus.bmp')) then ExtractTemporaryFile('rus.bmp'); if not FileExists(ExpandConstant('{tmp}\eng.bmp')) then ExtractTemporaryFile('eng.bmp'); if not FileExists(ExpandConstant('{tmp}\Installer.bmp')) then ExtractTemporaryFile('Installer.bmp'); if not FileExists(ExpandConstant('{tmp}\Portable.bmp')) then ExtractTemporaryFile('Portable.bmp'); Result := True; end; function RusLang: Boolean; begin Result:= LangRus.Checked; end; function EngLang: Boolean; begin Result:= LangEng.Checked; end; function IconsCheck: Boolean; begin Result:= Icons.Checked; end; function StartmenuCheck: Boolean; begin Result:= Startmenu.Checked; end; function InstallerCheck: Boolean; begin Result := Installer.Checked; end; function PortableCheck: Boolean; begin Result := Portable.Checked; end; procedure CopmpClick(Sender: TObject); begin case TNewRadioButton(Sender) of Portable: begin PortableImage.Show; Icons.Checked:=False; Icons.Enabled:= Icons.Checked; Startmenu.Checked:=False; Startmenu.Enabled:= Startmenu.Checked; WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + 'Almeza MultiSet Professional Portable'; //wizardform.GroupEdit.enabled:= false; //wizardform.GroupBrowseButton.enabled:= false; end; Installer: begin PortableImage.Hide; Icons.Checked:=True; Icons.Enabled:= Icons.Checked; Startmenu.Checked:=True; Startmenu.Enabled:= Startmenu.Checked; WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{pf}')) + 'Almeza MultiSet Professional'; //wizardform.GroupEdit.enabled:= true; //wizardform.GroupBrowseButton.enabled:= true; end; end; end; procedure LangClick(Sender: TObject); begin case TNewRadioButton(Sender) of LangRus: begin FlagImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\rus.bmp')); FlagImage.Width := ScaleX(110); FlagImage.Height := ScaleY(70); FlagImage.Left := ScaleX(250); end; LangEng: begin FlagImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\eng.bmp')); FlagImage.Width := ScaleX(110); FlagImage.Height := ScaleY(70); FlagImage.Left := ScaleX(250); end; end; end; procedure dirOkclick(Sender: TObject); begin dirBrowseForm.Close; WizardForm.Enabled:=True; WizardForm.DirEdit.Text:=Edit.Text; end; procedure dirBackClick(Sender: TObject); begin Edit.Text:=AddBackslash(ExpandConstant('{pf}\')+'{#MyAppName}'); DirTreeView.ChangeDirectory(AddBackslash(ExpandConstant('{pf}\')), True); end; procedure dirNOclick(Sender: TObject); begin dirBrowseForm.Close; WizardForm.Enabled:=true; end; procedure DirFolderChange(Sender: TObject); Begin Edit.Text:=AddBackslash(DirTreeView.Directory) + '{#MyAppName}'; if Portable.Checked then Edit.Text:=AddBackslash(DirTreeView.Directory) + 'Almeza MultiSet Professional Portable'; end; procedure FormClosedir(Sender: TObject; var Action: TCloseAction); begin WizardForm.Enabled:=true; end; procedure BrowseClick(Sender: TObject); begin dirBrowseForm := CreateCustomForm(); with dirBrowseForm do begin ClientWidth := ScaleX(352); ClientHeight := ScaleY(388); CenterInsideControl(WizardForm, False); Caption:='Обзор папок'; onClose:=@FormClosedir; with tlabel.create(dirBrowseForm) do begin SetBounds(ScaleX(15),ScaleY(15),ScaleX(350),ScaleY(15)); caption:='Выберите папку из списка и нажмите «ОK».'; parent:=dirBrowseForm; Font.Color:=clBlack; Font.Size:=8; BrowseBevel := TBevel.Create(WizardForm); BrowseBevel.SetBounds(ScaleX(0),ScaleY(40),ScaleX(352),ScaleY(2)); BrowseBevel.parent:=dirBrowseForm; BrowseBevel3 := TBevel.Create(WizardForm); BrowseBevel3.SetBounds(ScaleX(0),ScaleY(342),ScaleX(352),ScaleY(2)); BrowseBevel3.parent:=dirBrowseForm; BrowsePanel := TPanel.Create(WizardForm); with BrowsePanel do begin parent:=dirBrowseForm; Left := ScaleX(5); Top := ScaleY(45); Width := ScaleX(342); Height := ScaleY(292); Caption := ''; end; BrowsePanel2 := TPanel.Create(WizardForm); with BrowsePanel2 do begin BrowsePanel2.Parent := BrowsePanel; Left := ScaleX(5); Top := ScaleY(5); Width := ScaleX(332); Height := ScaleY(282); BevelOuter := bvLowered; Caption := ''; end; BrowseBevel2 := TBevel.Create(WizardForm); with BrowseBevel2 do begin BrowseBevel2.Parent := BrowsePanel2; Left := ScaleX(5); Top := ScaleY(5); Width := ScaleX(322); Height := ScaleY(272); Style := bsRaised; end; Edit:= TNewEdit.Create(dirBrowseForm); with edit do begin SetBounds(ScaleX(10),ScaleY(10),ScaleX(311),ScaleY(21)); Text:=WizardForm.DirEdit.text; Parent:= BrowsePanel2; Font.Color:=clBlack; end; DirTreeView:= TFolderTreeView.Create(dirBrowseForm) with DirTreeView do begin SetBounds(ScaleX(10),ScaleY(35),ScaleX(311),ScaleY(235)); OnChange:=@DirFolderChange; Parent:=BrowsePanel2; end; dirback:=tbutton.create(dirBrowseForm) with dirback do begin SetBounds(ScaleX(16),ScaleY(351),ScaleX(100),ScaleY(30)); parent:=dirBrowseForm; Caption:='Сброс'; onclick:=@dirBackClick; end; dirok:=tbutton.create(dirBrowseForm) with dirok do begin SetBounds(ScaleX(126),ScaleY(351),ScaleX(100),ScaleY(30)); parent:=dirBrowseForm; Caption:='OK'; onclick:=@dirOKclick; end; dirno:=tbutton.create(dirBrowseForm) with dirno do begin SetBounds(ScaleX(236),ScaleY(351),ScaleX(100),ScaleY(30)); parent:=dirBrowseForm; Caption:='Отмена'; onclick:=@dirNOclick; end; end; end; DirTreeView.ChangeDirectory(AddBackslash(WizardForm.dirEdit.Text), true); Edit.Text:=(DirTreeView.Directory); dirBrowseForm.Show; WizardForm.Enabled:=false; end; procedure InitializeWizard(); begin WizardForm.DirBrowseButton.Visible:=false; Component := CreateCustomPage(wpInfoBefore, 'Выбор типа и компонентов установки', '...'); FlagImage := TBitmapImage.Create(WizardForm); with FlagImage do begin Name := 'FlagImage'; Parent := Component.Surface; Left := ScaleX(250); Top := ScaleY(167); Width := ScaleX(110); Height := ScaleY(70); end; InstallerImage := TBitmapImage.Create(WizardForm); with InstallerImage do begin Name := 'InstallerImage'; Parent := Component.Surface; Left := ScaleX(220); Top := ScaleY(5); Width := ScaleX(189); Height := ScaleY(160); InstallerImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Installer.bmp')); end; PortableImage := TBitmapImage.Create(WizardForm); with PortableImage do begin Name := 'PortableImage'; Parent := Component.Surface; Left := ScaleX(220); Top := ScaleY(5); Width := ScaleX(186); Height := ScaleY(160); PortableImage.Bitmap.LoadFromFile(ExpandConstant('{tmp}\Portable.bmp')); end; InstallerGroupBox := TNewGroupBox.Create(WizardForm); with InstallerGroupBox do begin Parent := Component.Surface; Left := ScaleX(0); Top := ScaleY(0); Width := ScaleX(205); Height := ScaleY(74); Caption := 'Тип:'; end; Portable := TNewRadioButton.Create(WizardForm); with Portable do begin Parent := InstallerGroupBox; Left := ScaleX(5); Top := ScaleY(47); Width := ScaleX(190); Height := ScaleY(17); Caption := 'Распаковка портативной версии'; OnClick:=@CopmpClick; end; IconsGroupBox := TNewGroupBox.Create(WizardForm); with IconsGroupBox do begin Parent := Component.Surface; Left := ScaleX(0); Top := ScaleY(80); Width := ScaleX(205); Height := ScaleY(74); Caption := 'Компоненты:'; end; Icons := TNewCheckBox.Create(WizardForm); with Icons do begin Parent := IconsGroupBox; Left := ScaleX(5); Top := ScaleY(20); Width := ScaleX(190); Height := ScaleY(17); Caption := 'Ярлык(и) на «Рабочем столе»'; Checked:=True; end; Startmenu := TNewCheckBox.Create(WizardForm); with Startmenu do begin Parent := IconsGroupBox; Left := ScaleX(5); Top := ScaleY(47); Width := ScaleX(190); Height := ScaleY(17); Caption := 'Ярлык в меню «Пуск»'; Checked:=True; end; Installer := TNewRadioButton.Create(WizardForm); with Installer do begin Parent := InstallerGroupBox; Left := ScaleX(5); Top := ScaleY(20); Width := ScaleX(190); Height := ScaleY(17); Caption := 'Установка обычной версии'; OnClick:=@CopmpClick; Checked:=True; end; LanguageGroupBox := TNewGroupBox.Create(WizardForm); with LanguageGroupBox do begin Parent := Component.Surface; Left := ScaleX(0); Top := ScaleY(160); Width := ScaleX(205); Height := ScaleY(74); Caption := 'Язык интерфейса:'; end;; LangRus := TNewRadioButton.Create(WizardForm); with LangRus do begin Parent := LanguageGroupBox; Left := ScaleX(5); Top := ScaleY(20); Width := ScaleX(190); Height := ScaleY(17); Caption := 'Язык интерфейса Русский'; OnClick:=@LangClick; Checked:=True; end; LangEng := TNewRadioButton.Create(WizardForm); with LangEng do begin Parent := LanguageGroupBox; Left := ScaleX(5); Top := ScaleY(47); Width := ScaleX(190); Height := ScaleY(17); Caption := 'Язык интерфейса Английский'; OnClick:=@LangClick; end; dirBrowse:=tbutton.create(WizardForm); with dirBrowse do begin Parent := WizardForm.SelectDirPage; SetBounds(ScaleX(342),ScaleY(80),ScaleX(75),ScaleY(23)); Caption:='Обзор...'; OnClick:=@BrowseClick; end; end; function ShouldSkipPage(PageID: Integer): Boolean; // Должен пропустить страницу begin if Portable.Checked then if (PageID = 8) then Result:= True; end; procedure CurStepChanged(CurStep: TSetupStep); // Измененный шаг begin if (CurStep = ssPostInstall) then if Installer.Checked and RusLang then SetIniString('general', 'language', 'russian', ExpandConstant('{app}\multiset.ini')); if Installer.Checked and EngLang then SetIniString('general', 'language', 'english', ExpandConstant('{app}\multiset.ini')); end; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// procedure CurPageChanged(CurPageID: Integer); // Измененная страница begin case CurPageID of wpSelectDir: if Portable.Checked then begin WizardForm.PageNameLabel.Caption:='Выбор папки распаковки'; WizardForm.PageDescriptionLabel.Caption:='В какую папку вы хотите распаковать {#SetupSetting("AppName")}?'; WizardForm.SelectDirLabel.Caption:='Программа распакует {#SetupSetting("AppName")} в следующую папку.'; WizardForm.SelectDirBrowseLabel.Caption:='Нажмите «Распаковать» чтобы начать распаковку. Если вы хотите выбрать другую папку, нажмите «Обзор».'; WizardForm.NextButton.Caption:='Распаковать'; WizardForm.Caption:= 'Распаковка — {#SetupSetting("AppName")}' WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{src}')) + 'Almeza MultiSet Professional Portable'; end else begin WizardForm.NextButton.Caption:= 'Далее'; WizardForm.PageNameLabel.Caption:= 'Выбор папки установки'; WizardForm.Caption:= 'Установка — {#SetupSetting("AppName")}'; WizardForm.PageDescriptionLabel.Caption:= 'В какую папку вы хотите установить {#SetupSetting("AppName")}?'; WizardForm.SelectDirLabel.Caption:= 'Программа установит {#SetupSetting("AppName")} в следующую папку.'; WizardForm.DirEdit.Text := AddBackslash(ExpandConstant('{pf}')) + '{#SetupSetting("AppName")}'; WizardForm.SelectDirBrowseLabel.Caption:='Нажмите «Далее» чтобы продолжить. Если вы хотите выбрать другую папку, нажмите «Обзор».'; end; //wpInstalling: //begin //WizardForm.PageNameLabel.Caption:='Распаковка'; //WizardForm.PageDescriptionLabel.Caption:='Пожалуйста, подождите, пока Almeza MultiSet Professional Portable распакуется на ваш компьютер.'; //end else begin //WizardForm.PageNameLabel.Caption:='Установка'; //WizardForm.PageDescriptionLabel.Caption:='Пожалуйста, подождите, пока Almeza MultiSet Professional установится на ваш компьютер.'; //end; //end; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// wpSelectProgramGroup: if Installer.Checked then begin WizardForm.NextButton.Caption:= 'Установить'; WizardForm.SelectStartMenuFolderBrowseLabel.Caption:= 'Нажмите «Установить», чтобы начать установку. Если вы хотите выбрать другую папку, нажмите «Обзор».'; end; wpInstalling: if Installer.Checked then begin WizardForm.PageNameLabel.Caption:='Установка'; WizardForm.PageDescriptionLabel.Caption:='Пожалуйста, подождите, пока Almeza MultiSet Professional установится на ваш компьютер.'; end else begin WizardForm.PageNameLabel.Caption:='Распаковка'; WizardForm.PageDescriptionLabel.Caption:='Пожалуйста, подождите, пока Almeza MultiSet Professional Portable распакуется на ваш компьютер.'; end; end; end; |
------- Последний раз редактировалось ZVSRus, 04-11-2015 в 18:48. Отправлено: 18:34, 04-11-2015 | #1041 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 857
|
Профиль | Отправить PM | Цитировать Цитата ZVSRus:
procedure dirBackClick(Sender: TObject); begin if Portable.Checked then begin Edit.Text:=(ExpandConstant('{src}\')+'ACDSeePortable'); DirTreeView.ChangeDirectory(AddBackslash(ExpandConstant('{src}\')), True) end else begin Edit.Text:=AddBackslash(ExpandConstant('{pf}\')+'{#MyAppName}'); DirTreeView.ChangeDirectory(AddBackslash(ExpandConstant('{pf}\')), True); end; end; |
|
------- Отправлено: 19:08, 04-11-2015 | #1042 |
Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать Большое спасибо помогло!
|
------- Отправлено: 20:00, 04-11-2015 | #1043 |
Ветеран Сообщения: 1640
|
Профиль | Отправить PM | Цитировать подскажите, пожалуйста, какие параметры в инно [setup] отвечают за цифровую подпись установщика?
когда-то помнил но вот подзабыл |
------- Отправлено: 10:30, 05-11-2015 | #1044 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать R.i.m.s.k.y., Справка » Секция скриптов » Директивы секции [Setup] » SignTool
Также: "Справка » Вкладка "Указатель" В окне под "Введите ключевое слово для поиска:", введите: signature |
------- Отправлено: 10:50, 05-11-2015 | #1045 |
Забанен Сообщения: 96
|
ребята помогите с дополнительным по убираю галочку а по всё равно устанавливается
#define MyAppName "My Program" #define MyAppVersion "1.5" #define MyAppPublisher "My Company, Inc." #define MyAppURL "http://www.example.com/" #define MyAppExeName "MyProg.exe" [Setup] AppId={{04DDCE42-843E-4F36-81F7-2B5D2702C034} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName} DefaultGroupName={#MyAppName} DisableProgramGroupPage=yes OutputBaseFilename=setup Compression=lzma SolidCompression=yes [Languages] Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked [Files] Source: "C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\Users\WW-W\Desktop\Freemake Video Converter\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: soft\MicrosoftVisualC.exe; DestDir: "{tmp}" [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon [Types] Name: "polnaya"; Description: "Полная установка" Name: "viborochnaya"; Description: "Выборочная установка"; Flags: iscustom [Components] Name: "MicrosoftVisualC"; Description: "Microsoft Visual C++"; Types: polnaya viborochnaya [Run] FileName: "{tmp}\MicrosoftVisualC.exe"; StatusMsg: "Выполнение программы Microsoft Visual C++"; Flags: skipifsilent hidewizard |
Отправлено: 11:50, 07-11-2015 | #1046 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать Цитата vadjliss:
Отметил красным жирным шрифтом: |
|
Отправлено: 12:06, 07-11-2015 | #1047 |
Забанен Сообщения: 96
|
Nordek Спасибо |
Отправлено: 12:27, 07-11-2015 | #1048 |
Ветеран Сообщения: 989
|
Профиль | Отправить PM | Цитировать Подскажите пожалуйста.
Создавал инсталятор с уменьшенными размерами формы(картинка 460х200). Кусок скрипта: with WizardForm do begin DirBrowseButton.Left:= ScaleX(360); //Местоположение кнопки "Обзор" от левого края, на странице выбора пути установки DirBrowseButton.Top:= ScaleY(90); //Местоположение кнопки "Обзор" сверху, на странице выбора пути установки DirEdit.Left:= DirEdit.Left + ScaleX(147); //Местоположение панели, где отображается путь от левого края, на странице выбора пути установки DirEdit.Top:= ScaleY(90); //Местоположение панели, где отображается путь сверху, на странице выбора пути установки DirEdit.Width:=ScaleX(205); |
Отправлено: 13:51, 07-11-2015 | #1049 |
Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать Dodakaedr
Есть страница SelectDirPage на которой отображены компоненты со страницы SelectProgramGroupPage т.е. GroupEdit, GroupBrowseButton и т.д. Как сделать чтобы при выборе InstallerRadioButton страница отображалась как есть, а при выборе PortableRadioButton компоненты относящиеся к SelectProgramGroupPage не отображались. Сам скрипт Скрытый текст
[Setup] AppName=My Program AppVersion=1.5 DefaultDirName={pf}\My Program DefaultGroupName=My Program [ISFormDesigner] WizardForm=FF0A005457495A415244464F524D0030108704000054504630F10B5457697A617264466F726D0A57697A61726 4466F726D0C436C69656E744865696768740368010B436C69656E74576964746803F1010C4578706C696369744C656674020 00B4578706C69636974546F7002000D4578706C6963697457696474680301020E4578706C69636974486569676874038E010 D506978656C73506572496E636802600A54657874486569676874020D00F10C544E65774E6F7465626F6F6B0D4F757465724 E6F7465626F6F6B00F110544E65774E6F7465626F6F6B506167650B57656C636F6D6550616765084E65787450616765070D4 36F6D706F6E656E74506167650D4578706C69636974576964746803F1010E4578706C696369744865696768740339010000F 110544E65774E6F7465626F6F6B5061676509496E6E6572506167650D4578706C69636974576964746803F1010E4578706C6 963697448656967687403390100F10C544E65774E6F7465626F6F6B0D496E6E65724E6F7465626F6F6B00F110544E65774E6 F7465626F6F6B506167650B4C6963656E7365506167650C50726576696F757350616765070D436F6D706F6E656E745061676 50D4578706C69636974576964746803A1010E4578706C6963697448656967687403ED000000F110544E65774E6F7465626F6 F6B506167650D53656C656374446972506167650D4578706C69636974576964746803A1010E4578706C69636974486569676 87403ED00000010544E65774E6F7465626F6F6B506167650D436F6D706F6E656E74506167650743617074696F6E142400000 0D092D18BD0B1D0BED18020D182D0B8D0BFD0B020D183D181D0B0D0BDD0BED0B2D0BAD0B80B4465736372697074696F6E142 A000000D092D18BD0B1D0B5D180D0B8D182D0B520D182D0B8D0BF20D183D181D182D0B0D0BDD0BED0B2D0BAD0B80C5072657 6696F757350616765070B57656C636F6D6550616765084E65787450616765070B4C6963656E736550616765000C544E65774 7726F7570426F7811496E7374616C6C657247726F7570426F78044C656674020003546F70020005576964746803CD0006486 56967687402460743617074696F6E1419000000D0A2D0B8D0BF20D183D181D182D0B0D0BDD0BED0B2D0BAD0B8085461624F7 26465720200000F544E6577526164696F427574746F6E09496E7374616C6C6572044C656674020A03546F700210055769647 46803BE000648656967687402110743617074696F6E142E000000D0A3D181D182D0B0D0BDD0BED0B2D0BAD0B020D0BED0B1D 18BD187D0BDD0BED0B920D0B2D0B5D180D181D0B8D0B807436865636B656409085461624F726465720200074F6E436C69636 B070E496E7374616C6C6572436C69636B00000F544E6577526164696F427574746F6E08506F727461626C65044C656674020 A03546F70022B05576964746803BE000648656967687402110743617074696F6E1438000000D0A0D0B0D181D0BFD0B0D0BAD 0BED0B2D0BAD0B020D0BFD0BED180D182D0B0D182D0B8D0B2D0BDD0BED0B920D0B2D0B5D180D181D0B8D0B8085461624F726 465720201074F6E436C69636B070D506F727461626C65436C69636B0000000000000000448656967687403ED000000F11054 4E65774E6F7465626F6F6B506167650D53656C656374446972506167650D4578706C69636974576964746803A1010E457870 6C6963697448656967687403ED00000010544E65774E6F7465626F6F6B506167650D436F6D706F6E656E7450616765074361 7074696F6E1426000000D092D18BD0B1D0BED18020D182D0B8D0BFD0B020D183D181D182D0B0D0BDD0BED0B2D0BAD0B80B44 65736372697074696F6E142A000000D092D18BD0B1D0B5D180D0B8D182D0B520D182D0B8D0BF20D183D181D182D0B0D0BDD0 BED0B2D0BAD0B80C50726576696F757350616765070B57656C636F6D6550616765084E65787450616765070B4C6963656E73 6550616765000C544E657747726F7570426F7811496E7374616C6C657247726F7570426F78044C656674020003546F700200 05576964746803CD000648656967687402460743617074696F6E1419000000D0A2D0B8D0BF20D183D181D182D0B0D0BDD0BE D0B2D0BAD0B8085461624F726465720200000F544E6577526164696F427574746F6E09496E7374616C6C6572044C65667402 0A03546F70021005576964746803BE000648656967687402110743617074696F6E142E000000D0A3D181D182D0B0D0BDD0BE D0B2D0BAD0B020D0BED0B1D18BD187D0BDD0BED0B920D0B2D0B5D180D181D0B8D0B807436865636B656409085461624F7264 657202000754616253746F7009074F6E436C69636B070E496E7374616C6C6572436C69636B00000F544E6577526164696F42 7574746F6E08506F727461626C65044C656674020A03546F70022B05576964746803BE000648656967687402110743617074 696F6E1438000000D0A0D0B0D181D0BFD0B0D0BAD0BED0B2D0BAD0B020D0BFD0BED180D182D0B0D182D0B8D0B2D0BDD0BED0 B920D0B2D0B5D180D181D0B8D0B8085461624F726465720201074F6E436C69636B070D506F727461626C65436C69636B0000 000000000000 [code] { RedesignWizardFormBegin } // Не удалять эту строку! // Не изменять эту секцию. Она создана автоматически. var ComponentPage: TWizardPage; InstallerGroupBox: TNewGroupBox; Installer: TNewRadioButton; Portable: TNewRadioButton; procedure InstallerClick(Sender: TObject); forward; procedure PortableClick(Sender: TObject); forward; procedure RedesignWizardForm; begin { Creates custom wizard page } ComponentPage := CreateCustomPage(wpWelcome, 'Выбор типа установки', 'Выберите тип установки'); { InstallerGroupBox } InstallerGroupBox := TNewGroupBox.Create(WizardForm); with InstallerGroupBox do begin Parent := ComponentPage.Surface; Left := ScaleX(0); Top := ScaleY(0); Width := ScaleX(205); Height := ScaleY(70); Caption := 'Тип установки'; end; { Installer } Installer := TNewRadioButton.Create(WizardForm); with Installer do begin Parent := InstallerGroupBox; Left := ScaleX(10); Top := ScaleY(16); Width := ScaleX(190); Height := ScaleY(17); Caption := 'Установка обычной версии'; Checked := True; OnClick := @InstallerClick; end; { Portable } Portable := TNewRadioButton.Create(WizardForm); with Portable do begin Parent := InstallerGroupBox; Left := ScaleX(10); Top := ScaleY(43); Width := ScaleX(190); Height := ScaleY(17); Caption := 'Распаковка портативной версии'; OnClick := @PortableClick; end; Installer.TabOrder := 0; Portable.TabOrder := 1; InstallerGroupBox.TabOrder := 0; { ReservationBegin } // Вы можете добавить ваш код здесь. { ReservationEnd } end; procedure PortableClick(Sender: TObject); begin end; procedure InstallerClick(Sender: TObject); begin end; //////////////////////////////////////////////////////////////////////////////// var // StartMenuIcon,DesktopIcon: TCheckBox; // // function MakeDesktopIcon: Boolean; begin Result:=DesktopIcon.Checked; end; // function MakeStartMenuIcon: Boolean; begin Result:=StartMenuIcon.Checked;end; // // procedure NoStartMenuIcon(Sender: TObject); // begin // if StartMenuIcon.Checked = true then // begin // wizardform.GroupEdit.enabled:= false; // wizardform.GroupBrowseButton.enabled:= false; // end else begin // wizardform.GroupEdit.enabled:= true; // wizardform.GroupBrowseButton.enabled:= true; // end; // end; // //////////////////////////////////////////////////////////////////////////////// procedure InitializeWizard(); begin RedesignWizardForm; WizardForm.DiskSpaceLabel.Hide; ////////////////////////////////////////////////////////////////////////////////////////////// begin // // wizardform.SelectDirBrowseLabel.top:= wizardform.GroupEdit.top - ScaleY(48); // wizardform.SelectDirLabel.left:= wizardform.GroupEdit.left + ScaleY(40); // // wizardform.GroupEdit.parent:= wizardform.SelectDirPage; // wizardform.GroupEdit.top:= wizardform.GroupEdit.top + ScaleY(71); // // wizardform.GroupBrowseButton.parent:= wizardform.SelectDirPage; // wizardform.GroupBrowseButton.top:= wizardform.GroupBrowseButton.top + ScaleY(70); // // wizardform.DirEdit.top:= wizardform.GroupEdit.top - ScaleY(90); // wizardform.DirBrowseButton.top:= wizardform.GroupEdit.top - ScaleY(92); // // wizardform.SelectGroupBitmapImage.parent:= wizardform.SelectDirPage; // wizardform.SelectGroupBitmapImage.left:= wizardform.GroupEdit.left + ScaleY (0); // wizardform.SelectGroupBitmapImage.top:= wizardform.GroupEdit.top - ScaleY(64); // // wizardform.SelectStartMenuFolderLabel.parent:= wizardform.SelectDirPage; // wizardform.SelectStartMenuFolderLabel.left:= wizardform.GroupEdit.left + ScaleY (40); // wizardform.SelectStartMenuFolderLabel.top:= wizardform.GroupEdit.top - ScaleY(56); // // wizardform.SelectStartMenuFolderBrowseLabel.parent:= wizardform.SelectDirPage; // wizardform.SelectStartMenuFolderBrowseLabel.left:= wizardform.GroupEdit.left + ScaleY (0); // wizardform.SelectStartMenuFolderBrowseLabel.top:= wizardform.GroupEdit.top - ScaleY(30); // ////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////// DesktopIcon := TCheckBox.Create(WizardForm); // DesktopIcon.Parent := WizardForm.SelectDirPage; // DesktopIcon.Caption := 'Добавить ярлык на Рабочий стол'; // DesktopIcon.SetBounds(ScaleX(0),WizardForm.DirEdit.Top+ScaleY(140),ScaleX(300),ScaleY(25)); // DesktopIcon.TabOrder := 0; // DesktopIcon.Checked:= true; // ////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////// StartMenuIcon := TCheckBox.Create(WizardForm); // StartMenuIcon.Parent := WizardForm.SelectDirPage; // StartMenuIcon.Caption := 'Не создавать папку в меню Пуск'; // StartMenuIcon.SetBounds(ScaleX(220),WizardForm.DirEdit.Top+ScaleY(140),ScaleX(300),ScaleY(25)); // StartMenuIcon.TabOrder := 0; // StartMenuIcon.Checked:= false; // StartMenuIcon.OnClick:= @NoStartMenuIcon; // end; // ////////////////////////////////////////////////////////////////////////////////////////////////// end; |
Отправлено: 12:50, 08-11-2015 | #1050 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 7] | El Sanchez | Автоматическая установка приложений | 2499 | 02-02-2015 08:59 | |
Скрипты Inno Setup. Помощь и советы [часть 6] | El Sanchez | Автоматическая установка приложений | 2494 | 10-03-2014 11:51 | |
Скрипты Inno Setup. Помощь и советы [часть 5] | El Sanchez | Автоматическая установка приложений | 1999 | 28-03-2013 19:09 | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 |
|