• Provozní plány portálu Překlady her pro rok 2024

    31.3. přejde portál do režimu pouze pro čtení, tedy bude možné dála stahovat překlady, ale již nebude možné se registrovat a jakkoliv přispívat do diskusí kromě překladatelů
    31.12. dojde k ukončení provozu portálu Překlady her

    Za celý tým, který se od založení staral o tento portál, bychom vám chtěli poděkovat za vaši přízeň. Bylo to dlouhých 9 let našich životů. Všechno někdy končí, aby něco nového mohlo začít.
    Za mě jako provozovatele bych chtěl poděkovat všem lidem, kteří svojí prací přispěli k chodu celého portálu, všem překladatelům, kteří sem přispívali svými díly, a i vám všem, kteří jste se rozhodli nás, jakkoliv podpořit.

Instalátor pro hry na EGS

Jetro

Překladatel
Příspěvky
1.937
Řešení
1
Skóre reakcí
3.325
Bodů
0
Ahoj, neřešil jste už někdo vlastní instalátor pro hry na Epic Games Store? Používám NSIS s upraveným skriptem, který nemá problém s hrami na Steamu a Uplay. Hru si najde podle záznamu v registru a uživateli nabídne instalaci s přednastavenou cestou. Problém je s hrami na EGS, kde žádný takový unikátní záznam v registrech, podle kterého by si instalátor dokázal zjistit, kde je hra nainstalovaná, nemůžu najít. Nemá s tím někdo zkušenosti? Díky.
 
Řešení
Ja som Epic neriešil a zisťujem, že to bude komplikovanejšie, než čítať registre.

Z registrov bude potrebné načítať hodnotu z:
64bit OS = "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Epic Games\EpicGamesLauncher\AppDataPath"

32bit OS (len tipujem) = "HKEY_LOCAL_MACHINE\SOFTWARE\Epic Games\EpicGamesLauncher\AppDataPath"

Tak nájdeš adresár, kam si Epic Launcher ukladá info o nainštalovaných hrách. (u mňa C:\ProgramData\Epic\EpicGamesLauncher\Data\)

V tom adresári sa nachádza adresár "Manifests" a v ňom sú jednotlivé manifesty nainštalovaných hier.
Takže budeš potrebovať zistiť, ktorý .item súbor patrí ku ktorej hre. Nie je to ťažké, lebo .item = JSON formát.

Pozn. Možno je táto cesta k manifestom u každého rovnaká. Ak by...
Ja som Epic neriešil a zisťujem, že to bude komplikovanejšie, než čítať registre.

Z registrov bude potrebné načítať hodnotu z:
64bit OS = "HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Epic Games\EpicGamesLauncher\AppDataPath"

32bit OS (len tipujem) = "HKEY_LOCAL_MACHINE\SOFTWARE\Epic Games\EpicGamesLauncher\AppDataPath"

Tak nájdeš adresár, kam si Epic Launcher ukladá info o nainštalovaných hrách. (u mňa C:\ProgramData\Epic\EpicGamesLauncher\Data\)

V tom adresári sa nachádza adresár "Manifests" a v ňom sú jednotlivé manifesty nainštalovaných hier.
Takže budeš potrebovať zistiť, ktorý .item súbor patrí ku ktorej hre. Nie je to ťažké, lebo .item = JSON formát.

Pozn. Možno je táto cesta k manifestom u každého rovnaká. Ak by bola, tak netreba čítať registre, ale stačí rovno čítať JSON súbor: $APPDATA\Epic\EpicGamesLauncher\Data\Manifests\__HASH_HRY__.item

V tom .item súbore je parameter "InstallLocation", kde sa (KONEČNE!) dozvieš, kde je reálne hra uložená.

---- TLDR; ----
  1. NSIS číta value z registra: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Epic Games\EpicGamesLauncher\AppDataPath
  2. NSIS parsuje obsah JSON súboru, príklad: C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests\CEC32ADC4F21045242353C9E0E652520.item (to je pre The Division 2)
  3. NSIS načíta z JSONu hodnotu "InstallLocation"

Čítať JSON v NSIS som ale neskúšal.
 
Řešení
Díky, Merline, tohle už je pro mě "vyšší dívčí", takže tvé poznatky předám dál, snad se zadaří.
 
Back
Top