Jump to content
Korean Random
EvilAlex

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

Recommended Posts

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

Share this post


Link to post

Short link
Share on other sites
1 час назад, zloyfilya сказал:

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

Эммм, што?

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
15 часов назад, Ekspoint сказал:

Эммм, што?

Мне нужно прям хорошо работающая очистка клиента игры аля как писал выше
PEorxiVw.png?download=1&name=%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%2030-12-2020%2019:17:10.png или ruMQVlxJ.png?download=1&name=%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%2031-12-2020%2014:29:22.png

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

Share this post


Link to post

Short link
Share on other sites

А как она может не появляться при каждом запуске? Вы проверяете какие-то данные и только потом отображаете что на скриншотах? Инсталлятор показывает то, что ему сказали отобразить. А вот если идут дополнительные проверки, то смотрите в них. Какой вопрос, такой ответ.

Share this post


Link to post

Short link
Share on other sites
11.08.2021 в 04:08, zloyfilya сказал:

Мне нужно прям хорошо работающая очистка клиента игры аля как писал выше
PEorxiVw.png?download=1&name=%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%2030-12-2020%2019:17:10.png или ruMQVlxJ.png?download=1&name=%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%2031-12-2020%2014:29:22.png

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

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

Edited by Ekspoint

Share this post


Link to post

Short link
Share on other sites
11.08.2021 в 06:08, zloyfilya сказал:

Мне нужно прям хорошо работающая очистка клиента игры аля как писал выше
 или 

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

 

Хорошую очистку клиента игры вам обеспечит только WMCleaner. Юзайте его консольным способом в своем модпаке. Аргументы командной строки есть в оф. теме. Ссылка в моей подписи.

  • Upvote 1

Share this post


Link to post

Short link
Share on other sites
12.08.2021 в 10:18, AtotIK сказал:

А как она может не появляться при каждом запуске? Вы проверяете какие-то данные и только потом отображаете что на скриншотах? Инсталлятор показывает то, что ему сказали отобразить. А вот если идут дополнительные проверки, то смотрите в них. Какой вопрос, такой ответ.

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

Share this post


Link to post

Short link
Share on other sites

Здравствуйте подскажите как сделать что бы установщик автоматически определял на каком диске стоит игра ???

Share this post


Link to post

Short link
Share on other sites
30 минут назад, P.S.Enot сказал:

Здравствуйте подскажите как сделать что бы установщик автоматически определял на каком диске стоит игра ???

 Все есть на форуме и в теме, только надо поискать...

Вот пример поиска по реестру установленной игры!

[Code]
function WotDirNameRU(Path: String): String; // ключ для основного клиента  {1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1
begin
 if RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then
 begin
  RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path);
  Result := Path
 end else
 if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then
 begin
  RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path);
  Result := Path
 end else
 if RegKeyExists(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then
 begin
  RegQueryStringValue(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path);
  Result := Path
 end else
 if RegKeyExists(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then
 begin
  RegQueryStringValue(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path);
  Result := Path
 end else
  Result := ExpandConstant('C:\Games\World_of_Tanks\');
end;
//""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""//

код рабочий только  потом надо Вам знать куда его вставить...

Вот например тема 

 

Edited by Nowik1971

Share this post


Link to post

Short link
Share on other sites
1 минуту назад, Nowik1971 сказал:

 Все есть на форуме и в теме, только надо поискать...

Вот пример поиска по реестру установленной игры!


[Code]
function WotDirNameRU(Path: String): String; // ключ для основного клиента  {1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1
begin
 if RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then
 begin
  RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path);
  Result := Path
 end else
 if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then
 begin
  RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path);
  Result := Path
 end else
 if RegKeyExists(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then
 begin
  RegQueryStringValue(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path);
  Result := Path
 end else
 if RegKeyExists(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1') then
 begin
  RegQueryStringValue(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812RU}_is1', 'InstallLocation', Path);
  Result := Path
 end else
  Result := ExpandConstant('C:\Games\World_of_Tanks\');
end;
//""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""//
function WotDirNameCT(Path: String): String; // ключ для тестового клиента {1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1
begin
 if RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1') then
 begin
  RegQueryStringValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1', 'InstallLocation', Path);
  Result := Path
 end else
  if RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1') then
 begin
  RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1', 'InstallLocation', Path);
  Result := Path
 end else
 if RegKeyExists(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1') then
 begin
  RegQueryStringValue(HKCU, 'SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1', 'InstallLocation', Path);
  Result := Path
 end else
 if RegKeyExists(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1') then
 begin
  RegQueryStringValue(HKCU, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{1EAC1D02-C6AC-4FA6-9A44-96258C37C812CT}_is1', 'InstallLocation', Path);
  Result := Path
 end else
  Result := ExpandConstant('C:\Games\World_of_Tanks_CT');
end;

 

и что с этим делать и  куда вставлять. ну и как подключить все это добро??

Share this post


Link to post

Short link
Share on other sites
8 минут назад, P.S.Enot сказал:

и что с этим делать и  куда вставлять. ну и как подключить все это добро??

Читайте За вас здесь никто ничего делать не будет, я месяц разбирался потом купил и учил на примере и потом когда немного понял уже стал переделывать на свой лад и то это было давно щас уже все забыл...

А так вообще рассказываю.... берете этот скрипт, открываете инно сетуп создаете файл с этим содержимым, обзываете его например: "авто определение пути к папке с игрой.iss"

Затем в шапке основного скрипта подключаете его...

например так как у меня по старинке ::: 

 #include "скрипты инсталлятора\авто определение пути к папке с игрой.iss"

с обязательным указанием пути где лежит скрипт...

вот и все!!!

Искать будет по реестру установки в виндах, но не будет после переустановки виндов, так что в теме что выше ссылку дал есть ответ как и без реестра....

Ученье Вам в помощь и удачи!!!

Edited by Nowik1971
  • 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

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

Share this post


Link to post

Short link
Share on other sites
4 часа назад, P.S.Enot сказал:

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

это есть в коде бэкапа

Share this post


Link to post

Short link
Share on other sites
19 минут назад, Ekspoint сказал:

это есть в коде бэкапа

Спасибо сделал :no1:

Share this post


Link to post

Short link
Share on other sites
01.10.2021 в 19:59, P.S.Enot сказал:

Здравствуйте подскажите как сделать что бы установщик автоматически определял на каком диске стоит игра ???

 

Лучше используйте это: https://gitlab.com/xvm/xvm-extensions/xfw.extensionlib/-/releases

Share this post


Link to post

Short link
Share on other sites
3 минуты назад, P.S.Enot сказал:

еще бы знать что конкретно от туда скачивать какой зип архив и что и как 

Скачивать XFW.ExtensionLib_2021.05.01.zip, брать в архиве файл xvmextensions.x86_32.dll, файл примера там же.

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