1

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

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

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

配置描述:PC: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 就是其中之一,假设两个平台之间的加载顺序相同(?)。

4

1 回答 1

1

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

于 2017-10-02T21:21:07.370 回答