NightW0lf
Full Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Код: [Setup] AppName=WarCraft III + Frozen Throne v1.20 AppVerName=WarCraft III + Frozen Throne AppPublisher=by NightW0lf DefaultDirName=C:\Games\WarCraft III DefaultGroupName=WarCraft III + Frozen Throne AllowNoIcons=yes OutputDir=C:\SETUP\Output OutputBaseFilename=setup_wc3_sound Compression=lzma SolidCompression=yes WizardImageFile=C:\SETUP\WIZARD_IMAGE\_BIG\my_wizard_164-314.bmp WizardSmallImageFile=C:\SETUP\WIZARD_IMAGE\_SMALL\install.bmp [Languages] Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked ;Не используйте "Флаг": ignoreversion" для любых системных файлов [Files] Source: "C:\SETUP\Output\data_pr.exe"; DestDir: "{app}"; Flags: deleteafterinstall nocompression Source: "C:\SETUP\FILES_DATA\StarFuck.exe"; DestDir: "{app}"; Source: "C:\SETUP\ICONS\uninstall.ico"; DestDir: "{app}"; Source: "C:\MiniFMOD.dll"; DestDir: "{tmp}"; Flags:dontcopy Source: "C:\music.xm"; DestDir: "{tmp}"; Flags:dontcopy [Icons] Name: "{group}\StarFuck-123"; Filename: "{app}\StarFuck.exe" Name: "{group}\{cm:UninstallProgram,}"; IconFilename: "{app}\uninstall.ico"; Filename: "{uninstallexe}" Name: "{userdesktop}\StarFuck-12441"; Filename: "{app}\StarFuck.exe"; Tasks: desktopicon [Run] Filename: "{app}\data_pr.exe"; Parameters: "-y"; Flags: waituntilterminated hidewizard Filename: "{app}\StarFuck.exe"; Description: "{cm:LaunchProgram,WarCraft III + Frozen Throne}"; Flags: nowait postinstall skipifsilent [UninstallDelete] Type: filesandordirs; Name: "{app}" [Code] //определяем процедуры и функции function SongLoadFromFile(FileName: PChar): Integer; external 'SongLoadFromFile@files:MiniFMOD.dll cdecl delayload'; procedure SongPlay(hMod: Integer); external 'SongPlay@files:MiniFMOD.dll cdecl delayload'; //при запуске инсталлятора выполняем вот этот код: procedure InitializeWizard(); var hMod: Integer; Name1: string; begin ExtractTemporaryFile(ExpandConstant('MiniFMOD.dll')); //извлекаем во временную папку MiniFMOD.dll ExtractTemporaryFile(ExpandConstant('music.xm')); //извлекаем во временную папку музыкальный файл Name1:=ExpandConstant('{tmp}\music.xm'); //определяем путь, где находится музыкальный файл hMod := SongLoadFromFile(PChar(Name1)); //загружаем музыкальный файл SongPlay(hMod); //запускаем воспроизведение музыки begin WizardForm.Position:=poScreenCenter; end; end; //При деинсталляции нужно честно предупредить пользователя function InitializeUninstall(): Boolean; begin MsgBox('Внимание! Сейчас удалятся все файлы игры, включая сохранения.', mbError, MB_OK) Result:=True end; //Можно и не предупреждать, если сохранения хранятся не в одной папке с игрой //Чтобы заставить инсталлятор при нажатии на кнопку "Отмена" выдавать собственное сообщение, следует написать следующую процедуру: procedure CancelButtonClick(CurPage: Integer; var Cancel, Confirm: Boolean); begin Cancel:=False; Confirm:=False; if MsgBox('Вы действительно хотите отменить установку?', mbError, MB_YESNO) = idYes then Cancel:=true; end; | | Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 00:01 10-12-2006 | Исправлено: NightW0lf, 00:09 10-12-2006 |
|