XStore 开发故障排除
安装 DLC 包时,未命中分配到 XPackageRegisterPackageInstalled
中的回拨
如果无法明显安装 DLC,请首先选中 " xbapp listdlc
" 或 " wdapp listdlc
",检查是否列出了预期的 DLC。
然后检查 DLC microsoftgame 中的 AllowedProduct
是否与 microsoftgame 中基本游戏的 " StoreId
" 节点的配置
如果这是一项智能交付产品,并且 Xbox 系列 X/S 基本游戏使用的是 ERA DLC 包,并且 appxmanifest DLC 中的 AllowedProduct
与分配给 Xbox Series X/S 基本游戏(xbapp list /d
)的产品 ID 不相同,则你可能需要覆盖产品 ID。
这仅适用于打包的生成:
makepkg pack /d <dir> /pd <dir> /contentid <contentid> /productid <product ID of ERA product> /productidoverride
从 XDP 迁移的 Xbox One 基础游戏可能会出现这种情况。
XStoreShowPurchaseUIAsync
电脑上会短暂显示购买对话框,然后返回 E_ABORT
当 UAC(用户访问控制)设置为不在交互用户的桌面显示确认提示时,可能会发生这种情况。 这由以下注册表值控制:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\PromptOnSecureDesktop
EnableLUA 应为 1,在某些情况下,将 PromptOnSecureDesktop 切换为 0 也可能有效。
此页包含有关此控件和其他相关控件的详细信息。
如果从提升的 (管理员) 进程调用此 API,则也会发生这种情况。 如果 Visual Studio 中的调试以管理员身份启动,或者以管理员身份运行的任何进程,则可能会发生这种情况。 解决方案是在以管理员身份运行时不调用 。
其他与 XStore 相关的错误代码
十六进制值 | 错误 | 说明 |
---|---|---|
0x803F6300 | XSTORE_E_NULL_LICENSE_SERVICE_CONTEXT |
许可证服务上下文不可用。 |
0x803F6301 | XSTORE_E_NULL_STORE_CONTEXT |
存储上下文对象不为 null 或未初始化。 |
0x803F6302 | XSTORE_E_INVALID_ID |
传递的 ID 无效或未知。 |
0x803F6303 | XSTORE_E_INVALID_REQUEST |
请求的参数或格式无效。 |
0x803F6304 | XSTORE_E_INVALID_RESPONSE |
来自存储服务的响应不是预期或无效。 |
0x803F6305 | XSTORE_E_ZERO_RESULTS |
当预期结果为非零时,返回零个结果。 |
0x803F6306 | XSTORE_E_NULL_INPUT_PARAMETER |
必需提供参数为 null。 |
0x803F6307 | XSTORE_E_INVALID_INPUT_PARAMETER |
提供的输入参数无效。 |
0x803F6308 | XSTORE_E_INVALID_VERSION |
发出请求的客户端不符合所需的最低版本。 |
0x803F6309 | XSTORE_E_BAD_CONVERSION |
无法正确转换所需的参数或响应。 |