Kotyarko_O Posted January 18, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
young G Posted January 18, 2015 Share Posted January 18, 2015 Что нужно сделать,чтобы не показывалось 2 раза одно и тоже? @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted January 18, 2015 Share Posted January 18, 2015 Что нужно сделать,чтобы не показывалось 2 раза одно и тоже? Показывайте код. @ Quote Link to comment Short link Share on other sites More sharing options...
young G Posted January 18, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted January 18, 2015 Share Posted January 18, 2015 (edited) #include "Components.iss" Что там? Edited January 18, 2015 by Kotyarko_O @ Quote Link to comment Short link Share on other sites More sharing options...
young G Posted January 18, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted January 18, 2015 Share Posted January 18, 2015 @_NesKwi_, ну вот вам и ответ. @ Quote Link to comment Short link Share on other sites More sharing options...
young G Posted January 18, 2015 Share Posted January 18, 2015 (edited) @_NesKwi_, ну вот вам и ответ. а что именно нужно удалить,чтобы такого не было? Edited January 18, 2015 by _NesKwi_ @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted January 18, 2015 Share Posted January 18, 2015 а что именно нужно удалить,чтобы такого не было? Или отключить секции [Components], [Files] в основном скрипте, или отключить скрипт Components.iss. А лучше посмотреть справку, изучить всякие примеры, изучить сам язык. @ Quote Link to comment Short link Share on other sites More sharing options...
young G Posted January 18, 2015 Share Posted January 18, 2015 Или отключить секции [Components], [Files] в основном скрипте, или отключить скрипт Components.iss. А лучше посмотреть справку, изучить всякие примеры, изучить сам язык. а как это делать (отключить скрипт Components.iss)? @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted January 18, 2015 Share Posted January 18, 2015 а как это делать (отключить скрипт Components.iss)? Удалить строку: #include "Components.iss" @ Quote Link to comment Short link Share on other sites More sharing options...
young G Posted January 18, 2015 Share Posted January 18, 2015 Удалить строку: #include "Components.iss" Спасибо. Но у меня еще возник вопросик. Наверняка вы знаете,что файлы (картинки которые) должны быть в формате .bmp. Так вот,можно ли их с помощью "Переименовывания" изменить в данный формат? и будут ли они работать правильно? @ Quote Link to comment Short link Share on other sites More sharing options...
-zav- Posted January 18, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted January 18, 2015 Share Posted January 18, 2015 можно ли их с помощью "Переименовывания" изменить в данный формат? и будут ли они работать правильно? Нельзя. Только через графические редакторы. Да говорю же не прокатывает так . Добавь в конец функции: Result := True; @ Quote Link to comment Short link Share on other sites More sharing options...
-zav- Posted January 18, 2015 Share Posted January 18, 2015 Добавь в конец функции: Result := True; Имееш ввиду сюда: Function InitializeSetup(): Boolean; begin InitializeSetup1(); InitializeSetup2(); Result := True; end; @ Quote Link to comment Short link Share on other sites More sharing options...
Kotyarko_O Posted January 18, 2015 Share Posted January 18, 2015 @-zav-, да. @ Quote Link to comment Short link Share on other sites More sharing options...
-zav- Posted January 18, 2015 Share Posted January 18, 2015 Да так заработало. Спасибо.А еще дайте примерчик как через ботву вставить всего одну картинку (с координатами) например на страницу SelectDirPage.Есть несколько примеров но там что то наворочено много картинок и кнопок вперемешку... @ Quote Link to comment Short link Share on other sites More sharing options...
Ekspoint Posted January 18, 2015 Share Posted January 18, 2015 (edited) del Edited January 18, 2015 by ♫♫♫Dark_Knight_MiX♫♫♫ @ Quote Link to comment Short link Share on other sites More sharing options...
young G Posted January 18, 2015 Share 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 Link to comment Short link Share on other sites More sharing options...
IntelXeon Posted January 18, 2015 Share Posted January 18, 2015 Сорри если пишу не сюда, но может парни подскажите! Скачал сборку модпака от ПроТанки, но не хочу ее устанавливать... знаю что можно распаковать *.ехе инсталятор программами, все уже перепробовал не получается, может подскажите чем можно распаковать *.ехе?! @ Quote Link to comment Short link Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.