Jump to content
Korean Random
EvilAlex

Создание инсталляторов для модпаков на базе Inno Setup

Recommended Posts

всем привет. подскажите а почему с этим кодом скачивает но не распаковывает? 

#include "Embedded\idp.iss"
#define MyAppName "XXX-удалить"


[Files]
Source: "Embedded\idp.dll"; Flags: dontcopy;
Source: "Embedded\7zA.exe"; Flags: dontcopy;

[Types]
Name: "full"; Description: "Full installation"; Flags: iscustom;

[Components]
Name: "Bla"; Description: "Bla-bla-bla"; Types: full;
Name: "Bla\1"; Description: "балабала"; Types: full;
Name: "Bla\2"; Description: "ЧТО ТО"; Types: full;


[code]
procedure ExtractResourcesFile(UnPack, Files, ToPlace: String);
var
  ResultCode: Integer;
begin
  Exec(UnPack, 'x -y' + ' ' + Files + ' ' + '-o' + ToPlace, '', SW_Show, ewWaitUntilTerminated, ResultCode);
end;

procedure ExtractResources;
begin
  ExtractTemporaryFile('7zA.exe');
  CreateDir(ExpandConstant('{app}\res_mods'));
  CreateDir(ExpandConstant('{app}\{#MyAppName}'));
  CreateDir(ExpandConstant('{app}\{#MyAppName}'));
  FileCopy(ExpandConstant('{tmp}\7zA.exe'), ExpandConstant('{app}\{#MyAppName}\7zA.exe'), False);

  If (IsComponentSelected('Bla\1')) and (FileExists(ExpandConstant('{app}\{#MyAppName}\попадание без зассвета.7z'))) then
begin
  ExtractResourcesFile(ExpandConstant('{app}\{#MyAppName}\7zA.exe'), ExpandConstant('{app}\{#MyAppName}\попадание без зассвета.7z'), ExpandConstant('{app}\res_mods'));
end;
  If (IsComponentSelected('Bla\2')) and (FileExists(ExpandConstant('{app}\{#MyAppName}\hangar_2.7z'))) then
begin
  ExtractResourcesFile(ExpandConstant('{app}\{#MyAppName}\7zA.exe'), ExpandConstant('{app}\{#MyAppName}\hangar_2.7z'), ExpandConstant('{app}\res_mods'));
end;
  DelTree(ExpandConstant('{app}\{#MyAppName}'), True, True, True);
end;

procedure CurStepChanged1(CurStep: TSetupStep);
begin
  If CurStep = ssPostInstall then
begin
  ExtractResources;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
    if CurPageID = wpReady then
begin
    if IsComponentSelected('Bla\1') then
begin
    CreateDir(ExpandConstant('{app}\{#MyAppName}'));
    CreateDir(ExpandConstant('{app}\{#MyAppName}'));
    idpAddFile('http://236703.selcdn.ru/777/попадание без зассвета.7z', ExpandConstant('{app}\{#MyAppName}\попадание без зассвета.7z'));
end;
    if IsComponentSelected('Bla\2') then
begin
    CreateDir(ExpandConstant('{app}\{#MyAppName}'));
    CreateDir(ExpandConstant('{app}\{#MyAppName}'));
    idpAddFile('http://proreduceri.tk/xvmfresh.7z', ExpandConstant('{app}\{#MyAppName}\hangar_2.7z'));
end;
end;
end;



procedure IDPdownload;
begin
  idpDownloadAfter(wpReady);
end; 
 подключал  к основному скрипту через #include. там же в InitializeWizard дописана строчка - idpDownloadAfter(wpInstalling);так надо еще и функцию распаковки прикрепить... Вот примерно такой файл надо написать и подключить его через #include  к основному скрипту в нужном месте...
[Files]
Source: "скрипты инсталлятора\7zA.exe"; Flags: dontcopy noencryption;
[code]
procedure ExtractResources;
var
  ResultCode: Integer;
begin
  ExtractTemporaryFile('7zA.exe');
  CreateDir(ExpandConstant('{app}\res_mods'));
  CreateDir(ExpandConstant('{app}\res_mods\{#Patch}'));
  FileCopy(ExpandConstant('{tmp}\7zA.exe'), ExpandConstant('{app}\7zA.exe'), False);
  WizardForm.StatusLabel.Caption:='Распаковка скаченных модов...';
  WizardForm.StatusLabel.Transparent:=True;
//"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""//
 if IsComponentSelected('scurki') and (FileExists(ExpandConstant('{app}\scurki.7z'))) then
begin
  Exec(ExpandConstant('{app}\7zA.exe'), 'x -y' + ' ' + Expandconstant('{app}\scurki.7z') + ' ' + '-o' + Expandconstant('{app}\res_mods\{#Patch}'), '', SW_Show, ewWaitUntilTerminated, ResultCode);
  DeleteFile(ExpandConstant('{app}\vehicles.7z'));
end;
//-------------//
  DeleteFile(ExpandConstant('{app}\7zA.exe'));
end;
//"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""//
procedure jumpModsFromNetworkChangeds(CurStep: TSetupStep);
begin
  If CurStep=ssPostInstall then
begin
  ExtractResources;
end;
end;
//"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""//
procedure jumpModsFromNetworkChanged(CurPageID: Integer);
begin
    if CurPageID = wpready then
begin
//---//
if IsComponentSelected('scurki') then
begin
    idpAddFile('http://sait.com/scurki.7z', ExpandConstant('{app}\scurki.7z'));
end;
end;
end;
//"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""//
procedure jumpModsFromNetwork;
begin
  idpDownloadAfter(wpready);
end;

Share this post


Link to post

Short link
Share on other sites

вот так у себя прописал...

#include "Embedded\idp.iss"
#define MyAppName "ххх-удалить"


