Jump to content
Korean Random
EvilAlex

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

Recommended Posts

сел заново читать тему. из за проблем с глазами не могу долго читать. если не трудно подскажите пожалуйста  как сделать в установщике одну фоновую картинку для всех страниц? ( ну чтобы весь текст и т.д. на всех страницах были на этой картинке как бы )   или  ткните носом в каком месте это обсуждалось в  теме!

http://krinkels.org/forums/inno-setup.250/

Share this post


Link to post

Short link
Share on other sites

подскажите пожалуйста почему иногда в редакторе форм когда пытаюсь что то изменить появляются эти сообщения?  инстал скином делал. или как он там называется не помню)) вот этим короче "  .cjstyles   "

 

 

 

 

Edited by ЛОМ

Share this post


Link to post

Short link
Share on other sites

Всем привет
Народ дайте если не трудно и не жалко скрип для очистка кеша и XVM заранее благодарен

Share this post


Link to post

Short link
Share on other sites

Всем привет

Народ дайте если не трудно и не жалко скрип для очистка кеша и XVM заранее благодарен

 

Или просто скрипт для ручной очистки в прикрепленном файле

Очистка кеш.rar

Edited by Nowik1971
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Всем привет

Народ дайте если не трудно и не жалко скрип для очистка кеша и XVM заранее благодарен

Писец там выше заморочки... все есть в самом инно.

Секция: [installDelete]

[InstallDelete]

; Очистка кеша и логов
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\account_caches
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\awesomium_cache
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\battle_results
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\clan_cache
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\custom_data
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\dossier_cache
Type: filesandordirs; Name: {userappdata}\wargaming.net\WorldOfTanks\messenger_cache

Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\tcarousel.filters.dat
Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\tcarousel.reserve.dat
Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\arenas_data.zip

Type: files; Name: {app}\python.log
Type: files; Name: {app}\xvm.log

Можно добавить любые Components: или Check:

Например:

Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\tcarousel.filters.dat; Components: xvm
Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\tcarousel.reserve.dat; Components: xvm
Type: files; Name: {userappdata}\wargaming.net\WorldOfTanks\xvm\arenas_data.zip; Components: xvm
  • Upvote 2

Share this post


Link to post

Short link
Share on other sites

подскажите пожалуйста можно ли в этом коде сделать так чтобы сразу два сайта открывались?  

Procedure LogoOnClick(Sender: TObject);
var
 ResCode: Integer;
begin
  ShellExec('', 'http://тратата точка ру', '' , '', SW_SHOW, ewNoWait, ResCode);
end;

Share this post


Link to post

Short link
Share on other sites

 

подскажите пожалуйста можно ли в этом коде сделать так чтобы сразу два сайта открывались?

Procedure LogoOnClick(Sender: TObject);
var
 ResCode: Integer;
begin
  ShellExec('', 'http://тратата точка ру', '' , '', SW_SHOW, ewNoWait, ResCode);
end;
еще добавь

ShellExec('', 'http://тратата точка ру', '' , '', SW_SHOW, ewNoWait, ResCode);
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

да блиииииин))) а я все пытался в эту же строчку впихнуть второй адрес)))) СПАСИБО ТЕБЕ БОЛЬШОЕ !!!!! 

Share this post


Link to post

Short link
Share on other sites

привет всем! я конечно понимаю что я вас достал уже своими детскими так сказать вопросами но всё же подскажите мне одну вещь))) я не пойму почему неделю назад используя тот же код для бекапа что и сейчас всё работало а сейчас выдает ошибку пока я не поменяю {#Patch}'));  на 0.9.16 ?  вот к примеру в этой строчке CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); ну и в остальных тоже. 

Share this post


Link to post

Short link
Share on other sites

привет всем! я конечно понимаю что я вас достал уже своими детскими так сказать вопросами но всё же подскажите мне одну вещь))) я не пойму почему неделю назад используя тот же код для бекапа что и сейчас всё работало а сейчас выдает ошибку пока я не поменяю {#Patch}'));  на 0.9.16 ?  вот к примеру в этой строчке CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); ну и в остальных тоже. 

А ты вот так меняешь?:

CreateDir(ExpandConstant('{app}\res_mods\0.9.16')); 

так должно работать

Edited by Nowik1971
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

привет всем! я конечно понимаю что я вас достал уже своими детскими так сказать вопросами но всё же подскажите мне одну вещь))) я не пойму почему неделю назад используя тот же код для бекапа что и сейчас всё работало а сейчас выдает ошибку пока я не поменяю {#Patch}'));  на 0.9.16 ?  вот к примеру в этой строчке CreateDir(ExpandConstant('{app}\res_mods\{#Patch}')); ну и в остальных тоже.

 

а у тебя define Patch написано?
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

как обычно забуду дописать,прописать,изменить что нибудь и потом достаю тут людей своими вопросами)))))  всё заработало спасибо вам мужики!!! )))

