SPIDERT1
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Цитата: Вот мой код: ----------------------------------------------- [Setup] SourceDir=. OutputDir=g:\_setups\OfficeGames\ AppName=Офисные игры AppVerName=Офисные игры AppVersion=Офисные игры DefaultDirName={pf}\OfficeGames DefaultGroupName=Офисные игры AllowNoIcons=yes OutputBaseFilename=setup WindowVisible=no WindowShowCaption=no WindowResizable=no Compression=lzma/ultra64 DiskSpanning=no DiskSliceSize=724288000 SlicesPerDisk=1 WizardImageFile=g:\InstallCreate\_Logo\Ofissgames.bmp WizardSmallImageFile=g:\InstallCreate\_Logo\spider-t1.bmp SetupIconFile=G:\InstallCreate\_icons\Office.ico [Languages] Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" [Messages] BeveledLabel= Repack create SPIDER-T1 2009.05.25 [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}" [Files] Source: "F:\Games\Office games\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension [Icons] ; Дальше ярлыки в програмную групу с созданием папки Name: "{group}\Office games\World Of Goo" ; Filename: "{app}\World Of Goo\WorldOfGoo.exe"; WorkingDir: "{app}\World Of Goo"; ; Дальше ярлыки на рабочий стол с созданием папки Name: "{userdesktop}\Office games\10талисманов"; Filename: "{app}\10талисманов\10Талисманов.exe"; WorkingDir: "{app}\10талисманов\"; Tasks: desktopicon; Name: "{userdesktop}\Office games\World Of Goo" ; Filename: "{app}\World Of Goo\WorldOfGoo.exe"; WorkingDir: "{app}\World Of Goo"; ; Дальше деинсталятор Name: "{group}\{cm:UninstallProgram, Офисные игры}"; Filename: "{uninstallexe}" [Run] [Registry] [Dirs] Name: {userdesktop}\Office games\; Attribs: system [INI] Filename: {userdesktop}\Office games\Desktop.ini; Section: ".ShellClassInfo"; Key: "IconFile"; String: "%SystemRoot%\system32\SHELL32.dll"; Filename: {userdesktop}\Office games\Desktop.ini; Section: ".ShellClassInfo"; Key: "IconIndex"; String: "130" [UninstallDelete] Type: filesandordirs; Name: "{app}" Type: filesandordirs; Name: "{userdesktop}\Office games\" [Code] const NeedSize = 1923; //Прописать, сколько мегабайт необходимо DRIVE_UNKNOWN = 0; DRIVE_NO_ROOT_DIR = 1; DRIVE_REMOVEABLE = 2; DRIVE_FIXED = 3; DRIVE_REMOTE = 4; DRIVE_CDROM = 5; DRIVE_RAMDISK = 6; function GetLogicalDrives: DWORD; external 'GetLogicalDrives@kernel32.dll stdcall'; function GetDriveType(nDrive: String): Longint; external 'GetDriveTypeA@kernel32.dll stdcall'; procedure InitializeWizard(); var Path: String; FreeMB, TotalMB: Cardinal; ListBox: TListBox; drives: DWORD; i: integer; begin ListBox:= TListBox.Create(WizardForm); ListBox.Top:= 120; ListBox.Width:= 300; ListBox.Height:= ScaleY(90); ListBox.Parent:= WizardForm.SelectDirPage; drives:= GetLogicalDrives(); for i:= 0 to 31 do begin if (drives and (1 shl i)) > 0 then begin Path:= chr(ord('A')+i)+':'; if GetDriveType(Path) = DRIVE_FIXED then begin GetSpaceOnDisk(Path, True, FreeMB, TotalMB); ListBox.Items.Add(Path + ' - Всего: ' + IntToStr(TotalMB) + 'Мб - Свободно: ' + IntToStr(FreeMB) + 'Мб'); end; end; end; end; function NextButtonClick(CurPageID: Integer): Boolean; var Path: String; FreeMB, TotalMB: Cardinal; begin Result:= True; if CurPageID = wpSelectDir then begin Path:= ExtractFileDrive(WizardForm.DirEdit.Text); GetSpaceOnDisk(Path, True, FreeMB, TotalMB); if FreeMB < NeedSize then begin MsgBox('Для установки приложения необходимо '+ IntTostr(NeedSize)+ ' MB,'#13+ 'а на выбранном Вами диске доступно только '+ IntToStr(FreeMB)+' MB', mbCriticalError, MB_OK) Result := False; end; end; end; ------------------------------------------------- | | Всего записей: 16 | Зарегистр. 08-02-2009 | Отправлено: 22:00 02-06-2009 | Исправлено: SPIDERT1, 23:55 02-06-2009 |
|