[Files]
Source: "Embedded\idp.dll"; Flags: dontcopy noencryption;
Source: "Embedded\7zA.exe"; Flags: dontcopy noencryption;


[Components]
Name: "Bla"; Description: "Bla-bla-bla"; Types: full;
Name: "Bla\1"; Description: "балабала"; Types: full;
Name: "Bla\2"; Description: "ЧТО ТО"; Types: full;


[Code]
procedure ExtractResources;
var
  ResultCode: Integer;
begin
  ExtractTemporaryFile('7zA.exe');
  CreateDir(ExpandConstant('{app}\res_mods'));
  CreateDir(ExpandConstant('{app}\res_mods\{#Patch}'));
  FileCopy(ExpandConstant('{tmp}\7zA.exe'), ExpandConstant('{app}\7zA.exe'), False);
  WizardForm.StatusLabel.Caption:='Распаковка скаченных модов...';
  WizardForm.StatusLabel.Transparent:=True;
//"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""//
 if IsComponentSelected('Bla\1') and (FileExists(ExpandConstant('{app}\попадание без зассвета.7z'))) then
begin
  Exec(ExpandConstant('{app}\7zA.exe'), 'x -y' + ' ' + Expandconstant('{app}\попадание без зассвета.7z') + ' ' + '-o' + Expandconstant('{app}\res_mods\{#Patch}'), '', SW_Show, ewWaitUntilTerminated, ResultCode);
  DeleteFile(ExpandConstant('{app}\попадание без зассвета.7z'));
end;
//-------------//
  DeleteFile(ExpandConstant('{app}\7zA.exe'));
end;
//"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""//
procedure jumpModsFromNetworkChangeds(CurStep: TSetupStep);
begin
  If CurStep=ssPostInstall then
begin
  ExtractResources;
end;
end;
//"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""//
procedure jumpModsFromNetworkChanged(CurPageID: Integer);
begin
    if CurPageID = wpready then
begin
//---//
if IsComponentSelected('Bla\1') then
begin
    idpAddFile('http://236703.selcdn.ru/777/попадание без зассвета.7z', ExpandConstant('{app}\попадание без зассвета.7z'));
end;
end;
end;
//"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""//
procedure jumpModsFromNetwork;
begin
  idpDownloadAfter(wpready);
end; 

 

подключил этот скрипт к основному #include. теперь и не скачивает даже(

Share this post


Link to post

Short link
Share on other sites

Пояснять долго, но не правильно сделал, ты ничего не подключил, а вмонтировал и не правильно!...

 

Что вы мучаетесь изобретая велосипед постоянно, возьмите исходники от КотяркО они в свободном доступе и сделайте себе нормальный модпак!!!

Читайте справку вы просто я смотрю методом тыка всё делаете...!!!


 

Edited by Nowik1971
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

Пояснять долго, но не правильно сделал, ты ничего не подключил, а вмонтировал и не правильно!... Что вы мучаетесь изобретая велосипед постоянно, возьмите исходники от КотяркО они в свободном доступе и сделайте себе нормальный модпак!!!

вот так у себя прописал...

 

подключил этот скрипт к основному #include. теперь и не скачивает даже(

 

 

так и понял что не правильно что то)))) ладно по любому спасибо тебе. то что я не догоняю не твоя вина, главное что ты и мне и всем помогаешь!!! на счет методов тыка то тут ты прав  :heh:

Edited by ЛОМ

Share this post


Link to post

Short link
Share on other sites

вот что я не так делаю? вот скрипт..

#define Patch               "0.9.19.0.2"
#define MyAppName "777"
#define MyAppVersion "1.1"
#include "install_script.iss"



[Setup]
AppName="777"
AppVersion=1.0
DefaultDirName=C:\Games\World_of_Tanks\
AppendDefaultDirName=no
DirExistsWarning=no
DisableProgramGroupPage=yes
OutputBaseFilename=777
Compression=lzma
SolidCompression=yes

[Types]
Name: "full"; Description: "Полная установка"; Flags: iscustom;

[CustomMessages]
SoundCtrlButtonCaptionSoundOn=Вкл Музло
SoundCtrlButtonCaptionSoundOff=Вык Музло


[Files]
//////////////////////////////////////////////////////////////////////////////////////////////////ПАНЕЛИ ПОВРЕЖДЕНИЙ  BBBBBBBB  ////////////////

Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\1 Панель повреждений_Gambiter\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\1;
//Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\2 Панель повреждений _bes_1\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\2;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\3 Панель повреждений_zayaz\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\3;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\4 Панель повреждений минималистичная\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\4;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\5 Панель Bionick для ноутбуков от Bionick + Andre_V\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\5;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\6 Панель синяя от Dellux + _P_H_A_R_A_O_N_+ Andre_V\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\6;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\7 Панель из серии Октагон\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\7;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\8 Панель повреждений Warhammer\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\8;
; Примечание: Не используйте "Flags: ignoreversion" для системных файлов


[Components]
Name: "KMP"; Description: "ПАНЕЛИ ПОВРЕЖДЕНИЙ  ®"; Flags: disablenouninstallwarning;
Name: "B\1"; Description: ". панель повреждений с таймером ремонта от Andre_V \ GambitER"; Flags: exclusive disablenouninstallwarning
//Name: "B\2"; Description: ". панель повреждений _bes_1"; Flags: exclusive disablenouninstallwarning
Name: "B\3"; Description: ". панель повреждений _ Zayaz"; Flags: exclusive disablenouninstallwarning
Name: "B\4"; Description: ". панель повреждений минималистичная от Marsoff+Dellux+Andre_V"; Flags: exclusive disablenouninstallwarning
Name: "B\5"; Description: ". панель Bionick для ноутбуков от Bionick + Andre_V"; Flags: exclusive disablenouninstallwarning
Name: "B\6"; Description: ". панель синяя от Dellux + _P_H_A_R_A_O_N_+ Andre_V"; Flags: exclusive disablenouninstallwarning
Name: "B\7"; Description: ". панель из серии Октагон"; Flags: exclusive disablenouninstallwarning
Name: "B\8"; Description: ". панель повреждений Warhammer"; Flags: exclusive disablenouninstallwarning 

 

