ComradG
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору [Setup] AppName=NSIS AppVerName=NSIS DefaultDirName={pf}\NSIS DefaultGroupName=NSIS VersionInfoVersion=2.3.0.1 AllowNoIcons=yes [Types] Name: full; Description: Full installation Name: compact; Description: Compact installation Name: custom; Description: Custom installation; Flags: iscustom [Components] Name: program; Description: Program Files; Types: full compact custom; Flags: fixed Name: help; Description: Help Contents; Types: full compact Name: readme; Description: Read Me; Types: custom Name: readme\en; Description: English; Flags: exclusive Name: readme\ru; Description: Russian; Flags: exclusive [Icons] Name: {group}\NSIS; Filename: MakeNSIS.exe [Messages] SetupAppTitle=NSIS Setup SetupWindowTitle=NSIS Setup BeveledLabel= Nullsoft Install System DiskSpaceMBLabel=Space requred: [mb] MB ComponentsDiskSpaceMBLabel=Space required: [mb] MB [LangOptions] DialogFontName=Tahoma [_Code] var Bevel: TBevel; FreeSpaceLabel: TLabel; Panel: TPanel; StartMenuTreeView: TStartMenuFolderTreeView; Text1, Text2, Text3, Text4, Text5, Text6, Text7: TNewStaticText; procedure GetFreeSpaceCaption(Sender: TObject); var Path: string; FreeMB, TotalMB: cardinal; begin Path:=ExtractFileDrive(WizardForm.DirEdit.Text); GetSpaceOnDisk(Path, true, FreeMB, TotalMB); if FreeMB > 1024 then FreeSpaceLabel.Caption:='Space available:' + FloatToStr(round(FreeMB/1024*100)/100) + ' GB' else FreeSpaceLabel.Caption:='Space available:' + IntToStr(FreeMB) + ' MB' end; procedure StartMenuTreeViewOnClick(Sender: TObject); begin WizardForm.GroupEdit.Text:=addBackslash(StartMenuTreeView.Directory) + 'NSIS' end; procedure InitializeWizard(); begin //страница выбора папки назначения Text1:=TNewStaticText.Create(WizardForm); Text1.Left:=ScaleX(0); Text1.Top:=ScaleY(1); Text1.Width:=ScaleX(417); Text1.Height:=ScaleY(31); Text1.AutoSize:=false; Text1.WordWrap:=true; Text1.Caption:='Setup will install NSIS in the following folder. To install a diffrent folder, click Browse and select another folder. Click Next to continue.'; Text1.Parent:=WizardForm.SelectDirPage; Text2:=TNewStaticText.Create(WizardForm); Text2.Left:=ScaleX(12); Text2.Top:=ScaleY(114); Text2.Font.Color:=clBlue; Text2.Caption:='Destination folder'; Text2.Parent:=WizardForm.SelectDirPage; Bevel:=TBevel.Create(WizardForm); Bevel.Left:=ScaleX(0); Bevel.Top:=ScaleY(120); Bevel.Width:=ScaleX(417); Bevel.Height:=ScaleY(50); Bevel.Shape:=bsFrame; Bevel.Parent:=WizardForm.SelectDirPage; FreeSpaceLabel:=TLabel.Create(WizardForm); FreeSpaceLabel.Left:=ScaleX(0); FreeSpaceLabel.Top:=ScaleY(203); FreeSpaceLabel.Width:=ScaleX(209); FreeSpaceLabel.Height:=ScaleY(13); FreeSpaceLabel.Enabled:=true; FreeSpaceLabel.Parent:=WizardForm.SelectDirPage; //страница выбора компонентов Text3:=TNewStaticText.Create(WizardForm); Text3.Left:=ScaleX(0); Text3.Top:=ScaleY(1); Text3.Width:=ScaleX(417); Text3.Height:=ScaleY(31); Text3.AutoSize:=false; Text3.WordWrap:=true; Text3.Caption:='Check the components you want to install and unckeck you do not want to install. Click Next to continue.'; Text3.Parent:=WizardForm.SelectComponentsPage; Text4:=TNewStaticText.Create(WizardForm); Text4.Left:=ScaleX(0); Text4.Top:=ScaleY(39); Text4.Width:=ScaleX(115); Text4.Height:=ScaleY(19); Text4.Caption:='Select type of install:'; Text4.Parent:=WizardForm.SelectComponentsPage; Text5:=TNewStaticText.Create(WizardForm); Text5.Left:=ScaleX(0); Text5.Top:=ScaleY(61); Text5.Width:=ScaleX(115); Text5.Height:=ScaleY(87); Text5.AutoSize:=false; Text5.WordWrap:=true; Text5.Caption:='Or select the optional components you wish to install:'; Text5.Parent:=WizardForm.SelectComponentsPage; Panel:=TPanel.Create(WizardForm); Panel.Left:=ScaleX(144); Panel.Top:=ScaleY(173); Panel.Width:=ScaleX(273); Panel.Height:=ScaleY(53); Panel.BevelInner:=bvLowered; Panel.Parent:=WizardForm.SelectComponentsPage; Text6:=TNewStaticText.Create(WizardForm); Text6.Left:=ScaleX(151); Text6.Top:=ScaleY(168); Text6.Font.Color:=clBlue; Text6.Caption:='Description'; Text6.Parent:=WizardForm.SelectComponentsPage; //страница выбора папки меню пуск Text7:=TNewStaticText.Create(WizardForm); Text7.Left:=ScaleX(0); Text7.Top:=ScaleY(1); Text7.Width:=ScaleX(417); Text7.Height:=ScaleY(31); Text7.AutoSize:=false; Text7.WordWrap:=true; Text7.Caption:='Select the Start Menu folder in which you would like to create the program shortcuts. You can also enter a name to create a new folder.'; Text7.Parent:=WizardForm.SelectProgramGroupPage; StartMenuTreeView:=TStartMenuFolderTreeView.Create(WizardForm); StartMenuTreeView.Left:=ScaleX(0); StartMenuTreeView.Top:=ScaleY(67); StartMenuTreeView.Width:=ScaleX(417); StartMenuTreeView.Height:=ScaleY(147); StartMenuTreeView.OnChange:=@StartMenuTreeViewOnClick; StartMenuTreeView.Parent:=WizardForm.SelectProgramGroupPage; StartMenuTreeView.SetPaths(ExpandConstant('{userprograms}'), ExpandConstant('{commonprograms}'), ExpandConstant('{userstartup}'), ExpandConstant('{commonstartup}')); //изменение местоположения элементов страниц мастера //для страницы выбора папки назначения WizardForm.SelectDirBrowseLabel.Hide; WizardForm.SelectDirLabel.Hide; WizardForm.DirEdit.Left:=ScaleX(9); WizardForm.DirEdit.Top:=ScaleY(133); WizardForm.DirEdit.Width:=ScaleX(305); WizardForm.DirEdit.Height:=ScaleY(23); WizardForm.DirEdit.OnChange:=@GetFreeSpaceCaption; WizardForm.DirEdit.Text:=WizardForm.DirEdit.Text + #0; WizardForm.DirBrowseButton.Left:=ScaleX(330); WizardForm.DirBrowseButton.Top:=ScaleY(133); WizardForm.DiskSpaceLabel.Top:=ScaleY(187); //для страницы выбора компонентов WizardForm.SelectComponentsLabel.Hide; WizardForm.TypesCombo.Left:=ScaleX(144); WizardForm.TypesCombo.Width:=ScaleX(273); WizardForm.ComponentsList.Left:=ScaleX(144); WizardForm.ComponentsList.Top:=ScaleY(61); WizardForm.ComponentsList.Width:=ScaleX(273); WizardForm.ComponentsList.Height:=ScaleY(107); WizardForm.ComponentsDiskSpaceLabel.Top:=ScaleY(173); //для страницы выбора папки меню пуск WizardForm.SelectStartMenuFolderBrowseLabel.Hide; WizardForm.SelectStartMenuFolderLabel.Hide; WizardForm.GroupEdit.Top:=ScaleY(43); WizardForm.GroupEdit.Width:=ScaleX(417); WizardForm.GroupBrowseButton.Enabled:=false; WizardForm.GroupBrowseButton.Visible:=false; end; |