我正在尝试将 UWP 应用程序部署到设置为开发人员模式的零售 Xbox One。虽然该应用程序在 PC (x64) 上运行良好并通过了打包测试,但它将无法在 Xbox 上启动,并显示消息:
Unable to activate Windows Store app …. The xxx.exe process started, but the activation request failed with error ‘The app didn’t start’.
与 this issue 中的消息相同,所以我想我正在链接到 Xbox 不支持的库,但无法找到知道是哪个库的方法。有没有办法激活/访问某种日志,告诉我在启动的哪一步失败了?作为记录,我使用的库是常见的开源库(boost、OpenCV)或 MS 库(Cabinet、Angle)。我尝试了示例和更简单的项目,并且运行良好。
配置说明: 电脑:Windows 10.15063,Visual Studio 2017 Xbox:XDKS.2017 年 6 月 1 日
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 是其中之一,假设两个平台之间的加载顺序相同(?)。
最佳答案
好吧,我无法识别丢失/冲突的 dll,但我通过将所有组件更改为静态库而不是动态库来“解决”了这个问题。对这样一个快速而肮脏的解决方案不太满意,但它确实有效,所以现在就可以了。
关于c++ - Xbox One UWP : "activation request failed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46522898/