к нему через #include подключил вот этот скрипт install_script.iss

#include "Embedded\idp.iss"





[Files]
Source: "Embedded\idp.dll"; Flags: dontcopy;
Source: "Embedded\7zA.exe"; Flags: dontcopy;



[Components]
Name: "Bla"; Description: "Bla-bla-bla"; Types: full;
Name: "Bla\1"; Description: "дамаг анонсер в ресмодс.7z"; Types: full;
Name: "Bla\2"; Description: "Bla-bla-bla-bla-bla"; Types: full;

[Code]


/// --- UnPack Begin --- ///

procedure ExtractResources();
var
  ResultCode: Integer;
begin
  ExtractTemporaryFile('7zA.exe');
  CreateDir(ExpandConstant('{app}\7zA_Files'));
  CreateDir(ExpandConstant('{app}\res_mods'));
  FileCopy(ExpandConstant('{tmp}\7zA.exe'), ExpandConstant('{app}\7zA_Files\7zA.exe'), False);

  If (IsComponentSelected('Bla\1')) and (FileExists(ExpandConstant('{app}\дамаг анонсер в ресмодс.7z'))) then
begin
  Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\дамаг анонсер в ресмодс.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode);
  DeleteFile(ExpandConstant('{app}\дамаг анонсер в ресмодс.7z'));
end;

  If (IsComponentSelected('Bla\2')) and (FileExists(ExpandConstant('{app}\hangar_2.7z'))) then
begin
  Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\hangar_2.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode);
  DeleteFile(ExpandConstant('{app}\hangar_2.7z'));
end;

  DelTree(ExpandConstant('{app}\7zA_Files'), True, True, True);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  If CurStep=ssDone then
begin
  ExtractResources();
end;
end;


/// --- UnPack End --- ///

procedure CurPageChanged(CurPageID: Integer);
begin
    if CurPageID = wpInstalling then
begin
    if IsComponentSelected('Bla\1') then
begin
    idpAddFile('http://236703.selcdn.ru/777/дамаг анонсер в ресмодс.7z', ExpandConstant('{app}\дамаг анонсер в ресмодс.7z'));
end;
    if IsComponentSelected('Bla\2') then
begin
    idpAddFile('http://www.com/hangar_2.7z', ExpandConstant('{app}\hangar_2.7z'));
end;
end;
end;



procedure InitializeWizard();
begin
  idpDownloadAfter(wpInstalling);
end; 

 

в итоге... архив скачивает и кидает в корень игры ( вроде так и должно быть ), но  когда нажимаешь закрыть установщик то он просто удаляет этот архив  но не рнаспаковывает и не устанавливает (

Edited by ЛОМ

Share this post


Link to post

Short link
Share on other sites

вот что я не так делаю? вот скрипт..

#define Patch               "0.9.19.0.2"
#define MyAppName "777"
#define MyAppVersion "1.1"
#include "install_script.iss"



[Setup]
AppName="777"
AppVersion=1.0
DefaultDirName=C:\Games\World_of_Tanks\
AppendDefaultDirName=no
DirExistsWarning=no
DisableProgramGroupPage=yes
OutputBaseFilename=777
Compression=lzma
SolidCompression=yes

[Types]
Name: "full"; Description: "Полная установка"; Flags: iscustom;

[CustomMessages]
SoundCtrlButtonCaptionSoundOn=Вкл Музло
SoundCtrlButtonCaptionSoundOff=Вык Музло


[Files]
//////////////////////////////////////////////////////////////////////////////////////////////////ПАНЕЛИ ПОВРЕЖДЕНИЙ  BBBBBBBB  ////////////////

Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\1 Панель повреждений_Gambiter\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\1;
//Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\2 Панель повреждений _bes_1\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\2;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\3 Панель повреждений_zayaz\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\3;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\4 Панель повреждений минималистичная\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\4;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\5 Панель Bionick для ноутбуков от Bionick + Andre_V\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\5;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\6 Панель синяя от Dellux + _P_H_A_R_A_O_N_+ Andre_V\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\6;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\7 Панель из серии Октагон\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\7;
Source: "F:\А ДЛЯ СБОРКИ\ЧИТЫ И МОДЫ\ПАНЕЛИ ПОВРЕЖДЕНИЙ\8 Панель повреждений Warhammer\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Components: B\8;
; Примечание: Не используйте "Flags: ignoreversion" для системных файлов


[Components]
Name: "KMP"; Description: "ПАНЕЛИ ПОВРЕЖДЕНИЙ  ®"; Flags: disablenouninstallwarning;
Name: "B\1"; Description: ". панель повреждений с таймером ремонта от Andre_V \ GambitER"; Flags: exclusive disablenouninstallwarning
//Name: "B\2"; Description: ". панель повреждений _bes_1"; Flags: exclusive disablenouninstallwarning
Name: "B\3"; Description: ". панель повреждений _ Zayaz"; Flags: exclusive disablenouninstallwarning
Name: "B\4"; Description: ". панель повреждений минималистичная от Marsoff+Dellux+Andre_V"; Flags: exclusive disablenouninstallwarning
Name: "B\5"; Description: ". панель Bionick для ноутбуков от Bionick + Andre_V"; Flags: exclusive disablenouninstallwarning
Name: "B\6"; Description: ". панель синяя от Dellux + _P_H_A_R_A_O_N_+ Andre_V"; Flags: exclusive disablenouninstallwarning
Name: "B\7"; Description: ". панель из серии Октагон"; Flags: exclusive disablenouninstallwarning
Name: "B\8"; Description: ". панель повреждений Warhammer"; Flags: exclusive disablenouninstallwarning 

 

к нему через #include подключил вот этот скрипт install_script.iss

#include "Embedded\idp.iss"





[Files]
Source: "Embedded\idp.dll"; Flags: dontcopy;
Source: "Embedded\7zA.exe"; Flags: dontcopy;



[Components]
Name: "Bla"; Description: "Bla-bla-bla"; Types: full;
Name: "Bla\1"; Description: "дамаг анонсер в ресмодс.7z"; Types: full;
Name: "Bla\2"; Description: "Bla-bla-bla-bla-bla"; Types: full;

[Code]


/// --- UnPack Begin --- ///

procedure ExtractResources();
var
  ResultCode: Integer;
begin
  ExtractTemporaryFile('7zA.exe');
  CreateDir(ExpandConstant('{app}\7zA_Files'));
  CreateDir(ExpandConstant('{app}\res_mods'));
  FileCopy(ExpandConstant('{tmp}\7zA.exe'), ExpandConstant('{app}\7zA_Files\7zA.exe'), False);

  If (IsComponentSelected('Bla\1')) and (FileExists(ExpandConstant('{app}\дамаг анонсер в ресмодс.7z'))) then
begin
  Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\дамаг анонсер в ресмодс.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode);
  DeleteFile(ExpandConstant('{app}\дамаг анонсер в ресмодс.7z'));
