I've made an Xbox Live implementation that worked fine tested couple years ago, for C++ DX11 UWP game, using the Microsoft.Xbox.Live.SDK.Cpp.UWP.2018.6.20181010.2 from NuGet To be released for Creators program Xbox game.
Using following API's like this:
static std::shared_ptr<xbox::services::system::xbox_live_user> XboxUser;
static std::shared_ptr<xbox::services::xbox_live_context > XboxCtx;
static Windows::Gaming::XboxLive::Storage::GameSaveProvider ^GameSaveProvider;
static Windows::Gaming::XboxLive::Storage::GameSaveContainer ^GameSaveContainer;
XboxUser=std::make_shared<xbox::services::system::xbox_live_user>();
XboxUser->signin_silently().then([this](xbox::services::xbox_live_result<xbox::services::system::sign_in_result> result)
Now I'm trying to test it again, keep getting problems/errors
The app shows "we couldn't sign you in" 0x87DD0005
VS output shows:
onecore\com\combase\dcomrem\resolver.cxx(2299)\combase.dll!00007FFD92421BED: (caller: 00007FFD92424ACE) ReturnHr(1) tid(4e4) 80040154 Class not registered
onecore\com\combase\dcomrem\resolver.cxx(2507)\combase.dll!00007FFD92424AF6: (caller: 00007FFD92421585) ReturnHr(2) tid(4e4) 80040154 Class not registered
Exception thrown at 0x00007FFD91D24F69 (KernelBase.dll) in Into The Dark.exe: 0x406D1388 (parameters: 0x0000000000001000, 0x0000000000000000, 0x0000000000005D1C).
'Into The Dark.exe' (Win32): Loaded 'C:\Windows\System32\Windows.ApplicationModel.dll'.
'Into The Dark.exe' (Win32): Loaded 'C:\Windows\System32\rometadata.dll'.
'Into The Dark.exe' (Win32): Loaded 'C:\Windows\System32\WinMetadata\Windows.System.winmd'. Module was built without symbols.
'Into The Dark.exe' (Win32): Loaded 'C:\Windows\System32\Windows.Security.Authentication.Web.Core.dll'.
'Into The Dark.exe' (Win32): Loaded 'C:\Windows\System32\OneCoreCommonProxyStub.dll'.
'Into The Dark.exe' (Win32): Loaded 'C:\Windows\System32\vaultcli.dll'.
'Into The Dark.exe' (Win32): Loaded 'C:\Windows\System32\XblAuthTokenBrokerExt.dll'.
'Into The Dark.exe' (Win32): Loaded 'C:\Windows\System32\XblAuthManagerProxy.dll'.
onecoreuap\xbox\xblauth\tokenbrokerext\dll\xblauth.cpp(824)\XblAuthTokenBrokerExt.dll!00007FFD71ACC318: (caller: 00007FFD71ACAE19) LogHr(1) tid(d90) 87DD0005 onecoreuap\xbox\xblauth\tokenbrokerext\dll\xblauth.cpp(518)\XblAuthTokenBrokerExt.dll!00007FFD71ACB4BF: (caller: 00007FFD71ACA693) ReturnHr(1) tid(d90) 80070490 Element not found.
04/21/22 13:26:21 [22408] error - Get token from IDP failed with ResponseStatus:3
'Into The Dark.exe' (Win32): Loaded 'C:\Windows\System32\Windows.StateRepositoryClient.dll'.
onecoreuap\xbox\xblauth\tokenbrokerext\dll\xblauth.cpp(824)\XblAuthTokenBrokerExt.dll!00007FFD71ACC318: (caller: 00007FFD71ACAE19) LogHr(2) tid(d90) 87DD0005 onecoreuap\xbox\xblauth\tokenbrokerext\dll\xblauth.cpp(518)\XblAuthTokenBrokerExt.dll!00007FFD71ACB4BF: (caller: 00007FFD71ACA693) ReturnHr(2) tid(d90) 80070490 Element not found.
onecore\com\combase\dcomrem\preventrundownbias.cpp(1310)\combase.dll!00007FFD9244D3AC: (caller: 00007FFD9244D1D9) LogHr(1) tid(3e90) 80070005 Access is denied.
I think I did everything right in the app setup.
I went to https://github.com/microsoft/xbox-live-samples
Which looks completely outdated, projects are for VS 2017 and fail to compile. Did MS just drop the XboxLive support for UWP API? Xbox documentation is not helpful at all. I have absolutely no idea what's the problem, what API to use, what samples to use.
UPDATE 1-25-2023: I can confirm that the C# version can be installed to VS2022 and used without issue after further testing, so I see no reason to suggest that C++ wouldn't have the same result. That said, UWP is kind of deemphasized at this point so I can understand your frustration. But my ID@Xbox project does sign in using the C# version of the runtime.