0

When being invited to a game by a friend, Xbox Game Bar (and previously) Xbox Console Companion need to be able to launch the application when you accept the invite.

On my computer I have 2 copies of Sea of Thieves installed, one MS Store, and one Steam.

Xbox Console Companion launches the 'correct' one which IMO is the MS Store.

Xbox Game Bar launches the 'incorrect' one which is the Steam copy.

It would seem that these 2 applications are using 2 different resolution methods, to work out which copy of the game to run.

By what mechanism is each of these applications using to resolve the installed games?

DLL Registration? Registry Keys? Protocol Registration registered to the applications?

1 Answers1

0

Partial Answer:

Game Bar, Non MSStore Games:

For non MSStore games, GameBar has a collection of registry keys based on the internal Xbox TitleID.

Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\XboxLive

Contains hives named by the the title id.

e.g. HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\XboxLive\804980065 corresponds to Sea of Thieves Insider.

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\XboxLive\1717113201 corresponds to Sea of Thieves.

Inside these registry nodes, is a protocol reference that is executed when this override / external game key is present.

AcceptProtocol = steam://run/1172630//?cmd=accept_{1}_{2}_{0}

and

JoinProtocol = steam://run/1172630//?cmd=join_{2}_{1}_{0}

Presumably, Accept is used when an invite is accepted, and Join Protocol is initiated when a game is joined without invitation.

The ID in the steam:// protocol is the steam appid of the title.

Game Bar, MSStore Game:

Xbox Console Companion, MSStore Game:

Xbox Console Companion, Non MSStore Game:

I believe this is unsupported.