end;

  If (IsComponentSelected('Bla\2')) and (FileExists(ExpandConstant('{app}\hangar_2.7z'))) then
begin
  Exec(ExpandConstant('{app}\7zA_Files\7zA.exe'), 'x -y ..\hangar_2.7z -o..\res_mods', '', SW_Hide, ewWaitUntilTerminated, ResultCode);
  DeleteFile(ExpandConstant('{app}\hangar_2.7z'));
end;

  DelTree(ExpandConstant('{app}\7zA_Files'), True, True, True);
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  If CurStep=ssDone then
begin
  ExtractResources();
end;
end;


/// --- UnPack End --- ///

procedure CurPageChanged(CurPageID: Integer);
begin
    if CurPageID = wpInstalling then
begin
    if IsComponentSelected('Bla\1') then
begin
    idpAddFile('http://236703.selcdn.ru/777/дамаг анонсер в ресмодс.7z', ExpandConstant('{app}\дамаг анонсер в ресмодс.7z'));
end;
    if IsComponentSelected('Bla\2') then
begin
    idpAddFile('http://www.com/hangar_2.7z', ExpandConstant('{app}\hangar_2.7z'));
end;
end;
end;



procedure InitializeWizard();
begin
  idpDownloadAfter(wpInstalling);
end; 

 

