利用 Microsoft 游戏开发工具包工具安装和启动电脑游戏
本主题将介绍用于安装和启动电脑游戏的 Microsoft 游戏开发工具包 (GDK) 工具。 它解释了如何使用这些工具,并提供关于排除电脑安装和启动问题的疑难解答。
用于在电脑上安装和启动游戏的工具
注意
有关应用启动和使用游戏运行时启动的详细信息,请参阅启动 Win32 游戏。
Microsoft 游戏开发工具包 (GDK) 提供了以下安装游戏的方法。
wdapp.exe 安装: 用于安装的游戏.MSIXVC包。 有关包装电脑游戏的更多信息,请参阅使用 MSIXVC 打包工具开始为电脑游戏打包。 如果要使用包启用完整的 电脑引导程序 流,可通过 /bootstrapper 标志启用此功能。
wdapp.exe 注册,用于注册松散文件夹,以便能够启动。 更多信息,请参阅电脑游戏注册。 从 2022 年 6 月 GDK 开始,如果想要启用桌面和启动菜单 shell 图标(例如在测试零售安装方案时),只需注册游戏。
Microsoft 游戏开发工具包 (GDK) 提供了以下启动游戏的方法:
当注册游戏之后,它就会以可选择的方式出现在“开始”菜单中,并且可以在搜索框中进行搜索。
wdapp.exe 启动 用于通过使用其应用程序用户模型ID(AUMID)或可执行文件的路径来启动游戏。
Windows 设备门户 (WDP):转到“安装的应用”,然后选择“开始”。
在启用电脑引导程序时启动
若要像零售用户看到的一样使用完整的 电脑引导程序 流启动,必须通过 wdapp 安装旁加载包并使用 /bootstrapper 标志。 对于没有标志的松散生成或安装,电脑引导程序功能将限制为在调用 XUserAddAsync 时强制实施简化的用户模型。
在启动时有游戏标识和没有游戏标识
自 2022 年 6 月 GDK 起,只要正确配置 了 MicrosoftGame.config ,运行时应与用于启动游戏的方法相同。
用命令行参数启动
自 2022 年 6 月 GDK 起,只需启动可执行文件即可直接传入任何 [launch args]。
此外,可以使用以下方法之一来启动具有命令行参数的游戏:
WdApp Launch [launch args]
从 GDK 命令提示符。<ExecutionAlias> [launch args]
在命令提示符中。Visual Studio项目属性中的命令行参数。
关于使用执行别名的更多信息,请参阅ExecutionAlias。
排除电脑安装和启动问题故障
错误代码 0x80073CFF:由于无法应用有效的许可证或侧加载策略,软件包部署失败。 可能需要开发人员许可证或企业旁加载配置。
问题
在试图安装、注册或启动游戏时遇到问题。
解决方案
解决方案是使用以下步骤在电脑上启用开发者模式。
打开设置。
在搜索字段中输入开发者。
从显示的选项列表中,选择使用开发者功能。
选择开发者模式。 出现一个对话框,指出系统正在增加功能。 请确保等待此过程完成。
错误代码0x80073cfc:应用程序无法启动。 尝试通过重新安装应用程序来解决此问题。
问题
在安装过程中的初始步骤中遇到问题。
解决方法
可以卸载并重新安装游戏运行时服务(GRTS)。 请按照以下步骤进行操作。
打开PowerShell 管理员命令提示符。
执行此命令:
get-appxpackage *gamings*
执行此命令:
remove-package <package fullname from step 2 for the gamingservices package>
打开Xbox应用,然后安装游戏。 这将触发Microsoft Store中游戏服务包的安装。
错误代码0x87e00017:找到安装源,但无法访问。 可能是网络问题。
问题
该错误代码对应的是IM_E_UNREACHABLE_INSTALL_SOURCE
。 如果部署系统无法访问文件,则会遇到此错误。 然而,虽然可能是这种情况,但也可能意味着安装目录已经损坏。 最常见的原因是部署部分成功,之后未正确清理。
解决方案
为了解决这些问题
运行应用
wdapp list
。在生成的列表中,查找已安装的任何游戏版本。
通过使用
wdapp uninstall <pfn>
卸载所有游戏。再次尝试安装游戏。
错误代码0x80080203:指定的软件包格式无效:该文件不是一个有效的应用程序包,因为它缺少所需的足迹文件。
问题
出现这种情况是因为有“嵌套的MSIXVC”(这很容易发生)。 假设桌面版本是C:\MyGame。 决定通过使用在C:\MyGame下的子文件夹中的makepkg.exe创建一个包(例如,C:\MyGame\Package中)。 第一次这样做是可行的,因为没有生成包,但当你再次尝试创建包后,就会遇到这个问题。 除了这个失败以外(这是由于包中有两个 AppxManifest.xml 文件所导致的),在 C:\MyGame 上运行 makepkg.exe 会尝试将现有的 .msixvc 打包到新包中(除非将它从 genmap 中排除)。
解决方案
如果要解决这个问题,请确保包目录在包含MicrosoftGame.config的目录之外。
错误代码0x80070490:未找到元素
问题
如果试图用wdapp install
安装.XVC(Xbox包的包装格式),则会出现问题。
解决方法
确保只对.MSIXVC包(电脑包的包装格式)使用wdapp install
。
在共享游戏文件夹时,通过 wdapp 进行启动时出错
问题
如果你用 Windows 文件共享共享一个之前用 wdapp.exe 注册表注册的文件夹,则会导致游戏运行时失去共享权限,且随后会出现这个错误。
'WdApp.exe launch' must be called with an AUMID to activate an application.
Use 'WdApp.exe list' to get a list of sideloaded packages including AUMID values.
Alternatively, if your executable specifies an Alias in the *MicrosoftGame.config*,
typing the alias name at the command prompt will do an application activation.
Failed with 0x80070057.
解决方法
该问题与访问控制列表(ACL)有关。 共享文件夹可以阻止访问应用程序模型。 也就是说,容器在共享时会失去读取文件的权限。 如果要解决此问题,请按照以下步骤来保存和恢复ACL数据。
在共享文件夹之前,请运行“icacls /save AclFile”以保存包文件夹的ACL。
通过 Windows 文件共享来共享文件夹。
如果要恢复到以前的ACL,请运行“icacls /restore AclFile”。
除了这个解决方法外,还可以通过先运行wdapp.exe unregister
,然后运行wdapp.exe register
来重新注册。 这将在保留文件夹共享的同时恢复权限。
错误代码 0x80070005:拒绝访问。
问题
运行 wdapp 安装命令时,会遇到“0x8007005:拒绝访问”错误。
解决方案
请确保正在传递 .msixvc 文件的完整路径。 例如:
正确:
wdapp install "c:\MyGame\GDKBuildFolder\GdkGame_1.0.0.0_x64__pmsdash4d.msixvc"
不正确(缺少指向 .msixvc 的完整路径):
wdapp install "c:\MyGame\GDKBuildFolder"
错误代码 0x000007b: STATUS_INVALID_IMAGE_FORMAT
问题
运行 wdapp 启动命令时遇到“0x000007b”错误。
解决方案
问题在于,要启动的可执行文件是一个不同于 MicrosoftGame.config 中指定的内容的平台体系结构。MicrosoftGame.config 中的 DesktopRegistration 元素具有一个名为 ProcessorArchitecture 的可选子元素,可将“x86”或“x64”指定为其值。 通过确保此规范与在 Executable 元素中定义的可执行文件的平台体系结构相匹配,可以解决此问题。
错误代码 0x800701B1: 指定了不存在的设备。
问题
运行 wdapp 安装/驱动器命令时遇到“0x800701B1”错误。
解决方案
问题是 Windows 应用商店未检测到目标驱动器。 确保目标驱动器位于本地电脑上的“设置 -> 存储设置 -> 更改新内容保存位置”中的“新应用将保存到:”下拉列表中。 如果驱动器不存在,请检查驱动器的运行状况,并确保本地电脑具有最新的 Windows 更新。
错误代码 0x80072F78: WININET_E_INVALID_SERVER_RESPONSE
问题
运行 wdapp 安装命令时遇到“0x80072F78”错误。
解决方案
此问题与阻止此地址“settings-win.data.microsoft.com”的防火墙代理配置设置相关。 安装电脑 GDK 游戏时,需要此地址才能正确缓存安装设置。 请确保防火墙软件允许该地址。