Jump to content
Korean Random
EvilAlex

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

Recommended Posts

Нигде. Должен очищать.

А если так:

  DelTree(ExpandConstant('{userappdata}') + '\Roaming\wargaming.net\WorldOfTanks\account_caches', True, True, True);
  DelTree(ExpandConstant('{userappdata}') + '\Roaming\wargaming.net\WorldOfTanks\battle_results', True, True, True);
и т.д.

 

Нет , не хочет ...

Share this post


Link to post

Short link
Share on other sites

Не хочет очистить кэш, где проблема:

 

Скорее всего в неправильном пути. {userappdata} и так возвращает путь вместе с Roaming.

Share this post


Link to post

Short link
Share on other sites

Доброго времени суток !

Видел пару раз темы, где люди искали программу или скрипт которые бы собирали моды в одну прогу и после этого могли их устанавливать на выбор !

Нашел на форумах одну вещицу так скажем!

 

Сам скрипт + пара модов для теста:

ScriptModPack.​rar 54,3 МБ

 

Программа с помощью которой собирается инсталлятор:

InnoUltra.exe 54 МБ

 

Скриншоты:

 

Что нового:

Ver. 2.4.124

- Упростил скрипт.

- добавил определения папки установки если игра была установлена, если же скопирована инсталятор предлагает свой путь.

- обновил Сообщения в инстоляторе.

- внешний вид не менял.

- добавил Лицензию и ФАК.

 

Ver. 2.3

- Добавил в скрипт небольшое описание.

- Добавил скрипт с Сообщениями иснтоллятора и выбор языка.

- Вынес в отдельный скрипт компоненты - моды.

- Внутри есть 2psd

- Вместо ссылки на группу Кран'а теперь логотип нашего форума с сыллкой на негоже)

 

Русская справка к версии 5.5.1, автор перевода BagIra, bugron

attachicon.gifISetup.rar

 

"Дополнительные скрипты "

Проверка папки установки:
function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;
case CurPageID of
wpSelectDir:
if not FileExists(ExpandConstant('{app}\WorldOfTanks.exe')) then
begin
MsgBox('Не верно указана папка World of Tanks!', mbError, MB_OK);
Result := False;
end;
end;
end;
Набор скриптов, библиотек с их использованием (Автор: Kotyarko_O):

Набор скриптов, библиот…нием.rar - 31,12 МБ

 

Еще можно где нить скачать ScriptModPack.​rar , тут не получается скачать.

Share this post


Link to post

Short link
Share on other sites

Скорее всего в неправильном пути. {userappdata} и так возвращает путь вместе с Roaming.

Да, есть такое.

 

Еще можно где нить скачать ScriptModPack.​rar , тут не получается скачать.

https://yadi.sk/d/7_k_gcoqfCd3g

Edited by Kotyarko_O

Share this post


Link to post

Short link
Share on other sites

Вот так прекрасно удаляется:
 

DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\account_caches'), True, True, True);

Для разных систем {userappdata} имеет разные значения, но дальше игрой создаются папки по такому пути 100%. Возможно с папками обошлись вот так: тык! или ещё инфа.
Перенесли с SSD на другой диск и обманули систему.

Edited by AtotIK
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

Вот так прекрасно удаляется:

 

DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\account_caches'), True, True, True);

Для разных систем {userappdata} имеет разные значения, но дальше игрой создаются папки по такому пути 100%. Возможно с папками обошлись вот так: тык! или ещё инфа.

Перенесли с SSD на другой диск и обманули систему.

 

Таким образом, работает и удаляет.

Спасибо.

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

psix89, подменой файлов делай. У меня это: battleLoading.xc, markersAliveExtended.xc, markersAliveNormal.xc, playersPanel.xc, statisticForm.xc.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

post-21711-0-91756600-1426247031_thumb.png
 
Кому то нужно этот код, для очистки модов + cache + Updates, без Back up мод:

[code]
var
  BackupPage: TWizardPage;
  DeleteRadioButton: TNewRadioButton;    //== създаваме нова функция и присвояваме свойство TNewRadioButton
  NoneRadioButton: TNewRadioButton;      //== създаваме нова функция и присвояваме свойство TNewRadioButton
  NewCheckBoxClearCache: TNewCheckBox;   //== създаваме нова функция и присвояваме свойство TNewCheckBox
  NewCheckBoxClearUpdate: TNewCheckBox;  //== създаваме нова функция и присвояваме свойство TNewCheckBox

