Skip to main content

Windows CE Schema

This repo stores the JSON schema used by Scan2Deploy for Windows CE. The latest "stable" version of the schema is also available at schemastore.org.

Schema Versioning

The schema follows the conventions of SchemaVer, provided here for convenience:

SchemaVer is defined as follows: MODEL-REVISION-ADDITION

  • MODEL when you make a breaking schema change which will prevent interaction with any historical data
  • REVISION when you introduce a schema change which may prevent interaction with some historical data
  • ADDITION when you make a schema change that is compatible with all historical data

The schema.json file doesn't contain any indication of it's version on it's own. Instead, we use GitHub releases to version the schema.

Layout Section

The layout section is used to format the output file. The available parameters are the following

  • description: (optional) Free-form description field (350 max characters). Description will be displayed in header of output file. The default description is none.

Global Section

The global section is used to configure some application scoped settings. The available parameters are the following

  • target-path: (optional) This is the base destination folder where any archive/folder will be inflated. The default value is \FlashDisk.
  • action: (optional) Specifies the final action performed by the application at the very end of the staging process. This can be stay, close, warm-boot, cold-boot, or clean-boot. The default value is cold-boot.
  • ping-timeout: (optional) The timeout value used when attempting to reach the host server. The default value is 1000.

Settings Section

The settings section is used to configure some inner device settings. The available parameters are the following

  • usb-function: (optional) USB communication function in use. Available values are active-sync-usb, active-sync-com, usblan, and mass-storage.

The default value is active-sync-usb. Requires reboot for usb setting change to take effect.

Network Section

The network section is used to configure the device Wi-Fi network. The available parameters are the following

  • profile: (optional) The "friendly" name to associate with the network connection. The default value is datalogic.
  • essid: (optional) The wireless network ESSID. The default value is tsunami.
  • mode: (optional) The wireless connection mode. Supported values are open, wep-40, wep-104, wpa-psk, wpa2-psk, wpa-tkip, and wpa2-aes. The default value is open.
  • mode-key: (optional) The wireless network key for wep-40, wep-104, wpa-psk, and wpa2-psk networks. The default value is the empty string (i.e. "").
  • index: (optional) The wireless network key index for wep-40 and wep-104 networks. Supported values are 1, 2, 3, and 4. The default value is 1.
  • eap-method: (optional) Configures the EAP authentication method. Supported values are none, peap, tls, ttls, fast, and leap. The default value is none.
  • eap-username: (optional) The username for the EAP method. The default value is the empty string (i.e. "").
  • eap-password: (optional) The password for the EAP method. The default value is the empty string (i.e. "").
  • credentials-type: (optional) Indicates the EAP credentials type. Supported values are password, token, certificate, and unknown. The default value is password.
  • credentials-source: (optional) Indicates the EAP credentials source. Supported values are user, logon, profile, auto, and unknown. The default value is user.
  • validate-server: (optional) Boolean value indicating if the server certificate should be validated. The default value is false.
  • connect-to-server: (optional) Boolean value indicating if only the servers listed in the connect-to-server-names list should be connected to. The default value is false.
  • connect-to-server-names: (optional) Semi-colon separated list of servers that are valid to connect to during server certificate validation. The default value is the empty string (i.e. "").
  • server-cert-name: (optional) The "friendly" name of the server digital certificate that should be validated. The default value is the empty string (i.e. "").
  • outer-identity: (optional) The outer identity for the EAP method. The default value is the empty string (i.e. "").
  • fast-reconnect: (optional) Boolean value to enable fast reconnect. The default value is false.
  • inner-method: (optional) The inner EAP authentication method to use. Supported values are eap-tls, eap-MsChapV2, and eap-gtc. The default value is eap-tls.
  • auto-pac: (optional) Boolean value indicating if automatic PAC provisioning is used for an EAP-FAST network. The default value is false.
  • pac-file-path: (optional) The full path to the PAC file for manual PAC provisioning. The default value is the empty string (i.e. "").
  • pac-aid-info: (optional) The PAC authority identity (AID) information used to select PAC from a list of PACs on the device. The default value is the empty string (i.e. "").

Deployment Section

The deployment section can be used to download a ZIP archive from a server and inflate it to the target-path folder. The available parameters are the following

  • scheme: (optional) The deployment download scheme to use. Can be either http or https. The default value is http.
  • host: (mandatory) The host-name or internet-protocol address of the server from which the resource is to be fetched.
  • port: (optional) TCP/IP port to be used to contact the server. The default value is 80.
  • path: (optional) Path to the server resource to download, complete with query-string if needed. The default value is the empty string ("").
  • skip-inflation: (optional) Boolean value instructing the application not to inflate the deployment archive once downloaded. This can be used to download an executable file. The default value is false.

Shell Section

In the final staging phase, Scan2Deploy can be used to perform post-staging procedures, such as to update firmware or apply a .dxu configuration file to the device. The shell section contains the JSON-array cmds. Each object in cmds is a shell command to execute. The available parameters are the following

  • app-name: (mandatory) The full path to the application to be executed.
  • args: (optional) The command line arguments. The default value is the empty string ("").