Share this post


Link to post

Short link
Share on other sites

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

 

#define Patch               "0.9.16"
#include "SHFileOperation.iss";




[Code]
var
  BackupPage: TWizardPage;
  DeleteRadioButton, MoveRadioButton, NoneRadioButton: TNewRadioButton;

const
  BackupDescText =
    'Во избежание проблем совместимости и конфликтов между модификациями рекомендуется удалить уже установленные на данный момент в игровом клиенте.' #13#13 'Выберите необходимый пункт из представленных. При этом будет очищено содержимое папки "res_mods\0.9.16", удалена папка "res_mods\xvm" или созданы резервные копии Ваших файлов.';
  DeleteDescText =
    'Установщик удалит все файлы в папках.';
  MoveDescText =
    'Установщик сделает резервную копию всех файлов в папках.';
  NoneDescText =
    'Установщик оставит всё как есть.';

function BackupCheck_1(): Boolean;
var
  BackupDescLabel, DeleteDescLabel, MoveDescLabel, NoneDescLabel: TLabel;
begin
  BackupPage:=CreateCustomPage(wpSelectDir, 'Создание резервных копий файлов перед установкой', 'Пожалуйста, прочтите следующую важную информацию перед тем, как продолжить.');
  BackupDescLabel:=TLabel.Create(WizardForm);
  BackupDescLabel.Parent:=BackupPage.Surface;
  BackupDescLabel.Left:=0;
  BackupDescLabel.Top:=0;
  BackupDescLabel.Width:=BackupPage.SurfaceWidth;
  BackupDescLabel.Height:=90;
  BackupDescLabel.AutoSize:=False;
  BackupDescLabel.Wordwrap:=True;
  BackupDescLabel.Caption:=BackupDescText;

  DeleteRadioButton:=TNewRadioButton.Create(WizardForm);
  DeleteRadioButton.Parent:=BackupPage.Surface;
  DeleteRadioButton.Checked:=False;
  DeleteRadioButton.Top:=95;
  DeleteRadioButton.Width:=BackupPage.SurfaceWidth;
  DeleteRadioButton.Font.Style:=[fsBold];
  DeleteRadioButton.Font.Size:=9;
  DeleteRadioButton.Caption:='Удалить файлы'
  DeleteDescLabel:=TLabel.Create(WizardForm);
  DeleteDescLabel.Parent:=BackupPage.Surface;
  DeleteDescLabel.Left:=18;
  DeleteDescLabel.Top:=DeleteRadioButton.Top + DeleteRadioButton.Height + 4;
  DeleteDescLabel.Width:=BackupPage.SurfaceWidth;
  DeleteDescLabel.Height:=40;
  DeleteDescLabel.AutoSize:=False;
  DeleteDescLabel.Wordwrap:=True;
  DeleteDescLabel.Caption:=DeleteDescText;

  MoveRadioButton:=TNewRadioButton.Create(WizardForm);
  MoveRadioButton.Parent:=BackupPage.Surface;
  MoveRadioButton.Checked:=True;
  MoveRadioButton.Top:=140;
  MoveRadioButton.Width:=BackupPage.SurfaceWidth;
  MoveRadioButton.Font.Style:=[fsBold];
  MoveRadioButton.Font.Size:=9;
  MoveRadioButton.Caption:='Сделать резервную копию файлов'
  MoveDescLabel:=TLabel.Create(WizardForm);
  MoveDescLabel.Parent:=BackupPage.Surface;
  MoveDescLabel.Left:=18;
  MoveDescLabel.Top:=MoveRadioButton.Top + MoveRadioButton.Height + 4;
  MoveDescLabel.Width:=BackupPage.SurfaceWidth;
  MoveDescLabel.Height:=40;
  MoveDescLabel.AutoSize:=False;
  MoveDescLabel.Wordwrap:=True;
  MoveDescLabel.Caption:=MoveDescText;

  NoneRadioButton:=TNewRadioButton.Create(WizardForm);
  NoneRadioButton.Parent:=BackupPage.Surface;
  NoneRadioButton.Checked:=False;
  NoneRadioButton.Top:=185;
  NoneRadioButton.Width:=BackupPage.SurfaceWidth;
  NoneRadioButton.Font.Style:=[fsBold];
  NoneRadioButton.Font.Size:=9;
  NoneRadioButton.Caption:='Ничего не трогать'
  NoneDescLabel:=TLabel.Create(WizardForm);
  NoneDescLabel.Parent:=BackupPage.Surface;
  NoneDescLabel.Left:=18;
  NoneDescLabel.Top:=NoneRadioButton.Top + NoneRadioButton.Height + 4;
  NoneDescLabel.Width:=BackupPage.SurfaceWidth;
  NoneDescLabel.Height:=40;
  NoneDescLabel.AutoSize:=False;
  NoneDescLabel.Wordwrap:=True;
  NoneDescLabel.Caption:=NoneDescText;