в итоге... архив скачивает и кидает в корень игры ( вроде так и должно быть ), но  когда нажимаешь закрыть установщик то он просто удаляет этот архив  но не рнаспаковывает и не устанавливает (

Вот посмотри все у КотяркО есть  в свободном доступе исходники модпака https://bitbucket.org/Kotyarko_O/ скачивай смотри и тренируйся..... Там все по людски сделано.... Супермодпак...

Edited by Nowik1971
  • Downvote 2

Share this post


Link to post

Short link
Share on other sites

кто нибудь подскажет скрипт проверки версии и скачки модпака через сам модпак

я знаю что у котярко есть но я выдернуть скрипт не могу с файлами может есть у кого отдельно

post-36801-0-15790800-1497498781_thumb.png

Edited by sergy2010

Share this post


Link to post

Short link
Share on other sites

кто нибудь подскажет скрипт проверки версии и скачки модпака через сам модпак

я знаю что у котярко есть но я выдернуть скрипт не могу с файлами может есть у кого отдельно

Вот валялся старый скрипт с этого сайта уже и не помню кто и когда его мне давал... Хотя у КотяркО там настолько все просто и понятно, что просто ужас и уж если ты не смог с его пака выдернуть, то учи все заново и читай справку, и этот скрипт тебе не поможет, т.к. его то же надо знать как и куда сунуть...

#define GameName "Sacred"
#define modpack_versionInfo "101"

[Setup]
AppName={#GameName}
AppVerName={#GameName}
DefaultDirName={pf}\{#GameName}
AppPublisher=troyan

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"



[CustomMessages]
russian.Modpack=Модпак
russian.SupportForum=Тема на koreanrandom.com
russian.ForumLink=http://www.koreanrandom.com
russian.UpdatedLabel=Обновлено:
russian.WOT_version=Версия WOT:
russian.modpack_version=Версия модпака:
russian.installer_version=wotunion installer
russian.CheckingActualModpackVersionLabel=Проверка обновлений модпака...
russian.CannotCheckUpdate=Ошибка при проверке обновлений. Далее - для установки
russian.NoUpdates=Обновлений не найдено. Далее - для установки
russian.ErrorWhileOpeningUpdatePage=Ошибка при переходе на страницу загрузки
russian.AllIsReadyForInstall=Все готово для установки. Нажмите Далее для продолжения
russian.UpdateFound=найдено    
russian.httpVersion=http://proreduceri.tk/version.txt
russian.httpMsg=http://proreduceri.tk/msg.txt
russian.WOT_NotFound=Клиент World of Tanks не обнаружен. Установка будет прервана.
russian.for=для
russian.CheckAccess=Установка невозможна. Проверьте наличие прав доступа к файлам и папкам установленного клиента World of Tanks, закройте программы, которые используют папки и/или файли клиента World of Tanks, или запустите инсталлятор модпака с правами администратора.
russian.MustUninstallBefore=Установка невозможна. Воспользуйтесь деинсталлятором модпака для удаления предыдущей установки модпака (Пуск - Программы - wotunion modpack - Удалить wotunion modpack).
russian.NewVersionFound=Доступна новая версия модпака:
russian.GoToLink=Перейти по ссылке в браузере для загрузки ?
russian.CheckAccessUninstall=Деинсталляция невозможна. Проверьте наличие прав доступа к файлам и папкам установленного клиента World of Tanks закройте программы, которые используют папки и/или файлы клиента World of Tanks,  или запустите деинсталлятор модпака с правами администратора.



[Code]
 var
 CheckingActualModpackVersionLabel: TLabel;
 WelcomePageID: Integer;
 ActualVersion: String;
 ActualVersionLongint: Longint;
 InstallVersionLongint: Longint;
 ActualVersionMsg: String;
 ReadyToInstall: Boolean;
 TerminateInstall: Boolean;

function DownloadFile(const AURL: string; var AResponse: string): Boolean;
 var
  WinHttpRequest: Variant;
   begin
    Result := False;
     try
      WinHttpRequest := CreateOleObject('WinHttp.WinHttpRequest.5.1');
      WinHttpRequest.Open('GET', AURL, False);
      WinHttpRequest.Send;
      AResponse := WinHttpRequest.ResponseText;
     Case WinHttpRequest.Status of
      '200':
       begin
        Result := True;
       end;
     end;
     except
      ReadyToInstall:=True;
      AResponse := GetExceptionMessage;
      CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:CannotCheckUpdate}');
      Result := False;
     end;
   end;

procedure CurPageChanged(CurPageID: Integer);
 begin
  if CurPageID = wpSelectDir then
   begin

   end;
    WizardForm.InnerNotebook.Visible := CurPageID <> WelcomePageID;
 end;

function Form_CreatePage(PreviousPageId: Integer): Integer;
 var
  Page: TWizardPage;
   begin
    Page := CreateCustomPage(PreviousPageId, '', '');
    WelcomePageID := Page.ID;
    CheckingActualModpackVersionLabel := TLabel.Create(WizardForm);
     with CheckingActualModpackVersionLabel  do
      begin
       Parent := WizardForm.InnerPage;
       Visible:=True;
       Left := ScaleX(5);
       Top := ScaleY(292);
       Font.Color:= clBlack;
      end;
     Result := Page.ID;
   end;
  Procedure ForumLinkOnClick (Sender: TObject);
 var
  ErrorCode: Integer;
   Begin
    ShellExec ('open', ExpandConstant('{cm:ForumLink}'),'','', SW_SHOWNORMAL, ewNoWait, ErrorCode);
   end;

procedure InitializeWizard();
   begin
   Form_CreatePage(wpWelcome);

    with WizardForm.PageDescriptionLabel do
     begin
      Visible := False;
     end;
    with WizardForm.PageNameLabel do
     begin
      Visible := False;
     end;
  end;

function CheckUpdates():Boolean;
 var ErrorCode: Integer;
  begin
   if ReadyToInstall=False then
    begin
     CheckingActualModpackVersionLabel.Visible:=True;
     CheckingActualModpackVersionLabel.Caption := ExpandConstant('{cm:CheckingActualModpackVersionLabel}');
      if ((DownloadFile(ExpandConstant('{cm:httpVersion}'), ActualVersion)=True) and  (DownloadFile(ExpandConstant('{cm:httpMsg}'), ActualVersionMsg)=True)) then
       begin
        if (StrToIntDef(ActualVersion, ActualVersionLongint)) > (StrToIntDef('{#modpack_versionInfo}', InstallVersionLongint)) then
         begin
          CheckingActualModpackVersionLabel.Caption := CheckingActualModpackVersionLabel.Caption + ExpandConstant('{cm:UpdateFound}');
           if MsgBox(ExpandConstant('{cm:NewVersionFound}') + ActualVersionMsg + ExpandConstant('{cm:GoToLink}'), mbConfirmation, MB_YESNO) = IDYES then
            begin
             If not ShellExec('', ExpandConstant('{cm:ForumLink}'), '', '', SW_SHOW, ewNoWait, ErrorCode) then
              begin
               CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:ErrorWhileOpeningUpdatePage}');
               ReadyToInstall:=True;
               Result:=False;
              end
              else
               begin
                Result:=False;
                TerminateInstall:=True;
                WizardForm.Close;
              end;
            end
            else
             begin
              CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:AllIsReadyForInstall}');
              ReadyToInstall:=True;
              Result:=False;
            end;
         end
         else
          begin
           CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:NoUpdates}');
           ReadyToInstall:=True;
           Result:=False;
         end;
       end
       else
        begin
         CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:CannotCheckUpdate}');
         ReadyToInstall:=True;
         Result:=False;
       end;
    end
    else
     begin
      Result:=True;
    end;
  end;

function NextButtonClick(CurPageID: Integer): Boolean;
 begin
  if CurPageID <> WelcomePageID then
   begin
    Result:=True;
   end
   else
    begin
     Result:=CheckUpdates;
   end;
 end;

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
 begin
  if ((CurPageID=WelcomePageID) and (TerminateInstall=True)) then  Confirm := False;
 end; 

Скачай не модпак его, а исходники, я же выше ссылку  дал на исходники и модпак, так не модпак, а исходники скачай, там все скрипты лежат, только без модов вот и все!!!

Edited by Nowik1971

Share this post


Link to post

Short link
Share on other sites

Вот валялся старый скрипт с этого сайта уже и не помню кто и когда его мне давал... Хотя у КотяркО там настолько все просто и понятно, что просто ужас и уж если ты не смог с его пака выдернуть, то учи все заново и читай справку, и этот скрипт тебе не поможет, т.к. его то же надо знать как и куда сунуть...

#define GameName "Sacred"
#define modpack_versionInfo "101"

