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; ----
- NSIS číta value z registra: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Epic Games\EpicGamesLauncher\AppDataPath
- NSIS parsuje obsah JSON súboru, príklad: C:\ProgramData\Epic\EpicGamesLauncher\Data\Manifests\CEC32ADC4F21045242353C9E0E652520.item (to je pre The Division 2)
- NSIS načíta z JSONu hodnotu "InstallLocation"
Čítať JSON v NSIS som ale neskúšal.