end;


function BackupCheck_3(): Boolean;
begin
  If MoveRadioButton.Checked then
begin
  MoveDir(ExpandConstant('{app}\res_mods\'),ExpandConstant('{app}\res_mods\backup\res_mods'));
  CreateDir(ExpandConstant('{app}\res_mods\{#Patch}'));
end;
end;

function BackupCheck_2(): Boolean;
begin
  If DeleteRadioButton.Checked then
begin
  DelTree(ExpandConstant('{app}\res_mods'), True, True, True);
  CreateDir(ExpandConstant('{app}\res_mods\{#Patch}'));
end;
end;


procedure CurStepChanged(CurStep: TSetupStep);
begin
  If CurStep=ssInstall then
begin
  BackupCheck_2();
  BackupCheck_3();
end;
end;

procedure InitializeWizard();
begin
  BackupCheck_1();
end; 

Edited by ЛОМ

Share this post


Link to post

Short link
Share on other sites

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

 

 

#define Patch               "0.9.16"
#include "SHFileOperation.iss";




[Code]
var
  BackupPage: TWizardPage;
  DeleteRadioButton, MoveRadioButton, NoneRadioButton: TNewRadioButton;

const
  BackupDescText =
    'Во избежание проблем совместимости и конфликтов между модификациями рекомендуется удалить уже установленные на данный момент в игровом клиенте.' #13#13 'Выберите необходимый пункт из представленных. При этом будет очищено содержимое папки "res_mods\0.9.16", удалена папка "res_mods\xvm" или созданы резервные копии Ваших файлов.';
  DeleteDescText =
    'Установщик удалит все файлы в папках.';
  MoveDescText =
    'Установщик сделает резервную копию всех файлов в папках.';
  NoneDescText =
    'Установщик оставит всё как есть.';

function BackupCheck_1(): Boolean;
var
  BackupDescLabel, DeleteDescLabel, MoveDescLabel, NoneDescLabel: TLabel;
begin
  BackupPage:=CreateCustomPage(wpSelectDir, 'Создание резервных копий файлов перед установкой', 'Пожалуйста, прочтите следующую важную информацию перед тем, как продолжить.');
  BackupDescLabel:=TLabel.Create(WizardForm);
  BackupDescLabel.Parent:=BackupPage.Surface;
  BackupDescLabel.Left:=0;
  BackupDescLabel.Top:=0;
  BackupDescLabel.Width:=BackupPage.SurfaceWidth;
  BackupDescLabel.Height:=90;
  BackupDescLabel.AutoSize:=False;
  BackupDescLabel.Wordwrap:=True;
  BackupDescLabel.Caption:=BackupDescText;

  DeleteRadioButton:=TNewRadioButton.Create(WizardForm);
  DeleteRadioButton.Parent:=BackupPage.Surface;
  DeleteRadioButton.Checked:=False;
  DeleteRadioButton.Top:=95;
  DeleteRadioButton.Width:=BackupPage.SurfaceWidth;
  DeleteRadioButton.Font.Style:=[fsBold];
  DeleteRadioButton.Font.Size:=9;
  DeleteRadioButton.Caption:='Удалить файлы'
  DeleteDescLabel:=TLabel.Create(WizardForm);
  DeleteDescLabel.Parent:=BackupPage.Surface;
  DeleteDescLabel.Left:=18;
  DeleteDescLabel.Top:=DeleteRadioButton.Top + DeleteRadioButton.Height + 4;
  DeleteDescLabel.Width:=BackupPage.SurfaceWidth;
  DeleteDescLabel.Height:=40;
  DeleteDescLabel.AutoSize:=False;
  DeleteDescLabel.Wordwrap:=True;
  DeleteDescLabel.Caption:=DeleteDescText;

  MoveRadioButton:=TNewRadioButton.Create(WizardForm);
  MoveRadioButton.Parent:=BackupPage.Surface;
  MoveRadioButton.Checked:=True;
  MoveRadioButton.Top:=140;
  MoveRadioButton.Width:=BackupPage.SurfaceWidth;
  MoveRadioButton.Font.Style:=[fsBold];
  MoveRadioButton.Font.Size:=9;
  MoveRadioButton.Caption:='Сделать резервную копию файлов'
  MoveDescLabel:=TLabel.Create(WizardForm);
  MoveDescLabel.Parent:=BackupPage.Surface;
  MoveDescLabel.Left:=18;
  MoveDescLabel.Top:=MoveRadioButton.Top + MoveRadioButton.Height + 4;
  MoveDescLabel.Width:=BackupPage.SurfaceWidth;
  MoveDescLabel.Height:=40;
  MoveDescLabel.AutoSize:=False;
  MoveDescLabel.Wordwrap:=True;
  MoveDescLabel.Caption:=MoveDescText;

  NoneRadioButton:=TNewRadioButton.Create(WizardForm);
  NoneRadioButton.Parent:=BackupPage.Surface;
  NoneRadioButton.Checked:=False;
  NoneRadioButton.Top:=185;
  NoneRadioButton.Width:=BackupPage.SurfaceWidth;
  NoneRadioButton.Font.Style:=[fsBold];
  NoneRadioButton.Font.Size:=9;
  NoneRadioButton.Caption:='Ничего не трогать'
  NoneDescLabel:=TLabel.Create(WizardForm);
  NoneDescLabel.Parent:=BackupPage.Surface;
  NoneDescLabel.Left:=18;
  NoneDescLabel.Top:=NoneRadioButton.Top + NoneRadioButton.Height + 4;
  NoneDescLabel.Width:=BackupPage.SurfaceWidth;
  NoneDescLabel.Height:=40;
  NoneDescLabel.AutoSize:=False;
  NoneDescLabel.Wordwrap:=True;
  NoneDescLabel.Caption:=NoneDescText;
end;


function BackupCheck_3(): Boolean;
begin
  If MoveRadioButton.Checked then
begin
  MoveDir(ExpandConstant('{app}\res_mods\'),ExpandConstant('{app}\res_mods\backup\res_mods'));
  CreateDir(ExpandConstant('{app}\res_mods\{#Patch}'));
end;
end;

function BackupCheck_2(): Boolean;
begin
  If DeleteRadioButton.Checked then
begin
  DelTree(ExpandConstant('{app}\res_mods'), True, True, True);
  CreateDir(ExpandConstant('{app}\res_mods\{#Patch}'));
end;
end;


procedure CurStepChanged(CurStep: TSetupStep);
begin
  If CurStep=ssInstall then
begin
  BackupCheck_2();
  BackupCheck_3();
end;
end;

procedure InitializeWizard();
begin
  BackupCheck_1();
end; 
а не проще чеки сделать в редакторе формы, а тут просто оставить функции при нажатии на чек
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

а не проще чеки сделать в редакторе формы, а тут просто оставить функции при нажатии на чек

по сути то проще конечно если знать как всё это делать)))) для вас это дело как два пальца об асфальт так сказать а я явно эти два пальца сломаю пока так сделаю)) потому и хочу просто в код прописать)))

короче я хотел бы как на фото в это место прописать очистку  кеша игры и хвм.

 

 

 

 

Share this post


Link to post

Short link
Share on other sites

Т

 

по сути то проще конечно если знать как всё это делать)))) для вас это дело как два пальца об асфальт так сказать а я явно эти два пальца сломаю пока так сделаю)) потому и хочу просто в код прописать)))

короче я хотел бы как на фото в это место прописать очистку  кеша игры и хвм.

 

attachicon.gifScreenshot_6.png

Так тебе уже ответили как и что написать вот на скриншоте я показываю... в форме надо чек прописать в нужном месте

'Скриншоты'

11944795.jpg11930459.jpg
11990874.jpg
  • Upvote 1
  • Downvote 1

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...