Kotyarko_O 1,906 #244850 Posted January 18, 2015 (edited) как правильно объединить две function InitializeSetup():boolean; Function InitializeSetup1(): Boolean; begin ... end; Function InitializeSetup2(): Boolean; begin ... end; Function InitializeSetup(): Boolean; begin InitializeSetup1(); InitializeSetup2(); end; Подскажите,почему выдает ошибку,когда вроде бы даже нету такого слова,как в ошибке: Проблема в скрипте Components.iss, в секции [Files]. По указанному там пути находится пустая папка, или попросту отсутствует. Edited January 18, 2015 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
young G 23 #244855 Posted January 18, 2015 Что нужно сделать,чтобы не показывалось 2 раза одно и тоже? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #244856 Posted January 18, 2015 Что нужно сделать,чтобы не показывалось 2 раза одно и тоже? Показывайте код. Quote Share this post Link to post Short link Share on other sites
young G 23 #244857 Posted January 18, 2015 Показывайте код. Секунду,сейчас покажу. Показывайте код. #define GameID "{5F05CE9B-7768-490E-9A71-C6R92B4EX123}" ;Ид инстолятора#define MyAppName "KPAH Mod Pack 0.8.6" ;Название инстоллятора #define MyInfoVer "2.4.124" ;Версия инсталлятора #define MyAppVer "1.0" ;Версия игры #define MyAppPublisher "EvilAlex" ;Имя компании или человека кто делал #define MyAppURL "http://www.koreanrandom.com" ;Ссылка для лого #include "Components.iss" ;Компаненты, они же моды #include "Messages.iss" ;Сообщение, надписи на кнопках и т.д. [setup] AppId={{#GameID} AppName={#MyAppName} AppVersion={#MyAppVer} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} //====={ Ссылки }=====\\ AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} //====={ Папка устанвки }=====\\ ;DefaultDirName={pf}\{#MyAppName} DefaultDirName={code:MyDirName} DefaultGroupName={#MyAppName} //====={ Картинки }=====\\ SetupIconFile=Files\wot_ico.ico WizardSmallImageFile=Files\img2.bmp WizardImageFile=Files\img1.bmp //====={ Отключение строниц }=====\\ DisableProgramGroupPage=yes //====={ Лицензия и Фак }=====\\ LicenseFile=licensia.txt InfoBeforeFile=faq.rtf InfoAfterFile=credit.rtf //====={ Папка создания и название сетапа }=====\\ OutputDir=.\Output OutputBaseFilename=Setup //====={ Сжатие сетапа }=====\\ InternalCompressLevel=ultra64 Compression=lzma2/ultra64 SolidCompression=true //====={ Основные файлы сетапа }=====\\ [Files] Source: Files\logo.bmp; Flags: dontcopy noencryption noencryption [Components] Name: KMP; Description: KPAH Mod Pack; Types: custom; Flags: fixed Name: KMP\P; Description: 1. Прицел.; Flags: disablenouninstallwarning [Files] Source: "C:\Users\User\Desktop\Установщик с картинками (свой)\MODS\PRICEL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs Source: "C:\Users\User\Desktop\Установщик с картинками (свой)\img_mod\1.bmp"; DestDir: "{app}"; Flags: ignoreversion // Примечание: Не используйте флаги "ignoreversion" для общих системных файлов. //====={ Картинки модов }=====\\ Source: img_mod\1.bmp; Flags: dontcopy noencryption noencryption //====={ Выбор языка }=====\\ [Languages] Name: "eng"; MessagesFile: "compiler:Default.isl" Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl" #ifdef UNICODE#define A "W"#else#define A "A"#endif constUNDEF_INDEX = -777;ALPHA_BLEND_LEVEL = 255; // max=Byte=255 WS_EX_LAYERED = $80000;WS_EX_TRANSPARENT = $20;LWA_COLORKEY = 1;LWA_ALPHA = 2;GWL_EXSTYLE = (-20); varInfoPic: TBitmapImage;LastIndex: Integer;TempPath: String;PicForm: TForm; typeCOLORREF = DWORD; function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall';function SetLayeredWindowAttributes(Hwnd: THandle; crKey: COLORREF; bAlpha: Byte; dwFlags: DWORD): Boolean; external '[email protected] stdcall';function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLong{#A}@user32.dll stdcall';function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall';function SetFocus(hWnd: HWND): HWND; external '[email protected] stdcall'; function MyDirName(S:String): String;varInsPath: String;er: boolean;myFile:String;beginResult:=ExpandConstant('C:\Games\World_of_Tanks\'); //если ключа нет то будем ставить сюдаer := RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath);if er and (InsPath<>'') then //если ключ существует и там что-то записаноbeginResult := InsPath;end;end; procedure LogoOnClick(Sender: TObject);var ResCode: Integer;beginShellExec('', '{#MyAppURL}', '' , '', SW_SHOW, ewNoWait, ResCode)end; procedure RedesignWizardForm;vari: integer;BtnPanel: TPanel;BtnImage: TBitmapImage; beginExtractTemporaryFile('logo.bmp')BtnPanel:=TPanel.Create(WizardForm)with BtnPanel do beginLeft:=0Top:=315Width:=179Height:=46Cursor:=crHandOnClick:=@logoOnClickParent:=WizardFormend;BtnImage:=TBitmapImage.Create(WizardForm)with BtnImage do beginAutoSize:=True;Enabled:=False;Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\logo.bmp')Parent:=BtnPanelend; with WizardForm dobeginCaption := ExpandConstant('{cm:Main}');end; with WizardForm.WizardBitmapImage dobeginWidth := ScaleX(502);end; with WizardForm.WelcomeLabel2 dobeginVisible := False;end; with WizardForm.WelcomeLabel1 dobeginVisible := False;end; with WizardForm.WizardSmallBitmapImage dobeginLeft := ScaleX(0);Width := ScaleX(502);Height := ScaleY(70);end; with WizardForm.PageDescriptionLabel dobeginVisible := False;end; with WizardForm.PageNameLabel dobeginVisible := False;end; with WizardForm.WizardBitmapImage2 dobeginWidth := ScaleX(502);end; with WizardForm.FinishedLabel dobeginVisible := False;end; with WizardForm.FinishedHeadingLabel dobeginVisible := False;end;end; procedure ShowPicHint(const PicFilePath: String);varpt: TPoint;beginif not GetCursorPos(pt) then Exit;InfoPic.Bitmap.LoadFromFile(PicFilePath);trywith PicForm dobeginSetBounds(ScaleX(pt.x + 16), ScaleY(pt.y + 7), InfoPic.Width, InfoPic.Height);Show;end;finallySetFocus(WizardForm.Handle);end;end; procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);varUndefPic: String;beginif Index = -1 then Exit;if Index = LastIndex then Exit;trycase TNewCheckListBox(Sender).ItemCaption[index] of'1. Прицел.': UndefPic := '1.bmp'; elsebeginLastIndex := UNDEF_INDEX;PicForm.Hide;Exit;end;end;if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic);ShowPicHint(TempPath + UndefPic);finallyLastIndex := Index;end;end; procedure CompOnMouseLeave(Sender: TObject);beginPicForm.Hide;LastIndex := -1;end; procedure InitInfo();beginWizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove;WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave;TempPath := AddBackslash(ExpandConstant('{tmp}'));LastIndex := UNDEF_INDEX;PicForm := TForm.Create(WizardForm)with PicForm dobeginBorderStyle := bsNone;FormStyle := fsStayOnTop;InfoPic := TBitmapImage.Create(PicForm)with InfoPic dobeginParent := PicForm;AutoSize := True;end;end;SetWindowLong(PicForm.Handle, GWL_EXSTYLE, GetWindowLong(PicForm.Handle, GWL_EXSTYLE) or WS_EX_LAYERED);SetLayeredWindowAttributes(PicForm.Handle, 0, ALPHA_BLEND_LEVEL, LWA_ALPHA);end; procedure InitializeWizard();beginInitInfo();RedesignWizardForm;end; [Languages]Name: rus; MessagesFile: compiler:Languages\Russian.isl [Messages]ButtonBack=НазадButtonNext=ДалееButtonCancel=ВыходButtonInstall=УстановитьButtonFinish=ЗавершитьButtonWizardBrowse=Обзор... [CustomMessages]rus.Main=Установка - «{#MyAppName}» rus.Welcome1=rus.Welcome2=Программа установит «{#MyAppName}» на Ваш компьютер.%n%nРекомендуется закрыть антивирусные пакеты и все прочие приложения%nперед тем, как продолжить.%n%nНажмите «Далее», что бы продолжить установку,%nили «Выход», чтобы выйти из программы установки.rus.Finished1=rus.Finished2=Игра «{#MyAppName}» была успешно установлена на Ваш компьютер.%n%nДля ее запуска выберите соответствующий ярлык в меню «Пуск»%nили на Рабочем столе.%n%nНажмите «Завершить», чтобы выйти из программы установки.rus.ErrorFinished1=rus.ErrorFinished2=Установка игры «{#MyAppName}» не завершена !%n%nУстановка не была завершена.%n%nПожалуйста, устраните проблему и запустите установку снова.rus.SelectDir1=Если вы хотите выбрать другую папку, нажмите кнопку «Обзор».rus.SelectDir2=Программа создаст ярлыки в следующей папке меню «Пуск».rus.SelectGroup1=Выберит папку в меню «Пуск».%nНажмите кнопку «Обзор» для выбора.rus.SelectGroup2= rus.IconsCheck=Создать ярлык в меню «Пуск» ?rus.DesktopTasks=Создать значок на рабочем столе ?rus.DPO=Дополнительное программное обеспечение:rus.DirectX= Установить DirectXrus.VCRedist= Установить Visual++ rus.SelectTasks= rus.ExtractedFile=Извлекается файл:rus.ExtractedDire=Директория:rus.Extracted=Распаковка архивов...rus.CancelButton=Отменить распаковкуrus.Error=Ошибка распаковки!rus.Completion=Завершение установки... rus.StatusRollback=Пожалуйста ждите!%n%nИдет откат изменений... rus.ElapsedTime=Прошло:rus.RemainingTime=Осталось времени:rus.EstimatedTime=Всего:rus.AllElapsedTime=Время установки: rus.Doppo1=Пожалуйста ждите!%n%n%n%n%n%n%n%nОбновление дополнительного ПО...%n%nУстановка DirectX...rus.Doppo2=Пожалуйста ждите!%n%n%n%n%n%n%n%nОбновление дополнительного ПО...%n%nУстановка VCRedist... //rus.UninstalledAll=Ну и нахрена удалил? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #244859 Posted January 18, 2015 (edited) #include "Components.iss" Что там? Edited January 18, 2015 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
young G 23 #244861 Posted January 18, 2015 Что там? Вот: /====={ Сюда прописываешь те файлы и папки которые закинул в Mods }=====\\[Types] Name: custom; Description: Full installation; Flags: iscustom [Components] Name: KMP; Description: KPAH Mod Pack; Types: custom; Flags: fixed Name: KMP\P; Description: 1. Прицел.; Flags: disablenouninstallwarning [Files] Source: "MODS\PRICEL\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: KMP\P; Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #244862 Posted January 18, 2015 @_NesKwi_, ну вот вам и ответ. Quote Share this post Link to post Short link Share on other sites
young G 23 #244863 Posted January 18, 2015 (edited) @_NesKwi_, ну вот вам и ответ. а что именно нужно удалить,чтобы такого не было? Edited January 18, 2015 by _NesKwi_ Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #244865 Posted January 18, 2015 а что именно нужно удалить,чтобы такого не было? Или отключить секции [Components], [Files] в основном скрипте, или отключить скрипт Components.iss. А лучше посмотреть справку, изучить всякие примеры, изучить сам язык. Quote Share this post Link to post Short link Share on other sites
young G 23 #244867 Posted January 18, 2015 Или отключить секции [Components], [Files] в основном скрипте, или отключить скрипт Components.iss. А лучше посмотреть справку, изучить всякие примеры, изучить сам язык. а как это делать (отключить скрипт Components.iss)? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #244869 Posted January 18, 2015 а как это делать (отключить скрипт Components.iss)? Удалить строку: #include "Components.iss" Quote Share this post Link to post Short link Share on other sites
young G 23 #244870 Posted January 18, 2015 Удалить строку: #include "Components.iss" Спасибо. Но у меня еще возник вопросик. Наверняка вы знаете,что файлы (картинки которые) должны быть в формате .bmp. Так вот,можно ли их с помощью "Переименовывания" изменить в данный формат? и будут ли они работать правильно? Quote Share this post Link to post Short link Share on other sites
-zav- 188 #244871 Posted January 18, 2015 Function InitializeSetup(): Boolean; begin InitializeSetup1(); InitializeSetup2(); end; Да говорю же не прокатывает так . Вот так работает: //////============== СКИН начало =================== // Импорт функции LoadVCLStyle от VclStylesInno.DLL procedure LoadVCLStyle(VClStyleFile: String); external 'LoadVCLStyleW@files:VclStylesInno.dll stdcall'; // Импорт функции UnLoadVCLStyles от VclStylesInno.DLL procedure UnLoadVCLStyles; external 'UnLoadVCLStyles@files:VclStylesInno.dll stdcall'; /////--------------------- //=============== Проверка запущена ли игра ======================= function KillTask(ExeFileName: string): Integer; external 'KillTask@files:ISTaskU.dll stdcall'; function RunTask(FileName: string; bFullpath: Boolean): Boolean; external 'RunTask@files:ISTaskU.dll stdcall'; function InitializeSetup(): Boolean; begin If RunTask('WorldOfTanks.exe', false) then begin if MsgBox('ВНИМАНИЕ!' #13 'НЕ рекомендуется устанавливать при запущенной игре.' #13 'Закрыть WorldOfTanks и продолжить установку?', mbError, mb_YesNo) = idYes then begin KillTask('WorldOfTanks.exe'); Result := True; end else Exit; end; Result := True; //end; //=============== КОНЕЦ Проверки запущена ли игра ======================= ///----- СКИН ------ //begin ExtractTemporaryFile('OrangeGraphite.vsf'); LoadVCLStyle(ExpandConstant('{tmp}\OrangeGraphite.vsf')); Result := True; end; procedure DeinitializeSetup(); begin UnLoadVCLStyles; end; ////////////////======= Конец СКИНА ====================================== А вот так нет: //=============== Проверка запущена ли игра ======================= function KillTask(ExeFileName: string): Integer; external 'KillTask@files:ISTaskU.dll stdcall'; function RunTask(FileName: string; bFullpath: Boolean): Boolean; external 'RunTask@files:ISTaskU.dll stdcall'; function InitializeSetup1(): Boolean; begin If RunTask('WorldOfTanks.exe', false) then begin if MsgBox('ВНИМАНИЕ!' #13 'НЕ рекомендуется устанавливать при запущенной игре.' #13 'Закрыть WorldOfTanks и продолжить установку?', mbError, mb_YesNo) = idYes then begin KillTask('WorldOfTanks.exe'); Result := True; end else Exit; end; Result := True; end; //=============== КОНЕЦ Проверки запущена ли игра ======================= //////============== СКИН начало =================== // Импорт функции LoadVCLStyle от VclStylesInno.DLL procedure LoadVCLStyle(VClStyleFile: String); external 'LoadVCLStyleW@files:VclStylesInno.dll stdcall'; // Импорт функции UnLoadVCLStyles от VclStylesInno.DLL procedure UnLoadVCLStyles; external 'UnLoadVCLStyles@files:VclStylesInno.dll stdcall'; function InitializeSetup2(): Boolean; begin ExtractTemporaryFile('OrangeGraphite.vsf'); LoadVCLStyle(ExpandConstant('{tmp}\OrangeGraphite.vsf')); Result := True; end; procedure DeinitializeSetup(); begin UnLoadVCLStyles; end; ///////////======= Конец СКИНА ====================================== Function InitializeSetup(): Boolean; begin InitializeSetup1(); InitializeSetup2(); end; 1 Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #244872 Posted January 18, 2015 можно ли их с помощью "Переименовывания" изменить в данный формат? и будут ли они работать правильно? Нельзя. Только через графические редакторы. Да говорю же не прокатывает так . Добавь в конец функции: Result := True; Quote Share this post Link to post Short link Share on other sites
-zav- 188 #244874 Posted January 18, 2015 Добавь в конец функции: Result := True; Имееш ввиду сюда: Function InitializeSetup(): Boolean; begin InitializeSetup1(); InitializeSetup2(); Result := True; end; Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #244875 Posted January 18, 2015 @-zav-, да. Quote Share this post Link to post Short link Share on other sites
-zav- 188 #244879 Posted January 18, 2015 Да так заработало. Спасибо.А еще дайте примерчик как через ботву вставить всего одну картинку (с координатами) например на страницу SelectDirPage.Есть несколько примеров но там что то наворочено много картинок и кнопок вперемешку... Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #244880 Posted January 18, 2015 (edited) del Edited January 18, 2015 by ♫♫♫Dark_Knight_MiX♫♫♫ Quote Share this post Link to post Short link Share on other sites
young G 23 #244886 Posted January 18, 2015 (edited) В чем тут ошибка (не показывает картинки)?: #define GameID "{5F05CE9B-7768-490E-9A71-C6R92B4EX123}" ;Ид инстолятора#define MyAppName "KPAH Mod Pack 0.8.6" ;Название инстоллятора#define MyInfoVer "2.4.124" ;Версия инсталлятора#define MyAppVer "1.0" ;Версия игры#define MyAppPublisher "EvilAlex" ;Имя компании или человека кто делал#define MyAppURL "http://www.koreanrandom.com" ;Ссылка для лого#include "Messages.iss" ;Сообщение, надписи на кнопках и т.д.[setup]AppId={{#GameID}AppName={#MyAppName}AppVersion={#MyAppVer};AppVerName={#MyAppName} {#MyAppVersion}AppPublisher={#MyAppPublisher}//====={ Ссылки }=====\\AppPublisherURL={#MyAppURL}AppSupportURL={#MyAppURL}AppUpdatesURL={#MyAppURL}//====={ Папка устанвки }=====\\;DefaultDirName={pf}\{#MyAppName}DefaultDirName={code:MyDirName}DefaultGroupName={#MyAppName}//====={ Картинки }=====\\SetupIconFile=Files\wot_ico.icoWizardSmallImageFile=Files\img2.bmpWizardImageFile=Files\img1.bmp//====={ Отключение строниц }=====\\DisableProgramGroupPage=yes//====={ Лицензия и Фак }=====\\LicenseFile=licensia.txtInfoBeforeFile=faq.rtfInfoAfterFile=credit.rtf//====={ Папка создания и название сетапа }=====\\OutputDir=.\OutputOutputBaseFilename=Setup//====={ Сжатие сетапа }=====\\InternalCompressLevel=ultra64Compression=lzma2/ultra64SolidCompression=true//====={ Основные файлы сетапа }=====\\[Files]Source: Files\logo.bmp; Flags: dontcopy noencryption noencryption[Components]Name: KMP; Description: Прицелы; Types: custom; Flags: fixedName: KMP\P; Description: 1. Прицел (корейский).; Flags: disablenouninstallwarningName: KMP\P; Description: 2. Прицел Overcross.; Flags: disablenouninstallwarningName: KMP\P; Description: 3. Прицел TAIPAN.; Flags: disablenouninstallwarningName: KMP\P; Description: 4. Прицел WoWP (green).; Flags: disablenouninstallwarningName: KMP\P; Description: 5. Прицел бирюза.; Flags: disablenouninstallwarningName: KMP\P; Description: 6. Прицел Будующего.; Flags: disablenouninstallwarningName: KMP\P; Description: 7. Прицел от Jimbo.; Flags: disablenouninstallwarning[Files]Source: "C:\Users\User\Desktop\Установщик с картинками (свой)\MODS\Прицел (корейский)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "C:\Users\User\Desktop\Установщик с картинками (свой)\MODS\Прицел Overcross\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "C:\Users\User\Desktop\Установщик с картинками (свой)\MODS\Прицел TAIPAN\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "C:\Users\User\Desktop\Установщик с картинками (свой)\MODS\Прицел WoWP (green)\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "C:\Users\User\Desktop\Установщик с картинками (свой)\MODS\Прицел бирюза\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "C:\Users\User\Desktop\Установщик с картинками (свой)\MODS\Прицел Будующего\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "C:\Users\User\Desktop\Установщик с картинками (свой)\MODS\Прицел от Jimbo\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirsSource: "C:\Users\User\Desktop\Установщик с картинками (свой)\img_mod\1.bmp"; DestDir: "{app}"; Flags: ignoreversion// Примечание: Не используйте флаги "ignoreversion" для общих системных файлов.//====={ Картинки модов }=====\\Source: img_mod\1.bmp; Flags: dontcopy noencryption noencryptionSource: img_mod\2.bmp; Flags: dontcopy noencryption noencryptionSource: img_mod\3.bmp; Flags: dontcopy noencryption noencryptionSource: img_mod\4.bmp; Flags: dontcopy noencryption noencryptionSource: img_mod\5.bmp; Flags: dontcopy noencryption noencryptionSource: img_mod\6.bmp; Flags: dontcopy noencryption noencryptionSource: img_mod\7.bmp; Flags: dontcopy noencryption noencryption//====={ Выбор языка }=====\\[Languages]Name: "eng"; MessagesFile: "compiler:Default.isl"Name: "rus"; MessagesFile: "compiler:Languages\Russian.isl" #ifdef UNICODE#define A "W"#else#define A "A"#endifconstUNDEF_INDEX = -777;ALPHA_BLEND_LEVEL = 255; // max=Byte=255WS_EX_LAYERED = $80000;WS_EX_TRANSPARENT = $20;LWA_COLORKEY = 1;LWA_ALPHA = 2;GWL_EXSTYLE = (-20);varInfoPic: TBitmapImage;LastIndex: Integer;TempPath: String;PicForm: TForm;typeCOLORREF = DWORD;function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall';function SetLayeredWindowAttributes(Hwnd: THandle; crKey: COLORREF; bAlpha: Byte; dwFlags: DWORD): Boolean; external '[email protected] stdcall';function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLong{#A}@user32.dll stdcall';function SetWindowLong(hWnd: HWND; nIndex: Integer; dwNewLong: Longint): Longint; external 'SetWindowLong{#A}@user32.dll stdcall';function SetFocus(hWnd: HWND): HWND; external '[email protected] stdcall';function MyDirName(S:String): String;varInsPath: String;er: boolean;myFile:String;beginResult:=ExpandConstant('C:\Games\World_of_Tanks\'); //если ключа нет то будем ставить сюдаer := RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', InsPath);if er and (InsPath<>'') then //если ключ существует и там что-то записаноbeginResult := InsPath;end;end;procedure LogoOnClick(Sender: TObject);var ResCode: Integer;beginShellExec('', '{#MyAppURL}', '' , '', SW_SHOW, ewNoWait, ResCode)end;procedure RedesignWizardForm;vari: integer;BtnPanel: TPanel;BtnImage: TBitmapImage;beginExtractTemporaryFile('logo.bmp')BtnPanel:=TPanel.Create(WizardForm)with BtnPanel do beginLeft:=0Top:=315Width:=179Height:=46Cursor:=crHandOnClick:=@logoOnClickParent:=WizardFormend;BtnImage:=TBitmapImage.Create(WizardForm)with BtnImage do beginAutoSize:=True;Enabled:=False;Bitmap.LoadFromFile(ExpandConstant('{tmp}')+'\logo.bmp')Parent:=BtnPanelend;with WizardForm dobeginCaption := ExpandConstant('{cm:Main}');end;with WizardForm.WizardBitmapImage dobeginWidth := ScaleX(502);end;with WizardForm.WelcomeLabel2 dobeginVisible := False;end;with WizardForm.WelcomeLabel1 dobeginVisible := False;end;with WizardForm.WizardSmallBitmapImage dobeginLeft := ScaleX(0);Width := ScaleX(502);Height := ScaleY(70);end;with WizardForm.PageDescriptionLabel dobeginVisible := False;end;with WizardForm.PageNameLabel dobeginVisible := False;end;with WizardForm.WizardBitmapImage2 dobeginWidth := ScaleX(502);end;with WizardForm.FinishedLabel dobeginVisible := False;end;with WizardForm.FinishedHeadingLabel dobeginVisible := False;end;end;procedure ShowPicHint(const PicFilePath: String);varpt: TPoint;beginif not GetCursorPos(pt) then Exit;InfoPic.Bitmap.LoadFromFile(PicFilePath);trywith PicForm dobeginSetBounds(ScaleX(pt.x + 16), ScaleY(pt.y + 7), InfoPic.Width, InfoPic.Height);Show;end;finallySetFocus(WizardForm.Handle);end;end;procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea);varUndefPic: String;beginif Index = -1 then Exit;if Index = LastIndex then Exit;trycase TNewCheckListBox(Sender).ItemCaption[index] of'1. 1. Прицел (корейский).': UndefPic := '6.bmp';'2. 2. Прицел Overcross.': UndefPic := '7.bmp';'3. 3. Прицел TAIPAN.': UndefPic := '4.bmp';'4. 4. Прицел WoWP (green).': UndefPic := '2.bmp';'5. 5. Прицел бирюза.': UndefPic := '2.bmp';'6. 6. Прицел Будующего.': UndefPic := '5.bmp';'7. 7. Прицел от Jimbo.': UndefPic := '3.bmp';elsebeginLastIndex := UNDEF_INDEX;PicForm.Hide;Exit;end;end;if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic);ShowPicHint(TempPath + UndefPic);finallyLastIndex := Index;end;end;procedure CompOnMouseLeave(Sender: TObject);beginPicForm.Hide;LastIndex := -1;end;procedure InitInfo();beginWizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove;WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave;TempPath := AddBackslash(ExpandConstant('{tmp}'));LastIndex := UNDEF_INDEX;PicForm := TForm.Create(WizardForm)with PicForm dobeginBorderStyle := bsNone;FormStyle := fsStayOnTop;InfoPic := TBitmapImage.Create(PicForm)with InfoPic dobeginParent := PicForm;AutoSize := True;end;end;SetWindowLong(PicForm.Handle, GWL_EXSTYLE, GetWindowLong(PicForm.Handle, GWL_EXSTYLE) or WS_EX_LAYERED);SetLayeredWindowAttributes(PicForm.Handle, 0, ALPHA_BLEND_LEVEL, LWA_ALPHA);end;procedure InitializeWizard();beginInitInfo();RedesignWizardForm;end;[Languages]Name: rus; MessagesFile: compiler:Languages\Russian.isl[Messages]ButtonBack=НазадButtonNext=ДалееButtonCancel=ВыходButtonInstall=УстановитьButtonFinish=ЗавершитьButtonWizardBrowse=Обзор...[CustomMessages]rus.Main=Установка - «{#MyAppName}»rus.Welcome1=rus.Welcome2=Программа установит «{#MyAppName}» на Ваш компьютер.%n%nРекомендуется закрыть антивирусные пакеты и все прочие приложения%nперед тем, как продолжить.%n%nНажмите «Далее», что бы продолжить установку,%nили «Выход», чтобы выйти из программы установки.rus.Finished1=rus.Finished2=Игра «{#MyAppName}» была успешно установлена на Ваш компьютер.%n%nДля ее запуска выберите соответствующий ярлык в меню «Пуск»%nили на Рабочем столе.%n%nНажмите «Завершить», чтобы выйти из программы установки.rus.ErrorFinished1=rus.ErrorFinished2=Установка игры «{#MyAppName}» не завершена !%n%nУстановка не была завершена.%n%nПожалуйста, устраните проблему и запустите установку снова.rus.SelectDir1=Если вы хотите выбрать другую папку, нажмите кнопку «Обзор».rus.SelectDir2=Программа создаст ярлыки в следующей папке меню «Пуск».rus.SelectGroup1=Выберит папку в меню «Пуск».%nНажмите кнопку «Обзор» для выбора.rus.SelectGroup2=rus.IconsCheck=Создать ярлык в меню «Пуск» ?rus.DesktopTasks=Создать значок на рабочем столе ?rus.DPO=Дополнительное программное обеспечение:rus.DirectX= Установить DirectXrus.VCRedist= Установить Visual++rus.SelectTasks=rus.ExtractedFile=Извлекается файл:rus.ExtractedDire=Директория:rus.Extracted=Распаковка архивов...rus.CancelButton=Отменить распаковкуrus.Error=Ошибка распаковки!rus.Completion=Завершение установки...rus.StatusRollback=Пожалуйста ждите!%n%nИдет откат изменений...rus.ElapsedTime=Прошло:rus.RemainingTime=Осталось времени:rus.EstimatedTime=Всего:rus.AllElapsedTime=Время установки:rus.Doppo1=Пожалуйста ждите!%n%n%n%n%n%n%n%nОбновление дополнительного ПО...%n%nУстановка DirectX...rus.Doppo2=Пожалуйста ждите!%n%n%n%n%n%n%n%nОбновление дополнительного ПО...%n%nУстановка VCRedist...//rus.UninstalledAll=Ну и нахрена удалил? Edited January 18, 2015 by _NesKwi_ Quote Share this post Link to post Short link Share on other sites
IntelXeon 10 #244887 Posted January 18, 2015 Сорри если пишу не сюда, но может парни подскажите! Скачал сборку модпака от ПроТанки, но не хочу ее устанавливать... знаю что можно распаковать *.ехе инсталятор программами, все уже перепробовал не получается, может подскажите чем можно распаковать *.ехе?! Quote Share this post Link to post Short link Share on other sites