Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GTA5: "You need a new application to open this com.epicgames.launcher link." message pops up. (Windows 10) #3643

Closed
ZGURemixer opened this issue Mar 23, 2024 · 26 comments
Labels
bug:unconfirmed Someone works on identifying the issue

Comments

@ZGURemixer
Copy link

ZGURemixer commented Mar 23, 2024

Describe the bug

After uninstalling the official Epic Games launcher and installing Heroic on my PC running Windows 10, when I open Grand Theft Auto 5, the launcher with the Rockstar DRM opens without problems, but when it tries to start the game, nothing happens and this message appears.

I have tested the Heroic launcher on a different device that never had an installation of the official Epic Games launcher using Windows 11 and this problem has not occurred. Some trace of the Epic Games launcher installation must be preventing the Heroic/Legendary protocol from being associated correctly.

I have tried changing the com.epicgames.launcher protocool on the registry myself using this .reg file I manually modified, but nothing seems to happen.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Classes\com.epicgames.launcher]
@="URL:com.epicgames.launcher Protocol"
"URL Protocol"=""

[HKEY_CURRENT_USER\SOFTWARE\Classes\com.epicgames.launcher\shell]
[HKEY_CURRENT_USER\SOFTWARE\Classes\com.epicgames.launcher\shell\open]
[HKEY_CURRENT_USER\SOFTWARE\Classes\com.epicgames.launcher\shell\open\command]
@="\"C:\\Users\\Roger\\AppData\\Local\\Programs\\heroic\\Heroic.exe\" \"%1\""

Add logs

