跳转至

准备应用文件

准备应用文件

要通过 Crossplay 启动器分发应用程序,您需要准备在 PC 上运行应用程序所需的文件。这些文件包括应用图标、应用执行文件、应用配置文件等,如下面的示例所示:

ROOT_FOLDER
  meta.json
└─ APP_FOLDER
      app.ico
      app.exe
      app.ini
      ...
    └─ resources
    └─ data
    └─ packages
    └─ ...

ROOT_FOLDER

ROOT_FOLDER 是包含使用 Crossplay 启动器分发应用所需所有数据的顶级目录。ROOT_FOLDER 应包含 APP_FOLDER 和 meta.json。文件夹名称 ROOT_FOLDER 可以由应用开发者指定。指定名称后,应在 Crossplay Launcher > 应用管理 > 下载设置 > 游戏安装选项 > 文件夹名称Hive 控制台 中输入。

APP_FOLDER

APP_FOLDER是包含应用程序执行所需文件的文件夹。准备并将应用程序执行文件、图标文件、资源、数据和其他必要文件放置在此文件夹中。文件夹名称APP_FOLDER可以由应用程序开发者指定。然而,文件夹名称不应包含"#"或";"字符,并且不应包含空子文件夹。

META.JSON

meta.json中,包含了应用程序执行文件(app.exe)、图标文件(app.ico)的相对路径,这些文件放置在APP_FOLDER中,以及在卸载应用程序时要删除的路径或注册表路径。应用程序执行文件和图标文件的相对路径是相对于meta.json文件的位置的。meta.json必须位于**与APP_FOLDER相同的位置**。

按照下面的示例格式编写meta.json文件。

{
    "launch": "APP_FOLDER/app.exe",
    "icon": "APP_FOLDER/app.ico",
    "delete": [
        {
        "type": "CSIDL",
        "path": "0x1c/myGameLocalRes"
        },
        {
        "type": "general",
        "path": "C:/myGameGlobalRes"
        },
        {
        "type": "registrykey",
        "root": "0x80000001",
        "path": "SOFTWAREMyGame"
        }
    ]
}
字段名称 描述 类型 必需
launch 在使用 Crossplay 启动器运行应用时,应用执行文件的相对路径(例如,app.exe)。 字符串
icon 在使用 Crossplay 启动器安装应用时,创建桌面和开始菜单快捷方式所需的应用图标文件的相对路径(例如,app.ico)。要在 Crossplay 启动器中创建快捷方式文件,图标文件必须存在。文件格式应为 ico,并且为了与屏幕分辨率兼容,应该打包为一个包含 6 张不同分辨率图像的 ico 文件。 16X16 32X32 48X48 64X64 128X128 256X256 字符串
delete 在运行应用期间,应用可能会在应用安装文件夹之外的文件夹中生成数据。在卸载应用时,需要删除位于应用安装文件夹之外的文件或注册表项。此字段包含这些文件或注册表的信息,即要删除的文件夹信息和注册表信息的数组。 type: 卸载应用时要删除的数据类型(文件夹或注册表) root: 仅在 type 为注册表时输入的值,表示注册表根 * path: 卸载应用时要删除的文件夹或注册表路径 数组

以下是 delete 数组的指南:

字段名称 描述 类型 必需
type 要删除的数据类型。 CSIDL: 当要删除的文件位于Windows操作系统使用的特殊文件夹中,例如 ProgramFilesAppData general: 当要删除的文件位于普通路径中 * registrykey: 当要删除的文件是注册表文件 字符串 Y
root 表示注册表根的十六进制字符串,仅在typeregistrykey时输入。以下是注册表根及其对应的十六进制值的示例。 根: HKEY_CLASSES_ROOT, 值: 0x80000000 根: HKEY_CURRENT_USER, 值: 0x80000001 * 根: HKEY_LOCAL_MACHINE, 值: 0x80000002 * 根: HKEY_USERS, 值: 0x80000003 * 根: HKEY_CURRENT_CONFIG, 值: 0x80000005 字符串 N
path type数据所在的路径。* 当typeCSIDL: 以 CSIDL(16个十六进制数字)/{剩余路径} 的格式书写 * 当typegeneral: 以绝对路径书写 * 当typeregistrykey: 在整个注册表路径中,仅书写子树和键,排除根。 字符串 Y
Note

请参考 此链接 获取 CSIDL 十六进制值。 

以下是配置 meta.json 的示例,当某个游戏应用程序文件准备如下所示时:

数据 类型 数据位置 备注
game.exe 游戏执行文件 ROOT_FOLDER/game ROOT_FOLDERgame 都是游戏公司指定的目录
icon.ico 图标文件 ROOT_FOLDER/game ROOT_FOLDERgame 都是游戏公司指定的目录
MyGame 注册表 HKEY_CURRENT_USERSOFTWARESOFTWAREMyGame 游戏执行期间生成的注册表数据,卸载时将与游戏一起删除的数据
myGameGlobalRes 文件夹(通用路径) C:/myGameGlobalRes 游戏执行期间生成的数据,包含在卸载时将与游戏一起删除的文件的文件夹
myGameLocalRes 文件夹(特殊路径) C:/Users/[username]/AppData/Local/myGameLocalRes 游戏执行期间生成的数据,包含在卸载时将与游戏一起删除的文件的文件夹

在上述情况下,按如下方式编写 meta.json 文件:

{
    "launch": "game/game.exe",
    "icon": "game/icon.ico",
    "delete": [
        {
        "type": "CSIDL",
        "path": "0x1c/myGameLocalRes"
        },
        {
        "type": "general",
        "path": "C:/myGameGlobalRes"
        },
        {
        "type": "registrykey",
        "root": "0x80000001",
        "path": "SOFTWAREMyGame"
        }
    ]
}