[Setup]
AppName={#GameName}
AppVerName={#GameName}
DefaultDirName={pf}\{#GameName}
AppPublisher=troyan

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"



[CustomMessages]
russian.Modpack=Модпак
russian.SupportForum=Тема на koreanrandom.com
russian.ForumLink=http://www.koreanrandom.com
russian.UpdatedLabel=Обновлено:
russian.WOT_version=Версия WOT:
russian.modpack_version=Версия модпака:
russian.installer_version=wotunion installer
russian.CheckingActualModpackVersionLabel=Проверка обновлений модпака...
russian.CannotCheckUpdate=Ошибка при проверке обновлений. Далее - для установки
russian.NoUpdates=Обновлений не найдено. Далее - для установки
russian.ErrorWhileOpeningUpdatePage=Ошибка при переходе на страницу загрузки
russian.AllIsReadyForInstall=Все готово для установки. Нажмите Далее для продолжения
russian.UpdateFound=найдено    
russian.httpVersion=http://proreduceri.tk/version.txt
russian.httpMsg=http://proreduceri.tk/msg.txt
russian.WOT_NotFound=Клиент World of Tanks не обнаружен. Установка будет прервана.
russian.for=для
russian.CheckAccess=Установка невозможна. Проверьте наличие прав доступа к файлам и папкам установленного клиента World of Tanks, закройте программы, которые используют папки и/или файли клиента World of Tanks, или запустите инсталлятор модпака с правами администратора.
russian.MustUninstallBefore=Установка невозможна. Воспользуйтесь деинсталлятором модпака для удаления предыдущей установки модпака (Пуск - Программы - wotunion modpack - Удалить wotunion modpack).
russian.NewVersionFound=Доступна новая версия модпака:
russian.GoToLink=Перейти по ссылке в браузере для загрузки ?
russian.CheckAccessUninstall=Деинсталляция невозможна. Проверьте наличие прав доступа к файлам и папкам установленного клиента World of Tanks закройте программы, которые используют папки и/или файлы клиента World of Tanks,  или запустите деинсталлятор модпака с правами администратора.



[Code]
 var
 CheckingActualModpackVersionLabel: TLabel;
 WelcomePageID: Integer;
 ActualVersion: String;
 ActualVersionLongint: Longint;
 InstallVersionLongint: Longint;
 ActualVersionMsg: String;
 ReadyToInstall: Boolean;
 TerminateInstall: Boolean;

function DownloadFile(const AURL: string; var AResponse: string): Boolean;
 var
  WinHttpRequest: Variant;
   begin
    Result := False;
     try
      WinHttpRequest := CreateOleObject('WinHttp.WinHttpRequest.5.1');
      WinHttpRequest.Open('GET', AURL, False);
      WinHttpRequest.Send;
      AResponse := WinHttpRequest.ResponseText;
     Case WinHttpRequest.Status of
      '200':
       begin
        Result := True;
       end;
     end;
     except
      ReadyToInstall:=True;
      AResponse := GetExceptionMessage;
      CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:CannotCheckUpdate}');
      Result := False;
     end;
   end;

procedure CurPageChanged(CurPageID: Integer);
 begin
  if CurPageID = wpSelectDir then
   begin

   end;
    WizardForm.InnerNotebook.Visible := CurPageID <> WelcomePageID;
 end;

function Form_CreatePage(PreviousPageId: Integer): Integer;
 var
  Page: TWizardPage;
   begin
    Page := CreateCustomPage(PreviousPageId, '', '');
    WelcomePageID := Page.ID;
    CheckingActualModpackVersionLabel := TLabel.Create(WizardForm);
     with CheckingActualModpackVersionLabel  do
      begin
       Parent := WizardForm.InnerPage;
       Visible:=True;
       Left := ScaleX(5);
       Top := ScaleY(292);
       Font.Color:= clBlack;
      end;
     Result := Page.ID;
   end;
  Procedure ForumLinkOnClick (Sender: TObject);
 var
  ErrorCode: Integer;
   Begin
    ShellExec ('open', ExpandConstant('{cm:ForumLink}'),'','', SW_SHOWNORMAL, ewNoWait, ErrorCode);
   end;

procedure InitializeWizard();
   begin
   Form_CreatePage(wpWelcome);

    with WizardForm.PageDescriptionLabel do
     begin
      Visible := False;
     end;
    with WizardForm.PageNameLabel do
     begin
      Visible := False;
     end;
  end;

function CheckUpdates():Boolean;
 var ErrorCode: Integer;
  begin
   if ReadyToInstall=False then
    begin
     CheckingActualModpackVersionLabel.Visible:=True;
     CheckingActualModpackVersionLabel.Caption := ExpandConstant('{cm:CheckingActualModpackVersionLabel}');
      if ((DownloadFile(ExpandConstant('{cm:httpVersion}'), ActualVersion)=True) and  (DownloadFile(ExpandConstant('{cm:httpMsg}'), ActualVersionMsg)=True)) then
       begin
        if (StrToIntDef(ActualVersion, ActualVersionLongint)) > (StrToIntDef('{#modpack_versionInfo}', InstallVersionLongint)) then
         begin
          CheckingActualModpackVersionLabel.Caption := CheckingActualModpackVersionLabel.Caption + ExpandConstant('{cm:UpdateFound}');
           if MsgBox(ExpandConstant('{cm:NewVersionFound}') + ActualVersionMsg + ExpandConstant('{cm:GoToLink}'), mbConfirmation, MB_YESNO) = IDYES then
            begin
             If not ShellExec('', ExpandConstant('{cm:ForumLink}'), '', '', SW_SHOW, ewNoWait, ErrorCode) then
              begin
               CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:ErrorWhileOpeningUpdatePage}');
               ReadyToInstall:=True;
               Result:=False;
              end
              else
               begin
                Result:=False;
                TerminateInstall:=True;
                WizardForm.Close;
              end;
            end
            else
             begin
              CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:AllIsReadyForInstall}');
              ReadyToInstall:=True;
              Result:=False;
            end;
         end
         else
          begin
           CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:NoUpdates}');
           ReadyToInstall:=True;
           Result:=False;
         end;
       end
       else
        begin
         CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:CannotCheckUpdate}');
         ReadyToInstall:=True;
         Result:=False;
       end;
    end
    else
     begin
      Result:=True;
    end;
  end;

