Prepare app files
Prepare app files¶
To distribute an app with the Crossplay Launcher, you need to prepare the necessary files running app on a PC. These include the app icon, app execution file, app configuration file, and others, as shown in the example below:
ROOT_FOLDER
│ meta.json
└─ APP_FOLDER
│ app.ico
│ app.exe
│ app.ini
│ ...
└─ resources
└─ data
└─ packages
└─ ...
ROOT_FOLDER¶
ROOT_FOLDER is the top-level directory containing all the data necessary to distribute an app with the Crossplay Launcher. ROOT_FOLDER should contain APP_FOLDER and meta.json. The folder name ROOT_FOLDER can be specified by the app developer. After specifying the name, it should be entered in the Hive Console under Crossplay Launcher > App Management > Download Setting > Game Installation Option > Folder Name.
APP_FOLDER¶
APP_FOLDER is the folder containing files necessary for app execution. Prepare and place the app execution file, icon file, resources, data, and other necessary files in this folder. The folder name APP_FOLDER can be specified by the app developer. However, the folder name should not contain "#" or ";" characters, and it should not contain empty subfolders.
META.JSON¶
In meta.json, there are the relative paths of the app execution file (app.exe), icon file (app.ico), which are placed in the APP_FOLDER, and the paths or registry paths to be deleted along with the app upon uninstallation. The relative paths of the app execution file and icon file are relative to the location of the meta.json file. meta.json must be located in the same location as the APP_FOLDER.
Write the meta.json file following the example format below.
{
"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"
}
]
}
Field Name | Description | Type | Required |
---|---|---|---|
launch | The relative path of the app execution file (e.g., app.exe) used when running the app with the Crossplay Launcher. | string | Y |
icon | The relative path of the app icon file (e.g., app.ico) required to create shortcut files on the PC desktop and start menu when installing the app with the Crossplay Launcher. To create shortcut files in the Crossplay Launcher, the icon file must be present. The file format should be ico , and for compatibility with screen resolutions, it should be bundled as one ico file containing a total of 6 images with different resolutions. 16X16 32X32 48X48 64X64 128X128 256X256 | string | Y |
delete | During running the app, the app may generate data in folders other than the app installation folder. The files or registry entries located elsewhere than the app installation folder need to be deleted when uninstalling the app. This field contains the information of those files or registries, an array of folder information and registry information to be deleted. type : Type of data to be deleted when uninstalling the app (folder or registry) root : Value to be entered only when the type is registry, indicating the registry Root * path : Folder or registry path to be deleted when uninstalling the app | array | N |
The following is a guide for the delete
array:
Field Name | Description | Type | Required |
---|---|---|---|
type | The type of data to be deleted. CSIDL : When the file to be deleted is located in special folders used by Windows OS, such as ProgramFiles or AppData general : When the file to be deleted is located in a ordinary path * registrykey : When the file to be deleted is a registry file | string | Y |
root | A hexadecimal string representing the registry Root, entered only when the type is registrykey . Below are examples of registry Roots and their corresponding hexadecimal values. Root: HKEY_CLASSES_ROOT, Value: 0x80000000 Root: HKEY_CURRENT_USER, Value: 0x80000001 * Root: HKEY_LOCAL_MACHINE, Value: 0x80000002 * Root: HKEY_USERS, Value: 0x80000003 * Root: HKEY_CURRENT_CONFIG, Value: 0x80000005 | string | N |
path | The path where the type data is located.* When type is CSIDL : Written in the format of CSIDL(16 hexadecimal digits)/{remaining path} * When type is general : Written as an absolute path * When type is registrykey : Among the entire registry path, only the sub-tree and key are written, excluding the Root. | string | Y |
Note
Refer to this for CSIDL hexadecimal values.
The following is an example of configuring meta.json when a certain game app files are prepared as shown below:
Data | Type | Data Location | Notes |
---|---|---|---|
game.exe | Game Execution File | ROOT_FOLDER/game | ROOT_FOLDER and game are both directories specified by the game company |
icon.ico | Icon File | ROOT_FOLDER/game | ROOT_FOLDER and game are both directories specified by the game company |
MyGame | Registry | HKEY_CURRENT_USERSOFTWARESOFTWAREMyGame | Registry data generated during game execution, the data to be deleted along with the game upon uninstallation |
myGameGlobalRes | Folder (General Path) | C:/myGameGlobalRes | Data generated during game execution, folder containing files to be deleted along with the game upon uninstallation |
myGameLocalRes | Folder (Special Path) | C:/Users/[username]/AppData/Local/myGameLocalRes | Data generated during game execution, folder containing files to be deleted along with the game upon uninstallation |
In the above situation, write meta.json file as follows: