准备应用文件
準備應用程式檔案¶
要使用 Crossplay Launcher 分發應用程式,您需要準備在 PC 上運行應用程式所需的文件。這些包括應用程式圖標、應用程式執行文件、應用程式配置文件等,如下例所示:
ROOT_FOLDER
│  meta.json
└─ APP_FOLDER
    │  app.ico
    │  app.exe
    │  app.ini
    │  ...
    └─ resources
    └─ data
    └─ packages
    └─ ...
根資料夾¶
根資料夾是包含使用 Crossplay Launcher 發布應用程式所需的所有數據的頂層目錄。根資料夾應包含應用資料夾和 meta.json。根資料夾的名稱可以由應用程式開發者指定。在指定名稱後,應在 Hive 控制台 的 Crossplay Launcher > 應用管理 > 下載設定 > 遊戲安裝選項 > 資料夾名稱 中輸入。
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 Launcher 運行應用程序時的應用程序執行文件的相對路徑(例如,app.exe)。 | 字串 | 是 | 
| icon | 用於在使用 Crossplay Launcher 安裝應用程序時在 PC 桌面和開始菜單上創建快捷方式文件的應用程序圖標文件的相對路徑(例如,app.ico)。要在 Crossplay Launcher 中創建快捷方式文件,必須存在圖標文件。文件格式應為 ico,並且為了與屏幕解析度兼容,應將其打包為一個包含 6 張不同解析度圖像的ico文件。 16X16  32X32  48X48  64X64  128X128  256X256 | 字串 | 是 | 
| delete | 在運行應用程序期間,應用程序可能會在應用程序安裝文件夾以外的文件夾中生成數據。當卸載應用程序時,需要刪除位於應用程序安裝文件夾以外的文件或註冊表項。此欄位包含這些文件或註冊表的資訊,包含要刪除的文件夾資訊和註冊表資訊的數組。 type: 卸載應用程序時要刪除的數據類型(文件夾或註冊表)root: 僅在type為註冊表時輸入的值,表示註冊表根 *path: 卸載應用程序時要刪除的文件夾或註冊表路徑 | 陣列 | 否 | 
以下是 delete 陣列的指南:
| 欄位名稱 | 描述 | 類型 | 必需 | 
|---|---|---|---|
| type | 要刪除的數據類型。 CSIDL: 當要刪除的 文件 位於 Windows 操作系統使用的特殊資料夾中,例如 ProgramFiles 或 AppDatageneral: 當要刪除的文件位於普通路徑中 *registrykey: 當要刪除的 文件 是註冊表文件 | 字串 | Y | 
| root | 一個十六進制字符串,表示註冊表根,僅在 type為registrykey時輸入。以下是註冊表根及其對應的十六進制值的示例。 根: HKEY_CLASSES_ROOT, 值:0x80000000根: HKEY_CURRENT_USER, 值:0x80000001* 根: HKEY_LOCAL_MACHINE, 值:0x80000002* 根: HKEY_USERS, 值:0x80000003* 根: HKEY_CURRENT_CONFIG, 值:0x80000005 | 字串 | N | 
| path | type數據所在的路徑。* 當type為CSIDL: 以 CSIDL(16個十六進制數字)/{剩餘路徑} 的格式寫入 * 當type為general: 以絕對路徑寫入 * 當type為registrykey: 在整個註冊表路徑中,僅寫入子樹和鍵,排除根。 | 字串 | Y | 
Note
請參考這裡以獲取CSIDL十六進制值。
以下是配置 meta.json 的示例,当某个游戏应用程序文件按如下所示准备时:
| 数据 | 类型 | 数据位置 | 备注 | 
|---|---|---|---|
| game.exe | 游戏执行文件 | ROOT_FOLDER/game | ROOT_FOLDER 和 game 都是游戏公司指定的目录 | 
| icon.ico | 图标文件 | ROOT_FOLDER/game | ROOT_FOLDER 和 game 都是游戏公司指定的目录 | 
| MyGame | 注册表 | HKEY_CURRENT_USERSOFTWARESOFTWAREMyGame | 游戏执行期间生成的注册表数据,卸载时将与游戏一起删除的数据 | 
| myGameGlobalRes | 文件夹(通用路径) | C:/myGameGlobalRes | 游戏执行期间生成的数据,包含卸载时将与游戏一起删除的文件的文件夹 | 
| myGameLocalRes | 文件夹(特殊路径) | C:/Users/[username]/AppData/Local/myGameLocalRes | 游戏执行期间生成的数据,包含卸载时将与游戏一起删除的文件的文件夹 | 
在上述情況下,將 meta.json 文件寫成如下: