Xbox One UWP:“激活请求失败”

Posted

技术标签:

【中文标题】Xbox One UWP:“激活请求失败”【英文标题】:Xbox One UWP : "activation request failed" 【发布时间】:2018-03-13 08:53:08 【问题描述】:

我正在尝试将 UWP 应用部署到设置为开发人员模式的零售 Xbox One。虽然该应用在 PC (x64) 上运行良好并通过了打包测试,但它无法在 Xbox 上启动,并显示以下消息:

无法激活 Windows 应用商店应用...。 xxx.exe 进程已启动,但激活请求失败并出现错误“应用程序未启动”。

与this issue 中的消息相同,所以我想我正在链接到 Xbox 不支持的库,但无法找到知道哪个库的方法。有没有办法激活/访问某种日志来告诉我它在启动的哪个步骤失败了?作为记录,我使用的库是常见的开源库(boost、OpenCV)或 MS 库(Cabinet、Angle)。我尝试了示例和更简单的项目,并且运行良好。

配置说明: 电脑:Windows 10.15063、Visual Studio 2017 Xbox : XDKS.1 June 2017

Update1 - 我错过了 VS 控制台中的一条消息,显然应用程序没有启动是因为缺少 DLL。还需要知道是哪一个。由于该应用程序在 PC 上本地运行,我想它是我的 PC 上而不是 Xbox 上的系统 DLL。

更新 2 - 我尝试通过激活 gflag 来跟踪启动时加载的所有 Dll

"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\gflags.exe" -i MyApp.exe +sls

Xbox 和 PC 之间的控制台输出在某种程度上是相似的

Xbox

'MyApp.exe' (Win32) : Chargé 'C:\Windows\System32\xmllite.dll'. 
Le thread 0xf84 s'est arrêté avec le code -1073741515 (0xc0000135).

电脑

'MyApp.exe' (Win32) : Chargé 'C:\Windows\System32\xmllite.dll'.
'MyApp.exe' (Win32) : Chargé 'C:\Windows\System32\dxgi.dll'. 
'MyApp.exe' (Win32) : Chargé 'C:\Windows\System32\cryptsp.dll'.
'MyApp.exe' (Win32) : Chargé 'C:\Windows\System32\imm32.dll'. 
'MyApp.exe' (Win32) : Chargé 'C:\Windows\System32\kernel.appcore.dll'. 
Le thread 0x6534 s'est arrêté avec le code 0 (0x0).
'MyApp.exe' (Win32) : Chargé 'C:\Windows\System32\Windows.UI.Xaml.dll'. 
(etc. many other Dlls being loaded...)

我想丢失的 dll 就是其中之一,假设两个平台之间的加载顺序相同 (?)。

【问题讨论】:

【参考方案1】:

好吧,我无法识别丢失/冲突的 dll,但我通过将所有组件更改为静态库而不是动态库来“解决”了这个问题。对这种快速而肮脏的解决方案并不十分满意,但它确实有效,所以现在就可以了。

【讨论】:

以上是关于Xbox One UWP:“激活请求失败”的主要内容,如果未能解决你的问题,请参考以下文章

UWP - Xbox One - JavaScript - 禁用 gamepadB 默认后退导航行为

如何在 Windows 10 和 XBOX One UWP 应用之间使用漫游设置

如何启用 Xbox One 开发者模式激活?

在开发模式下无法在 Xbox One 上登录我的应用沙盒

在 Xbox 上的 UWP 应用中模拟游戏手柄输入

Xbox UWP 内存使用限制