function NextButtonClick(CurPageID: Integer): Boolean;
 begin
  if CurPageID <> WelcomePageID then
   begin
    Result:=True;
   end
   else
    begin
     Result:=CheckUpdates;
   end;
 end;

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
 begin
  if ((CurPageID=WelcomePageID) and (TerminateInstall=True)) then  Confirm := False;
 end; 

Скачай не модпак его, а исходники, я же выше ссылку  дал на исходники и модпак, так не модпак, а исходники скачай, там все скрипты лежат, только без модов вот и все!!!

да видимо придётся учить всё заного или мне просто неохота было возиться и выдерать

Share this post


Link to post

Short link
Share on other sites

да видимо придётся учить всё заного или мне просто неохота было возиться и выдерать

Там и выдерать ничего не надо все скрипты в отдельной папке, просто нужно их потом правильно подключить и все дела...

Я вот только не понимаю смысл в таком обновлении? Ну ведь ты же не каждый раз запускаешь модпак на установку? единственно чтобы по 100 раз с обновами не качать, т.к. все равно новый установщик скачивается, просто по ссылке не надо переходить вручную....

Удобнее чтобы в ангаре сообщение было  о обнове..., а для этого просто мод информера обновлений ставишь вместе с паком или каком-то моде и все!

Edited by Nowik1971

Share this post


Link to post

Short link
Share on other sites

Я вот только не понимаю смысл в таком обновлении? Ну ведь ты же не каждый раз запускаешь модпак на установку? единственно чтобы по 100 раз с обновами не качать, т.к. все равно новый установщик скачивается, просто по ссылке не надо переходить вручную....

Удобнее чтобы в ангаре сообщение было  о обнове..., а для этого просто мод информера обновлений ставишь вместе с паком или каком-то моде и все!

да есть у меня это всё в ангаре спс за помощь

Share this post


Link to post

Short link
Share on other sites

[Run]
Filename: "{app}\WoTLauncher.exe"; Description: "Запустить игру после окончания установки?"; Flags: postinstall nowait unchecked

Share this post


Link to post

Short link
Share on other sites

Плохое решение, WoTLauncher может и не быть, если у человека WGC.

Share this post


Link to post

Short link
Share on other sites

Плохое решение, WoTLauncher может и не быть, если у человека WGC.

 

:hmm: или это в ране не пашет? не помню.

Flags: skipifdoesntexist
Edited by Yusha

Share this post


Link to post

Short link
Share on other sites

 

:hmm: или это в ране не пашет? не помню.

Flags: skipifdoesntexist

С таким флагом запускается лаунчер игры, а установщик висит на заднем плане с неактивной кнопкой завершить. 

Flags: postinstall nowait unchecked

Edited by JIecnik

Share this post


Link to post

Short link
Share on other sites

UPD1:
проблема ЛОМ`а решена.
вопрос к Nowik1971: ты не знал о русских символах? из-за них у ЛОМ`а ничего не распаковывалось.
поэтому иди и

учи все заново и читай справку

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

кто нибудь подскажет скрипт проверки версии и скачки модпака через сам модпак

у котярко в подписи есть ссылка на этот скрипт, но зачем так делать, если юзер может 1 раз установить модпак и не запускать повторно установщик...
 

как это реализовать ко может подскажите скрипт

попробуй так:

[Run]
Filename: "{app}\WorldOfTanks.exe"; Description: "Запустить игру после окончания установки"; Flags: postinstall nowait unchecked
Edited by Gad575
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

 

в итоге... архив скачивает и кидает в корень игры ( вроде так и должно быть ), но  когда нажимаешь закрыть установщик то он просто удаляет этот архив  но не рнаспаковывает и не устанавливает (   попробуй так:

так вроде всё работает)))  единственно почему то приходится убрать одно ресмодс на скрине видно где. если не убрать то получается папка ресмодс и в ней еще одна ресмодс а далее как положено.

 

IzVMjdyQQku6LnkbHKpEiw.png 

 

но... когда подключаю к своему скрипту или когда всё это вписываю в свой скрипт то тогда скачивает но не распаковывает. это значит я не туда вписываю куда надо. короче буду искать)))))

 

Gad575  как всегда спасибо тебе))

Share this post


Link to post

Short link
Share on other sites

#define GameName "Sacred"
#define modpack_versionInfo "101"