function BackupCheck(): Boolean;
var
  BackupDescLabel: TLabel;               //==създаваме и присвояваме свойство TLabel - за текст
  BackupDescLabel2: TLabel;              //==създаваме и присвояваме свойство TLabel - за текст
  DeleteDescLabel: TLabel;               //==създаваме и присвояваме свойство TLabel - за текст
  NoneDescLabel: TLabel;                 //==създаваме и присвояваме свойство TLabel - за текст
  NewCheckBoxLabelClearCache: TLabel;    //==създаваме и присвояваме свойство TLabel - за текст
  NewCheckBoxLabelClearUpdate: TLabel;   //==създаваме и присвояваме свойство TLabel - за текст

begin
  BackupPage:=CreateCustomPage(wpSelectDir, '', '');
//==== Настройки на първия текст над бутоните
  BackupDescLabel:=TLabel.Create(WizardForm);
  BackupDescLabel.Parent:=BackupPage.Surface;
  BackupDescLabel.Left:=30;  //==== Настройки на текста над бутоните за изтриване на старите модове: ляво-дясно и горе-долу
  BackupDescLabel.Top:=10;
  BackupDescLabel.Width:=BackupPage.SurfaceWidth;
  BackupDescLabel.Height:=90;
  BackupDescLabel.AutoSize:=False;
  BackupDescLabel.Wordwrap:=True;
  BackupDescLabel.Caption:=
  'За да бъдат избегнати проблеми със съвместимостта и конфликти между различните модове и модификации,'#13
  'се препоръчва да бъдат изтрити текущите ви модове и модификации от вашия игрови клиент.';
//==== Настройки на първия текст над бутоните
  BackupDescLabel2:=TLabel.Create(WizardForm);
  BackupDescLabel2.Parent:=BackupPage.Surface;
  BackupDescLabel2.Left:=80;  //==== Настройки на текста над бутоните за изтриване на старите модове: ляво-дясно и горе-долу
  BackupDescLabel2.Top:=50;
  BackupDescLabel2.Width:=BackupPage.SurfaceWidth;
  BackupDescLabel2.Height:=90;
  BackupDescLabel2.AutoSize:=False;
  BackupDescLabel2.Wordwrap:=True;
  BackupDescLabel2.Font.Style := [fsBold, fsItalic];
  BackupDescLabel2.Font.Size:=10;
  //BackupDescLabel2.Font.Color := clMaroon;
  BackupDescLabel2.Font.Name := 'Arial';
  BackupDescLabel2.Caption:=
  'ВНИМАНИЕ!'#13
  'Моля, прочетете важната информция по-долу, преди да продължите:';

//==== Настройки на мястото на бутона и текста за изтриване на папката res_mods
  DeleteRadioButton:=TNewRadioButton.Create(WizardForm);
  DeleteRadioButton.Parent:=BackupPage.Surface;
  DeleteRadioButton.Checked:=False;
  DeleteRadioButton.Left:=80;   //==== местене на изтриващия бутон
  DeleteRadioButton.Top:=100; //120
  DeleteRadioButton.Width:=BackupPage.SurfaceWidth;
  DeleteRadioButton.Font.Style:=[fsBold];
  DeleteRadioButton.Font.Size:=10;
  DeleteRadioButton.Caption:='Изтрий текущите модове и модификации (препоръчително).' //==== Текст на бутона за триене ====\\
  DeleteDescLabel:=TLabel.Create(WizardForm);
  DeleteDescLabel.Parent:=BackupPage.Surface;
  DeleteDescLabel.Left:=80; //==== местене в ляво-дясно на текста под изтриващия бутон
  DeleteDescLabel.Top:=DeleteRadioButton.Top + DeleteRadioButton.Height + 4;
  DeleteDescLabel.Width:=BackupPage.SurfaceWidth;
  DeleteDescLabel.Height:=40;
  DeleteDescLabel.AutoSize:=False;
  DeleteDescLabel.Wordwrap:=True;
  DeleteDescLabel.Caption:='Инсталатора ще почисти съдържанието на папка "res_mods\{#GameVersion}" от текущите ви модове.';
//==== Настройки на мястото на бутона и текста да не изтрива нищо
  NoneRadioButton:=TNewRadioButton.Create(WizardForm);
  NoneRadioButton.Parent:=BackupPage.Surface;
  NoneRadioButton.Checked:=False;
  NoneRadioButton.Left:=80;  //==== местене на неизтриващия бутон
  NoneRadioButton.Top:=150;
  NoneRadioButton.Width:=BackupPage.SurfaceWidth;
  NoneRadioButton.Font.Style:=[fsBold];
  NoneRadioButton.Font.Size:=10;
  NoneRadioButton.Caption:='Не изтривай текущите модове и модификации.' //==== Текст на неизтриващия бутон ====\\
  NoneDescLabel:=TLabel.Create(WizardForm);
  NoneDescLabel.Parent:=BackupPage.Surface;
  NoneDescLabel.Left:=80;  //==== местене в ляво-дясно на текста под неизтриващия бутон
  NoneDescLabel.Top:=NoneRadioButton.Top + NoneRadioButton.Height + 4;
  NoneDescLabel.Width:=BackupPage.SurfaceWidth;
  NoneDescLabel.Height:=40;
  NoneDescLabel.AutoSize:=False;
  NoneDescLabel.Wordwrap:=True;
  NoneDescLabel.Caption:=
  'Инсталаторът ще остави всичко както е, без да трие текущите ви модове.'#13
  'Тази опция не е препоръчителна, възможно е да възникнат конфликти.';
//==== Настройки на мястото на бутона и текста за изтриване на КЕША
  NewCheckBoxClearCache:=TNewCheckBox.Create(WizardForm);
  NewCheckBoxClearCache.Parent:=BackupPage.Surface;
  NewCheckBoxClearCache.Checked:=False;
  NewCheckBoxClearCache.Left:=100;   //==== местене на бутона
  NewCheckBoxClearCache.Top:=225;
  NewCheckBoxClearCache.Width:=BackupPage.SurfaceWidth;
  NewCheckBoxClearCache.Font.Style:=[fsBold];
  NewCheckBoxClearCache.Font.Size:=9;
  NewCheckBoxClearCache.Caption:='Изтрий кеша (cache) на играта (препоръчително).' //==== Текст на бутона за триене ====\\
  NewCheckBoxLabelClearCache:=TLabel.Create(WizardForm);
  NewCheckBoxLabelClearCache.Parent:=BackupPage.Surface;
  NewCheckBoxLabelClearCache.Left:=100; //==== местене в ляво-дясно на текста под изтриващия бутон
  NewCheckBoxLabelClearCache.Top:=NewCheckBoxClearCache.Top + NewCheckBoxClearCache.Height + 4;
  NewCheckBoxLabelClearCache.Width:=BackupPage.SurfaceWidth;
  NewCheckBoxLabelClearCache.Height:=40;
  NewCheckBoxLabelClearCache.AutoSize:=False;
  NewCheckBoxLabelClearCache.Wordwrap:=True;
  NewCheckBoxLabelClearCache.Caption:='Инсталатора ще почисти папката с кеша(cache) на играта ви, без да изтрива'#13
  'файла с настройките (preferences.XML).';
//==== Настройки на мястото на бутона и текста за изтриване на папка Updates
  NewCheckBoxClearUpdate:=TNewCheckBox.Create(WizardForm);
  NewCheckBoxClearUpdate.Parent:=BackupPage.Surface;
  NewCheckBoxClearUpdate.Checked:=False;
  NewCheckBoxClearUpdate.Left:=100;   //==== местене на изтриващия бутон
  NewCheckBoxClearUpdate.Top:=280;
  NewCheckBoxClearUpdate.Width:=BackupPage.SurfaceWidth;
  NewCheckBoxClearUpdate.Font.Style:=[fsBold];
  NewCheckBoxClearUpdate.Font.Size:=9;
  NewCheckBoxClearUpdate.Caption:='Изтрий файловете за ъпдейтите в играта ви.' //==== Текст на бутона за триене ====\\
  NewCheckBoxLabelClearUpdate:=TLabel.Create(WizardForm);
  NewCheckBoxLabelClearUpdate.Parent:=BackupPage.Surface;
  NewCheckBoxLabelClearUpdate.Left:=100; //==== местене в ляво-дясно на текста под изтриващия бутон
  NewCheckBoxLabelClearUpdate.Top:=NewCheckBoxClearUpdate.Top + NewCheckBoxClearUpdate.Height + 4;
  NewCheckBoxLabelClearUpdate.Width:=BackupPage.SurfaceWidth;
  NewCheckBoxLabelClearUpdate.Height:=40;
  NewCheckBoxLabelClearUpdate.AutoSize:=False;
  NewCheckBoxLabelClearUpdate.Wordwrap:=True;
  NewCheckBoxLabelClearUpdate.Caption:='Инсталатора ще почисти папка Updates в играта ви и ще освободи дисково място.';
end;
///=== функцията за изтриване на папката res_mods
function DeleteOldMods(): Boolean;
begin
  If DeleteRadioButton.Checked then
begin
  WizardForm.ProgressGauge.Hide;
  WizardForm.StatusLabel.Caption:='Изтриване на файловете...';
  DelTree(ExpandConstant('{app}\res_mods'), True, True, True);
  CreateDir(ExpandConstant('{app}\res_mods'));
  CreateDir(ExpandConstant('{app}\res_mods\{#GameVersion}'));
  WizardForm.ProgressGauge.Show;
  WizardForm.StatusLabel.Caption:=SetupMessage(msgStatusExtractFiles);
end;
end;
///=== функцията за КЕША ==== Изтриваме кешовите папки и ги създаваме наново, вече чисти.
function ClearCacheCreate(): Boolean;
begin
  If NewCheckBoxClearCache.Checked then
begin
  WizardForm.ProgressGauge.Hide;
  WizardForm.StatusLabel.Caption:='Трием кеша...';
  //=== трие кешовите папки
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\account_caches'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\battle_results'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\custom_data'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\dossier_cache'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\messenger_cache'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\tutorial_cache'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\xvm'), True, True, True);
  //=== създава ги наново, вече чисти.
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\account_caches'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\battle_results'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\custom_data'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\dossier_cache'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\messenger_cache'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\tutorial_cache'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\xvm'));
  WizardForm.ProgressGauge.Show;
  WizardForm.StatusLabel.Caption:=SetupMessage(msgStatusExtractFiles);
end;
end;
///=== функцията да трием и след това създаване наново папка Updates
function ClearUpdate(): Boolean;
begin
  If NewCheckBoxClearUpdate.Checked then
begin
   WizardForm.ProgressGauge.Hide;
   WizardForm.StatusLabel.Caption:='Трием update файловете...';
   DelTree(ExpandConstant('{app}\Updates'), True, True, True);   //== изтрива я
   CreateDir(ExpandConstant('{app}\Updates'));                   //== създава я наново
   WizardForm.ProgressGauge.Show;
   WizardForm.StatusLabel.Caption:=SetupMessage(msgStatusExtractFiles);
end;
end;
///=== процедурите за изпълнение на функциите
procedure CurStepChanged(CurStep: TSetupStep);
begin
  If CurStep=ssInstall then
begin
  DeleteOldMods();
  ClearCacheCreate();
  ClearUpdate();
end;
end;

procedure InitializeWizard();
begin
  BackupCheck();
end;



@AtotIK
Вопрос:
Как изменить цвет BackUp страница (верхний код) и добавить картинка ? Edited by mpmp
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

mpmp, это вшито в твоём скине. Проще картинкам фон изменить.

Share this post


Link to post

Short link
Share on other sites

mpmp, это вшито в твоём скине. Проще картинкам фон изменить.

или панелью 

Share this post


Link to post

Short link
Share on other sites

 Проще картинкам фон изменить.

 

Ето как ?

Share this post


Link to post

Short link
Share on other sites

mpmp, ты же логотипы чем-то делал. Надеюсь в Photoshop. Изменяешь фон в них и всё. Будет сливаться.

 

Бр-р-р, не дочитал до конца. В общем создаёшь панель, а на неё кидаешь картинки.

Edited by AtotIK

Share this post


Link to post

Short link
Share on other sites

attachicon.gif2015-03-13_134308.png

 

Кому то нужно этот код, для очистки модов + cache + Updates, без Back up мод:

[code]
var
  BackupPage: TWizardPage;
  DeleteRadioButton: TNewRadioButton;    //== създаваме нова функция и присвояваме свойство TNewRadioButton
  NoneRadioButton: TNewRadioButton;      //== създаваме нова функция и присвояваме свойство TNewRadioButton
  NewCheckBoxClearCache: TNewCheckBox;   //== създаваме нова функция и присвояваме свойство TNewCheckBox
  NewCheckBoxClearUpdate: TNewCheckBox;  //== създаваме нова функция и присвояваме свойство TNewCheckBox

function BackupCheck(): Boolean;
var
  BackupDescLabel: TLabel;               //==създаваме и присвояваме свойство TLabel - за текст
  BackupDescLabel2: TLabel;              //==създаваме и присвояваме свойство TLabel - за текст
  DeleteDescLabel: TLabel;               //==създаваме и присвояваме свойство TLabel - за текст
  NoneDescLabel: TLabel;                 //==създаваме и присвояваме свойство TLabel - за текст
  NewCheckBoxLabelClearCache: TLabel;    //==създаваме и присвояваме свойство TLabel - за текст
  NewCheckBoxLabelClearUpdate: TLabel;   //==създаваме и присвояваме свойство TLabel - за текст

begin
  BackupPage:=CreateCustomPage(wpSelectDir, '', '');
//==== Настройки на първия текст над бутоните
  BackupDescLabel:=TLabel.Create(WizardForm);
  BackupDescLabel.Parent:=BackupPage.Surface;
  BackupDescLabel.Left:=30;  //==== Настройки на текста над бутоните за изтриване на старите модове: ляво-дясно и горе-долу
  BackupDescLabel.Top:=10;
  BackupDescLabel.Width:=BackupPage.SurfaceWidth;
  BackupDescLabel.Height:=90;
  BackupDescLabel.AutoSize:=False;
  BackupDescLabel.Wordwrap:=True;
  BackupDescLabel.Caption:=
  'За да бъдат избегнати проблеми със съвместимостта и конфликти между различните модове и модификации,'#13
  'се препоръчва да бъдат изтрити текущите ви модове и модификации от вашия игрови клиент.';
//==== Настройки на първия текст над бутоните
  BackupDescLabel2:=TLabel.Create(WizardForm);
  BackupDescLabel2.Parent:=BackupPage.Surface;
  BackupDescLabel2.Left:=80;  //==== Настройки на текста над бутоните за изтриване на старите модове: ляво-дясно и горе-долу
  BackupDescLabel2.Top:=50;
  BackupDescLabel2.Width:=BackupPage.SurfaceWidth;
  BackupDescLabel2.Height:=90;
  BackupDescLabel2.AutoSize:=False;
  BackupDescLabel2.Wordwrap:=True;
  BackupDescLabel2.Font.Style := [fsBold, fsItalic];
  BackupDescLabel2.Font.Size:=10;
  //BackupDescLabel2.Font.Color := clMaroon;
  BackupDescLabel2.Font.Name := 'Arial';
  BackupDescLabel2.Caption:=
  'ВНИМАНИЕ!'#13
  'Моля, прочетете важната информция по-долу, преди да продължите:';

//==== Настройки на мястото на бутона и текста за изтриване на папката res_mods
  DeleteRadioButton:=TNewRadioButton.Create(WizardForm);
  DeleteRadioButton.Parent:=BackupPage.Surface;
  DeleteRadioButton.Checked:=False;
  DeleteRadioButton.Left:=80;   //==== местене на изтриващия бутон
  DeleteRadioButton.Top:=100; //120
  DeleteRadioButton.Width:=BackupPage.SurfaceWidth;
  DeleteRadioButton.Font.Style:=[fsBold];
  DeleteRadioButton.Font.Size:=10;
  DeleteRadioButton.Caption:='Изтрий текущите модове и модификации (препоръчително).' //==== Текст на бутона за триене ====\\
  DeleteDescLabel:=TLabel.Create(WizardForm);
  DeleteDescLabel.Parent:=BackupPage.Surface;
  DeleteDescLabel.Left:=80; //==== местене в ляво-дясно на текста под изтриващия бутон
  DeleteDescLabel.Top:=DeleteRadioButton.Top + DeleteRadioButton.Height + 4;
  DeleteDescLabel.Width:=BackupPage.SurfaceWidth;
  DeleteDescLabel.Height:=40;
  DeleteDescLabel.AutoSize:=False;
  DeleteDescLabel.Wordwrap:=True;
  DeleteDescLabel.Caption:='Инсталатора ще почисти съдържанието на папка "res_mods\{#GameVersion}" от текущите ви модове.';