(18:05:10) INFO:    [Legendary]:        Legendary location: C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\legendary
(18:05:10) INFO:    [Gog]:              GOGDL location: C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\gogdl
(18:05:10) INFO:    [Connection]:       Connectivity: check-online
(18:05:10) INFO:    [Connection]:       Pinging external endpoints
(18:05:11) INFO:    [Gog]:              Checking for existing gog manifests
(18:05:11) INFO:    [Backend]:          DRM module staus {
  "neifaoindggfcjicffkgpmnlppeffabd": {
    "name": "Google Widevine Windows CDM",
    "status": "new",
    "version": "1.0.2738.0"
  },
  "oimompecagnajdejgnnjijobebaeigek": {
    "name": "Widevine Content Decryption Module",
    "status": "new",
    "version": "4.10.2710.0"
  }
}
(18:05:11) INFO:    [Legendary]:        installed.json updated, refreshing library
(18:05:11) WARNING: [Backend]:          Protocol already registered.
(18:05:11) INFO:    [Connection]:       Connectivity: online
(18:05:11) INFO:    [Gog]:              Checking if login is valid
(18:05:11) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\gogdlConfig powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\gogdl`"" -Wait -ArgumentList "`"--auth-config-path`"","`"C:\Users\Roger\AppData\Roaming\heroic\gog_store\auth.json`"","`"auth`"" -NoNewWindow
(18:05:11) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\gogdlConfig powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\gogdl`"" -Wait -ArgumentList "`"--auth-config-path`"","`"C:\Users\Roger\AppData\Roaming\heroic\gog_store\auth.json`"","`"auth`"" -NoNewWindow
(18:05:11) INFO:    [Frontend]:         Refreshing undefined Library
(18:05:11) WARNING: [Backend]:          refresh not implemented on Sideload Library Manager
(18:05:11) INFO:    [Legendary]:        Refreshing library...
(18:05:11) INFO:    [Legendary]:        Refreshing Epic Games...
(18:05:11) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\gogdlConfig powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\gogdl`"" -Wait -ArgumentList "`"--auth-config-path`"","`"C:\Users\Roger\AppData\Roaming\heroic\gog_store\auth.json`"","`"auth`"" -NoNewWindow
(18:05:11) INFO:    [Backend]:          Frontend Ready
(18:05:11) INFO:    [ProtocolHandler]:  received 'heroic://launch/legendary/9d2d0eb64d5c44529cece33fe2a46482'
(18:05:11) INFO:    [Backend]:          Launching Grand Theft Auto V (9d2d0eb64d5c44529cece33fe2a46482)
(18:05:11) INFO:    [Backend]:          Preventing display from sleep
(18:05:11) INFO:    [Backend]:          Preventing machine to sleep
(18:05:11) INFO:    [Backend]:          Checking for new Heroic Updates
(18:05:11) INFO:    [Backend]:          Checking for current version changelog
(18:05:12) INFO:    [Backend]:          VCRuntime is installed
(18:05:12) INFO:    [Backend]:          Started Discord Rich Presence
(18:05:12) INFO:    [Legendary]:        Launching Grand Theft Auto V: HEROIC_APP_NAME=9d2d0eb64d5c44529cece33fe2a46482 HEROIC_APP_RUNNER=legendary HEROIC_APP_SOURCE=epic LEGENDARY_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\legendaryConfig\legendary powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\legendary`"" -Wait -ArgumentList "`"launch`"","`"9d2d0eb64d5c44529cece33fe2a46482`"","`"--language`"","`"en`"" -NoNewWindow
(18:05:12) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\legendaryConfig\legendary powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\legendary`"" -Wait -ArgumentList "`"list`"","`"--third-party`"" -NoNewWindow
(18:05:12) INFO:    [Backend]:          Stopping Power Saver Blocker
(18:05:12) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\legendaryConfig\legendary powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\legendary`"" -Wait -ArgumentList "`"--version`"" -NoNewWindow
(18:05:12) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\gogdlConfig powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\gogdl`"" -Wait -ArgumentList "`"--auth-config-path`"","`"C:\Users\Roger\AppData\Roaming\heroic\gog_store\auth.json`"","`"--version`"" -NoNewWindow
(18:05:12) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\nile_config powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\nile`"" -Wait -ArgumentList "`"--version`"" -NoNewWindow
(18:05:12) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\legendaryConfig\legendary powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\legendary`"" -Wait -ArgumentList "`"--version`"" -NoNewWindow
(18:05:12) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\gogdlConfig powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\gogdl`"" -Wait -ArgumentList "`"--auth-config-path`"","`"C:\Users\Roger\AppData\Roaming\heroic\gog_store\auth.json`"","`"--version`"" -NoNewWindow
(18:05:12) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\nile_config powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\nile`"" -Wait -ArgumentList "`"--version`"" -NoNewWindow
(18:05:13) INFO:    [WineDownloader]:   Updating wine versions info
(18:05:13) INFO:    [WineDownloader]:   Fetching upstream information...
(18:05:15) INFO:    [Backend]:          
System Information:
CPU: 12x AMD Ryzen 5 5600X 6-Core Processor             
Memory: 17.1 GB (used: 8.87 GB)
GPUs:
  GPU 0:
    Name: Advanced Micro Devices, Inc. [AMD/ATI] Radeon RX 480
    IDs: D=67df V=1002 SD=9480 SV=1682
    Driver: 31.0.21023.2010
OS: Microsoft Windows 10 Pro 10.0.19045 (win32)

The current system is not a Steam Deck
We are not running inside a Flatpak container

Software Versions:
  Heroic: 2.13.0 Dorry & Broggy
  Legendary: 0.20.34 Direct Intervention
  gogdl: 1.0.0
  Nile: 1.0.1 Jonathan Joestar