[Setup]
AppName={#GameName}
AppVerName={#GameName}
DefaultDirName={pf}\{#GameName}
AppPublisher=troyan

[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"



[CustomMessages]
russian.Modpack=Модпак
russian.SupportForum=Тема на koreanrandom.com
russian.ForumLink=http://www.koreanrandom.com
russian.UpdatedLabel=Обновлено:
russian.WOT_version=Версия WOT:
russian.modpack_version=Версия модпака:
russian.installer_version=wotunion installer
russian.CheckingActualModpackVersionLabel=Проверка обновлений модпака...
russian.CannotCheckUpdate=Ошибка при проверке обновлений. Далее - для установки
russian.NoUpdates=Обновлений не найдено. Далее - для установки
russian.ErrorWhileOpeningUpdatePage=Ошибка при переходе на страницу загрузки
russian.AllIsReadyForInstall=Все готово для установки. Нажмите Далее для продолжения
russian.UpdateFound=найдено
russian.httpVersion=http://proreduceri.tk/version.txt
russian.httpMsg=http://proreduceri.tk/msg.txt
russian.WOT_NotFound=Клиент World of Tanks не обнаружен. Установка будет прервана.
russian.for=для
russian.CheckAccess=Установка невозможна. Проверьте наличие прав доступа к файлам и папкам установленного клиента World of Tanks, закройте программы, которые используют папки и/или файли клиента World of Tanks, или запустите инсталлятор модпака с правами администратора.
russian.MustUninstallBefore=Установка невозможна. Воспользуйтесь деинсталлятором модпака для удаления предыдущей установки модпака (Пуск - Программы - wotunion modpack - Удалить wotunion modpack).
russian.NewVersionFound=Доступна новая версия модпака:
russian.GoToLink=Перейти по ссылке в браузере для загрузки ?
russian.CheckAccessUninstall=Деинсталляция невозможна. Проверьте наличие прав доступа к файлам и папкам установленного клиента World of Tanks закройте программы, которые используют папки и/или файлы клиента World of Tanks, или запустите деинсталлятор модпака с правами администратора.



[code]
var
ISCustomPage1: TWizardPage;
CheckingActualModpackVersionLabel: TLabel;
WelcomePageID: Integer;
ActualVersion: String;
ActualVersionLongint: Longint;
InstallVersionLongint: Longint;
ActualVersionMsg: String;
ReadyToInstall: Boolean;
TerminateInstall: Boolean;
NewRichEdit: TRichEditViewer;
NewButton1: TNewButton;
//NewButton2: TNewButton;

procedure CretePage;
begin
{ Creates custom wizard page }
ISCustomPage1 := CreateCustomPage(wpWelcome, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');

{ ISCustomPage1 }
with ISCustomPage1.Surface do
begin
Name := 'ISCustomPage1';
end;
end;

function DownloadFile(const AURL: string; var AResponse: string): Boolean;
var
WinHttpRequest: Variant;
begin
Result := False;
try
WinHttpRequest := CreateOleObject('WinHttp.WinHttpRequest.5.1');
WinHttpRequest.Open('GET', AURL, False);
WinHttpRequest.Send;
AResponse := WinHttpRequest.ResponseText;
Case WinHttpRequest.Status of
'200':
begin
Result := True;
end;
end;
except
ReadyToInstall:=True;
AResponse := GetExceptionMessage;
CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:CannotCheckUpdate}');
Result := False;
end;
end;

Procedure DownloadButtonOnClick(Sender: TObject);
var
ErrorCode: Integer;
begin
if not ShellExec('', ExpandConstant('{cm:ForumLink}'), '', '', SW_SHOW, ewNoWait, ErrorCode) then
begin
CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:ErrorWhileOpeningUpdatePage}');
ReadyToInstall:=True;
end else
begin
TerminateInstall:=True;
WizardForm.Close;
end;
end;

function Form_CreatePage(PreviousPageId: Integer): Integer;
var
Page: TWizardPage;
begin
Page := ISCustomPage1;
WelcomePageID := Page.ID;
CheckingActualModpackVersionLabel := TLabel.Create(WizardForm);
with CheckingActualModpackVersionLabel do
begin
Parent := ISCustomPage1.Surface;
Visible:=True;
Left := ScaleX(5);
Top := ScaleY(200);
Font.Color:= clBlack;
end;

{ NewRichEdit }
NewRichEdit := TRichEditViewer.Create(WizardForm);
with NewRichEdit do
begin
Parent := ISCustomPage1.Surface;
Left := ScaleX(8);
Top := ScaleY(16);
Width := ScaleX(400);
Height := ScaleY(153);
end;

{ NewButton1 }
NewButton1 := TNewButton.Create(WizardForm);
with NewButton1 do
begin
Parent := ISCustomPage1.Surface;
Left := ScaleX(325);
Top := ScaleY(195);
Width := ScaleX(75);
Height := ScaleY(23);
Caption := 'Download';
Enabled := True;
end;

Result := Page.ID;
end;
Procedure ForumLinkOnClick (Sender: TObject);
var
ErrorCode: Integer;
Begin
ShellExec ('open', ExpandConstant('{cm:ForumLink}'),'','', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;

procedure InitializeWizard();
begin
CretePage;
Form_CreatePage(ISCustomPage1.Surface);

with WizardForm.PageDescriptionLabel do
begin
Visible := False;
end;
with WizardForm.PageNameLabel do
begin
Visible := False;
end;
end;

Procedure CheckUpdates();
begin
if ReadyToInstall=False then
begin
CheckingActualModpackVersionLabel.Visible:=True;
CheckingActualModpackVersionLabel.Caption := ExpandConstant('{cm:CheckingActualModpackVersionLabel}');
if ((DownloadFile(ExpandConstant('{cm:httpVersion}'), ActualVersion)=True) and (DownloadFile(ExpandConstant('{cm:httpMsg}'), ActualVersionMsg)=True)) then
begin
if (StrToIntDef(ActualVersion, ActualVersionLongint)) > (StrToIntDef('{#modpack_versionInfo}', InstallVersionLongint)) then
begin
CheckingActualModpackVersionLabel.Caption := CheckingActualModpackVersionLabel.Caption + ExpandConstant('{cm:UpdateFound}') + #13#10 + ExpandConstant('{cm:AllIsReadyForInstall}');;
NewRichEdit.Text := ExpandConstant('{cm:NewVersionFound}') + ActualVersionMsg + ExpandConstant('{cm:GoToLink}');
NewButton1.OnClick := @DownloadButtonOnClick;
NewButton1.Enabled := True;
ReadyToInstall:=True;
end
else
begin
CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:NoUpdates}');
ReadyToInstall:=True;
end;
end
else
begin
CheckingActualModpackVersionLabel.Caption:=ExpandConstant('{cm:CannotCheckUpdate}');
ReadyToInstall:=True;
end;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = ISCustomPage1.ID then
CheckUpdates();
end;

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
if ((CurPageID=WelcomePageID) and (TerminateInstall=True)) then Confirm := False;
end;

кто нибудь помоготи с этим скриптом где куда что вставлять что не хватает и тд и тп
Edited by sergy2010

Share this post


Link to post

Short link
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...