//==== Настройки на мястото на бутона и текста да не изтрива нищо
  NoneRadioButton:=TNewRadioButton.Create(WizardForm);
  NoneRadioButton.Parent:=BackupPage.Surface;
  NoneRadioButton.Checked:=False;
  NoneRadioButton.Left:=80;  //==== местене на неизтриващия бутон
  NoneRadioButton.Top:=150;
  NoneRadioButton.Width:=BackupPage.SurfaceWidth;
  NoneRadioButton.Font.Style:=[fsBold];
  NoneRadioButton.Font.Size:=10;
  NoneRadioButton.Caption:='Не изтривай текущите модове и модификации.' //==== Текст на неизтриващия бутон ====\\
  NoneDescLabel:=TLabel.Create(WizardForm);
  NoneDescLabel.Parent:=BackupPage.Surface;
  NoneDescLabel.Left:=80;  //==== местене в ляво-дясно на текста под неизтриващия бутон
  NoneDescLabel.Top:=NoneRadioButton.Top + NoneRadioButton.Height + 4;
  NoneDescLabel.Width:=BackupPage.SurfaceWidth;
  NoneDescLabel.Height:=40;
  NoneDescLabel.AutoSize:=False;
  NoneDescLabel.Wordwrap:=True;
  NoneDescLabel.Caption:=
  'Инсталаторът ще остави всичко както е, без да трие текущите ви модове.'#13
  'Тази опция не е препоръчителна, възможно е да възникнат конфликти.';
//==== Настройки на мястото на бутона и текста за изтриване на КЕША
  NewCheckBoxClearCache:=TNewCheckBox.Create(WizardForm);
  NewCheckBoxClearCache.Parent:=BackupPage.Surface;
  NewCheckBoxClearCache.Checked:=False;
  NewCheckBoxClearCache.Left:=100;   //==== местене на бутона
  NewCheckBoxClearCache.Top:=225;
  NewCheckBoxClearCache.Width:=BackupPage.SurfaceWidth;
  NewCheckBoxClearCache.Font.Style:=[fsBold];
  NewCheckBoxClearCache.Font.Size:=9;
  NewCheckBoxClearCache.Caption:='Изтрий кеша (cache) на играта (препоръчително).' //==== Текст на бутона за триене ====\\
  NewCheckBoxLabelClearCache:=TLabel.Create(WizardForm);
  NewCheckBoxLabelClearCache.Parent:=BackupPage.Surface;
  NewCheckBoxLabelClearCache.Left:=100; //==== местене в ляво-дясно на текста под изтриващия бутон
  NewCheckBoxLabelClearCache.Top:=NewCheckBoxClearCache.Top + NewCheckBoxClearCache.Height + 4;
  NewCheckBoxLabelClearCache.Width:=BackupPage.SurfaceWidth;
  NewCheckBoxLabelClearCache.Height:=40;
  NewCheckBoxLabelClearCache.AutoSize:=False;
  NewCheckBoxLabelClearCache.Wordwrap:=True;
  NewCheckBoxLabelClearCache.Caption:='Инсталатора ще почисти папката с кеша(cache) на играта ви, без да изтрива'#13
  'файла с настройките (preferences.XML).';
//==== Настройки на мястото на бутона и текста за изтриване на папка Updates
  NewCheckBoxClearUpdate:=TNewCheckBox.Create(WizardForm);
  NewCheckBoxClearUpdate.Parent:=BackupPage.Surface;
  NewCheckBoxClearUpdate.Checked:=False;
  NewCheckBoxClearUpdate.Left:=100;   //==== местене на изтриващия бутон
  NewCheckBoxClearUpdate.Top:=280;
  NewCheckBoxClearUpdate.Width:=BackupPage.SurfaceWidth;
  NewCheckBoxClearUpdate.Font.Style:=[fsBold];
  NewCheckBoxClearUpdate.Font.Size:=9;
  NewCheckBoxClearUpdate.Caption:='Изтрий файловете за ъпдейтите в играта ви.' //==== Текст на бутона за триене ====\\
  NewCheckBoxLabelClearUpdate:=TLabel.Create(WizardForm);
  NewCheckBoxLabelClearUpdate.Parent:=BackupPage.Surface;
  NewCheckBoxLabelClearUpdate.Left:=100; //==== местене в ляво-дясно на текста под изтриващия бутон
  NewCheckBoxLabelClearUpdate.Top:=NewCheckBoxClearUpdate.Top + NewCheckBoxClearUpdate.Height + 4;
  NewCheckBoxLabelClearUpdate.Width:=BackupPage.SurfaceWidth;
  NewCheckBoxLabelClearUpdate.Height:=40;
  NewCheckBoxLabelClearUpdate.AutoSize:=False;
  NewCheckBoxLabelClearUpdate.Wordwrap:=True;
  NewCheckBoxLabelClearUpdate.Caption:='Инсталатора ще почисти папка Updates в играта ви и ще освободи дисково място.';