(18:05:15) INFO:    [Gog]:              Getting GOG library
(18:05:15) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\gogdlConfig powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\gogdl`"" -Wait -ArgumentList "`"--auth-config-path`"","`"C:\Users\Roger\AppData\Roaming\heroic\gog_store\auth.json`"","`"auth`"" -NoNewWindow
(18:05:15) INFO:    [WineDownloader]:   wine versions updated
(18:05:15) ERROR:   [Backend]:          Could not find default wine version
(18:05:15) INFO:    [Legendary]:        Game list updated, got 126 games & DLCs
(18:05:15) INFO:    [Gog]:              Saved username to config file
(18:05:16) INFO:    [Backend]:          Starting the Download Queue
(18:05:18) INFO:    [Gog]:              Saved games data
(18:05:18) WARNING: [Backend]:          listUpdateableGames not implemented on Sideload Library Manager
(18:05:18) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\gogdlConfig powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\gogdl`"" -Wait -ArgumentList "`"--auth-config-path`"","`"C:\Users\Roger\AppData\Roaming\heroic\gog_store\auth.json`"","`"auth`"" -NoNewWindow
(18:05:20) INFO:    [Gog]:              Found 0 game(s) to update
(18:05:20) INFO:    [Legendary]:        Checking for game updates: LEGENDARY_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\legendaryConfig\legendary powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\legendary`"" -Wait -ArgumentList "`"list`"","`"--third-party`"" -NoNewWindow
(18:05:21) INFO:    [Backend]:          Stopped Discord Rich Presence
(18:05:21) INFO:    [Backend]:          Stopping Display Power Saver Blocker
(18:05:23) INFO:    [Legendary]:        Found 0 games to update
(18:08:00) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\legendaryConfig\legendary powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\legendary`"" -Wait -ArgumentList "`"--version`"" -NoNewWindow
(18:08:00) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\gogdlConfig powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\gogdl`"" -Wait -ArgumentList "`"--auth-config-path`"","`"C:\Users\Roger\AppData\Roaming\heroic\gog_store\auth.json`"","`"--version`"" -NoNewWindow
(18:08:00) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\nile_config powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\nile`"" -Wait -ArgumentList "`"--version`"" -NoNewWindow
(18:08:00) INFO:    [Legendary]:        Checking if EOS Overlay is enabled: LEGENDARY_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\legendaryConfig\legendary powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\legendary`"" -Wait -ArgumentList "`"eos-overlay`"","`"info`"" -NoNewWindow
(18:08:01) INFO:    [Legendary]:        Abort command "LEGENDARY_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\legendaryConfig\legendary powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\legendary`"" -Wait -ArgumentList "`"eos-overlay`"","`"info`"" -NoNewWindow"
(18:11:07) INFO:    [Legendary]:        Running command: LEGENDARY_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\legendaryConfig\legendary powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\legendary`"" -Wait -ArgumentList "`"--version`"" -NoNewWindow
(18:11:07) INFO:    [Gog]:              Running command: GOGDL_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\gogdlConfig powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\gogdl`"" -Wait -ArgumentList "`"--auth-config-path`"","`"C:\Users\Roger\AppData\Roaming\heroic\gog_store\auth.json`"","`"--version`"" -NoNewWindow
(18:11:07) INFO:    [Nile]:             Running command: NILE_CONFIG_PATH=C:\Users\Roger\AppData\Roaming\heroic\nile_config powershell Start-Process "`"C:\Users\Roger\AppData\Local\Programs\heroic\resources\app.asar.unpacked\build\bin\win32\nile`"" -Wait -ArgumentList "`"--version`"" -NoNewWindow

Steps to reproduce

  1. Install the official Epic Games Launcher.
  2. Install Grand Theft Auto V and the Rockstar Launcher through EGS.
  3. Run Grand Theft Auto V once through EGS.
  4. Uninstall Grand Theft Auto V, Epic Games Client, and the Rockstar Launcher through a tool like Revo Uninstaller.
  5. Install Heroic.
  6. Install Grand Theft Auto V and the Rockstar Launcher through Heroic.
  7. Run Grand Theft Auto V once through Heroic.

Expected behavior

I expected a full re-installation of Heroic to fix the broken link association in the registry, but no.

Screenshots

No response

Heroic Version

Latest Stable

System Information

OS: Microsoft Windows 10 Pro 10.0.19045

Additional information

No response

