Skip to content

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:

{
    "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"
        }
    ]
}