end;
///=== функцията за изтриване на папката res_mods
function DeleteOldMods(): Boolean;
begin
  If DeleteRadioButton.Checked then
begin
  WizardForm.ProgressGauge.Hide;
  WizardForm.StatusLabel.Caption:='Изтриване на файловете...';
  DelTree(ExpandConstant('{app}\res_mods'), True, True, True);
  CreateDir(ExpandConstant('{app}\res_mods'));
  CreateDir(ExpandConstant('{app}\res_mods\{#GameVersion}'));
  WizardForm.ProgressGauge.Show;
  WizardForm.StatusLabel.Caption:=SetupMessage(msgStatusExtractFiles);
end;
end;
///=== функцията за КЕША ==== Изтриваме кешовите папки и ги създаваме наново, вече чисти.
function ClearCacheCreate(): Boolean;
begin
  If NewCheckBoxClearCache.Checked then
begin
  WizardForm.ProgressGauge.Hide;
  WizardForm.StatusLabel.Caption:='Трием кеша...';
  //=== трие кешовите папки
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\account_caches'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\battle_results'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\custom_data'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\dossier_cache'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\messenger_cache'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\tutorial_cache'), True, True, True);
  DelTree(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\xvm'), True, True, True);
  //=== създава ги наново, вече чисти.
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\account_caches'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\battle_results'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\custom_data'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\dossier_cache'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\messenger_cache'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\tutorial_cache'));
  CreateDir(ExpandConstant('{userappdata}\wargaming.net\WorldOfTanks\xvm'));
  WizardForm.ProgressGauge.Show;
  WizardForm.StatusLabel.Caption:=SetupMessage(msgStatusExtractFiles);
end;
end;
///=== функцията да трием и след това създаване наново папка Updates
function ClearUpdate(): Boolean;
begin
  If NewCheckBoxClearUpdate.Checked then
begin
   WizardForm.ProgressGauge.Hide;
   WizardForm.StatusLabel.Caption:='Трием update файловете...';
   DelTree(ExpandConstant('{app}\Updates'), True, True, True);   //== изтрива я
   CreateDir(ExpandConstant('{app}\Updates'));                   //== създава я наново
   WizardForm.ProgressGauge.Show;
   WizardForm.StatusLabel.Caption:=SetupMessage(msgStatusExtractFiles);
end;
end;
///=== процедурите за изпълнение на функциите
procedure CurStepChanged(CurStep: TSetupStep);
begin
  If CurStep=ssInstall then
begin
  DeleteOldMods();
  ClearCacheCreate();
  ClearUpdate();
end;
end;

procedure InitializeWizard();
begin
  BackupCheck();
end;

 

@AtotIK

Вопрос:

Как изменить цвет BackUp страница (верхний код) и добавить картинка ?

А как изменить цвет текста очистить кэш???

Share this post


Link to post

Short link
Share on other sites

А как изменить цвет текста очистить кэш???

NewCheckBoxClearCache.Font.Color := clLime или $00FF00;

Share this post


Link to post

Short link
Share on other sites

Парни, ПОМОГИТЕ!!!

 

post-31076-0-58557100-1427107880_thumb.jpg

 

Как сделать, чтобы при повторном запуске:

1. Отмена выбора компонента, удаляла его из папки.

2. Другие файлы в папке не удалять (установленные не инсталлятором).

 

Спасибо!!! 

Edited by sergey spb

Share this post


Link to post

Short link
Share on other sites

Парни, ПОМОГИТЕ!!!

Как сделать, чтобы при повторном запуске:

1. Отмена выбора компонента, удаляла его из папки.

2. Другие файлы в папке не удалять (установленные не инсталятором).

Реализации на инно не видел ещё, это в стиле установщиков MSI.

Если я правильно подумал, то такое довольно гемморно сделать, придётся придумывать велосипед. Оно того не стоит.

Edited by Kotyarko_O
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
Реально ли в разделе "компоненты" сделать показ картинок при выборе модов

Конечно.

Edited by Kotyarko_O
  • Upvote 1

Share this post


Link to post

Short link
Share on other sites

 

 

Отмена выбора компонента, удаляла его из папки.

Это не велосипед, а велосипедище. Маловероятно такое реализовать, если вообще "невозможно".

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