@ZGURemixer ZGURemixer added the bug:unconfirmed Someone works on identifying the issue label Mar 23, 2024
@ZGURemixer ZGURemixer changed the title GTA5: "You need a new application to open this com.epicgames.launcher link." message pops up. GTA5: "You need a new application to open this com.epicgames.launcher link." message pops up. (Windows 10) Mar 23, 2024
@LutherNikolaevich
Copy link

I also have this error though rdr2 works fine from steam

@ani9730
Copy link

ani9730 commented Apr 1, 2024

I too was facing this error when i downloaded gta5. Any reasons?
I am currently on Windows 11.

@arielj
Copy link
Collaborator

arielj commented Apr 1, 2024

for rockstar games to work, use the workaround explained in discord https://discord.com/channels/812703221789097985/1210747284086849578 (I should actually move it to a wiki page at some point)

@ani9730
Copy link

ani9730 commented Apr 1, 2024

https://discord.com/channels/812703221789097985/1210747284086849578

The link is not working well (Sorry if I am wrong but i am new to discord)
Screenshot 2024-04-01 213526

@arielj
Copy link
Collaborator

arielj commented Apr 1, 2024

I guess you first need to join the discord server before opening that link, check https://discord.gg/rHJ2uqdquK

@arielj
Copy link
Collaborator

arielj commented Apr 1, 2024

I added a wiki page to make it easier https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/wiki/Rockstar-Games:-Code-134-Error-(workaround)

@LutherNikolaevich
Copy link

It still doesn't fix the one I'm facing, it only launches the rockstar launcher
image
even if you wait for a decade, the game won't gonna launch.

@ani9730
Copy link

ani9730 commented Apr 2, 2024

It still doesn't fix the one I'm facing, it only launches the rockstar launcher image even if you wait for a decade, the game won't gonna launch.

It didnt work for me either, instead
first open rockstar game launcher
then set the alternate exe file to playGTA5.exe and then open the game using heroic launcher, then after some delay, it should work.

@LutherNikolaevich
Copy link

It still doesn't fix the one I'm facing, it only launches the rockstar launcher image even if you wait for a decade, the game won't gonna launch.

It didnt work for me either, instead first open rockstar game launcher then set the alternate exe file to playGTA5.exe and then open the game using heroic launcher, then after some delay, it should work.

This method works! Thank you so much!

@Atops93
Copy link

Atops93 commented May 13, 2024

THANK YOU IT WORKED!!

@arielj
Copy link
Collaborator

arielj commented Aug 11, 2024

Rockstar changed something on their side and this is not showing up anymore and the workaround mentioned in the wiki (for the error 134) is also not needed anymore.

@arielj arielj closed this as completed Aug 11, 2024
@DionKill
Copy link

Am I the only one who's facing the issue again? I tried both the PlayGTAV.exe method and the fix.bat, but I still have that com.epicgames.launcher error at startup. I'm running Windows 11 Pro.
epic

@Synnef-8826
Copy link

Synnef-8826 commented Aug 23, 2024

It seems to be more of a Legendary issue than a Heroic issue. Using Legendary through Playnite (or through command line, I also tried) spits out the same error until you install EGL. There's this issue on the Legendary repo but it's a bit old and not well described. When you do install EGL, for me it's like the game is trying to launch twice, with the R* launcher asking for permission both when launching and when the Epic launcher opens.

To add something to the OP's description, I'm pretty sure there's nothing about the official Epic launcher messing with the launch process, I never had EGL installed on my current Windows 10 Home installation and still ran into the problem when downloading GTAV on Epic.

@DionKill
Copy link

Yeah I did a fresh installation of Win11 about a month ago and ran into this problem yesterday. I don't play GTA V very often, I've never installed Epic on my computer and never will because I prefer this launcher. Let's hope for a fix I guess.

@Doc-4
Copy link

Doc-4 commented Aug 25, 2024

I wrote a stopgap way to fix this.

The problem is when legendary (or EGL) launch the game, that calls Rockstar's garbage launcher, which fires a URI back to EGL (com.epicgames.launcher). Legendary doesn't intercept URIs meant for EGL (presumably in the name of interoperability with EGL), so it fails.

Only follow these instructions if you never intend to install EGL or are on linux, which means prefixes are disposable and you probably never used EGL anyway. This change will fix GTA if EGL is not present, but will also break parts of EGL if it is present.

I will not help you troubleshoot this if you disregard this warning and run the file anyway

Download the attached .reg file

Windows: Run the reg file, confirm yes until changes are merged. That's it, you're done.

Linux: Identify the location of your wine prefix. Fill in the appropriate user information for yourself within the CLI template below and paste it into your terminal. If you do not know how to do this, it's worth your time to learn how wine works and how to manage wine prefixes, not every game or launcher is going to play nice and it's often necessary to micromanage them :/

WINEPREFIX="/path/to/prefix" wine regedit "/path/to/FixGTAV.reg"

Heroic & Legendary devs had the foresight to do this automatically in Heroic on Linux, you don't need to do anything 🙂

(out of curiosity, can someone more knowledgeable than me can tell me why this results in the entire process failing instead of just moving on regardless of whether or not the URI succeeded?)

FixGTAV.zip

@Synnef-8826
Copy link

Yes, this also seems to be a somewhat recent change on R*'s end, I was able to launch GTAV just fine some time ago (and probably any other game that uses their launcher). Bold move to hardcode a call to EGL after it worked fine for everyone for this long.

So until Legendary updates to handle this on its own (or R* reverts the change) there's no official fix in sight, sadly. Thanks for the temporary fix though!

@DionKill
Copy link

Thank you both so much! Now GTA launches perfectly fine! But I've just noticed that outside of the game my keyboard is super slow and unresponsive, it takes like 10 seconds to register a key press. My PC isn't slow either, just that my keyboard is ridiculously slow. I don't think I had this issue before, not sure if it's correlated.

@Doc-4
Copy link

Doc-4 commented Aug 25, 2024

Thank you both so much! Now GTA launches perfectly fine! But I've just noticed that outside of the game my keyboard is super slow and unresponsive, it takes like 10 seconds to register a key press. My PC isn't slow either, just that my keyboard is ridiculously slow. I don't think I had this issue before, not sure if it's correlated.

All the registry edit does is define the URI protocol (as nothing 😆) for EGL. Most likely not related, but I'll admit I did not actually go far into game after testing that it worked and launched. I'll test it.

Edit: Oh, outside the game? Yeah, definitely unrelated.

@CommandMC
Copy link
Collaborator

Hello all. I've done some more digging, it seems that all you need is the actual com.epicgames.launcher key, so you could also add this by opening an administrative command prompt and running reg add HKCR\com.epicgames.launcher

As to why this works like this (just "breaking" the protocol): No idea. We've actually tested implementing this protocol correctly (following Epic Games' docs), and that didn't work. Really no idea on that one

Note that this workaround is not necessary on non-Windows OSs, as we already set this registry key on prefix creation:

// Fixes games like Fallout New Vegas and Dishonored: Death of the Outsider
await runWineCommand({
gameSettings,
commandParts: [
'reg',
'add',
'HKEY_CLASSES_ROOT\\com.epicgames.launcher',
'/f'
],
wait: true,
protonVerb: 'run'
})

@Doc-4
Copy link

Doc-4 commented Aug 25, 2024

Hello all. I've done some more digging, it seems that all you need is the actual com.epicgames.launcher key, so you could also add this by opening an administrative command prompt and running reg add HKCR\com.epicgames.launcher

As to why this works like this (just "breaking" the protocol): No idea. We've actually tested implementing this protocol correctly (following Epic Games' docs), and that didn't work. Really no idea on that one

Note that this workaround is not necessary on non-Windows OSs, as we already set this registry key on prefix creation:

// Fixes games like Fallout New Vegas and Dishonored: Death of the Outsider
await runWineCommand({
gameSettings,
commandParts: [
'reg',
'add',
'HKEY_CLASSES_ROOT\\com.epicgames.launcher',
'/f'
],
wait: true,
protonVerb: 'run'
})

I can't say I know enough to pinpoint exactly why doing this works, but it seems to satisfy whatever criteria the original process is looking for in seeing whether or not the call succeeded or failed. I wrote a similar set of scripts or reg entries to do the same thing for modified EA single player games on Steam (& on Linux) since every last one of them manually invokes the link2ea URI, and I got tired of dealing with their garbage launcher. Same behavior there, so long as an entry for the URI is present, it works.

That's why I'm curious about why. If I were a better reverse engineer I'd probably try to debug and trace the behavior. Or maybe URI standards on Windows are documented somewhere?

@CommandMC
Copy link
Collaborator

it seems to satisfy whatever criteria the original process is looking for

That's the weird part actually, the launcher is not looking for anything. I've logged its registry access using ProcMon, it is not looking at that key at all

What I assume is happening is that:

  1. The R* launcher tells Windows to invoke the protocol (I assume Windows registry queries don't show up in ProcMon, or I just had my filters set wrong)
  2. If that doesn't work, the game is launched anyways
  3. If it does work, the R* launcher now verifies that something EGL-specific happened (maybe a file is created somewhere, or some unrelated process is spawned). If that doesn't happen, the game is not launched

That would explain both why it is now working, as well as why Heroic implementing that protocol might've not worked

@Doc-4
Copy link

Doc-4 commented Aug 25, 2024

it seems to satisfy whatever criteria the original process is looking for

That's the weird part actually, the launcher is not looking for anything. I've logged its registry access using ProcMon, it is not looking at that key at all

What I assume is happening is that:

  1. The R* launcher tells Windows to invoke the protocol (I assume Windows registry queries don't show up in ProcMon, or I just had my filters set wrong)
  2. If that doesn't work, the game is launched anyways
  3. If it does work, the R* launcher now verifies that something EGL-specific happened (maybe a file is created somewhere, or some unrelated process is spawned). If that doesn't happen, the game is not launched

That would explain both why it is now working, as well as why Heroic implementing that protocol might've not worked

While that is definitely possible, I'm more inclined to believe that this is the default behavior in Windows when a URI is called, the same way the default behavior for when it's called but isn't defined is for the entire thing to fail and Windows to complain that there's no program available for it.

Why would Rockstar go through the effort to make it so that their launcher aborts the game launch down the line if some specific part fails, but not also abort it at this much easier to reach branch? Software equivalent of an iron door next to a paper window. Granted, you probably have more context to draw from than I, and I may overestimate their sensibility.

@Synnef-8826
Copy link

I manually tested Doc-4's fix and it seems to skip EGL entirely. Same effect if you change the registry entry to wherever Legendary is installed (and probably if you set it to anything else, if CommandMC's guess is correct, I haven't checked). You only need to empty out com.epicgames.launcher\shell\open\command, for me at least.

@Doc-4
Copy link

Doc-4 commented Aug 25, 2024

@CommandMC I read your reply, asked a question in my head about why you didn't use procmon to trace the query and promptly forgot about it when responding even though you even kind of asked 🤦
ProcMon does let you trace registry queries, mostly within these filters if you want to specifically look for that operation. I believe it's regenumkey/regenumvalue?
image

@CommandMC
Copy link
Collaborator

Thank you. I did try to trace the query, but was unable to find anything yesterday. Alas, I did have my filters set wrong (I filtered the Process Name to contain "GTAV", "Rockstar", or "Epic", the process making the request is "Launcher.exe")

@Doc-4
Copy link

Doc-4 commented Aug 25, 2024

Ah, the generic thing you didn't filter for, I know the feeling

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug:unconfirmed Someone works on identifying the issue
Projects
None yet
Development

No branches or pull requests

9 participants