OpenFin

Installation

OpenFin Installer

The OpenFin Installer generates an RVM installer to streamline the process of installing and updating the Runtime. The installer is pre-baked with the application’s config URL and is delivered as a .zip file containing an installer executable that can be hosted on a web server.

RVM Functionality

App launch

The RVM is responsible for the launch of OpenFin applications. When an app is launched, the RVM reads the application manifest file and downloads the specified Runtime from the OpenFin CDN to launch the app.

Learn more about configuring the app manifest file here.

Runtime and app asset download and update

By default, the RVM resolves release channels, downloads runtimes and newer RVMs from OpenFin’s servers. The RVM can optionally be configured through the desktop owner settings file or registry to pull these assets from your own servers. This can be achieved by specifying an “assetsUrl” within your configuration.

Learn more about hosting Runtimes, RVMs, and app assets here.

Services

If a "services" array of objects is placed in the app manifest file, the RVM will load the services from the app directory before app startup. For example, if Layouts is configured, the app manifest file will contain the following code snippet:

"services": [
    {
        "name": "layouts"
    }
]

Learn more about Services here.

Branded shortcuts and splash screens

The RVM can be configured to include customized, branded shortcuts and splash screens by placing the shortcut object property or splashScreenImage string in your app manifest file. If shortcuts and/or splash screens are configured, the app manifest file will contain the following code snippets:

"shortcut": {
    "company": "OpenFin",
    "description": "YourApp",
    "icon": "http://cdn.openfin.co/YourApp/favicon.ico",
    "name": "YourApp",
    "target": ["desktop", "start-menu"],
    "startMenuRootFolder": "foo/bar"
}
{
    "splashScreenImage": "http://SERVER/image.png",
    "offlineAccess": true,
    "licenseKey": "8f5ac730-b6a4-4b11-a71c-500427190fda",
}

Semantic versioning for Runtime

The RVM supports semantic versioning for applications tested and verified to run in multiple OpenFin Runtime versions. This feature is especially useful for application providers who need to target OpenFin Runtimes that are hosted within a Desktop Owner’s environment.

Learn more about semantic versioning here.

License tracking

The RVM manages sets of information to determine OpenFin usage, including hardware (desktop/machine), and software (app config) data points. Learn more about license tracking here.

App logging and encryption

Application logging is invoked by the RVM and allows applications to have their own, separate logs that can be retrieved for later use by the App Provider.

Learn more about log management and encryption here.

Error reporting

When an error occurs prior to app launch, the RVM will show an error dialog. This dialog includes an error code and a prompt to send an email to OpenFin support with the corresponding RVM logs. Below is a list of error codes and descriptions used by the RVM.

Code Error Description
100 Internal error
101 No write access
102 Invalid arguments
103 Failed to initialize RVM config
104 Invalid app config URI
200 Failed to remove app
300 Failed to load app
301 Runtime is missing
302 Failed to create app install directory
303 Failed to read app config
304 Failed to resolve Runtime version
305 Failed to install Runtime
306 Failed to install Runtime assets
307 Failed to install app assets
308 Failed to launch app

Analytics

As of version 5.0.0.5, the RVM relays analytical information to OpenFin. Analytical information retrieved pertains to RVM startup, installation, app delegation, auto-update, exit, and errors.

This information is collected to solely support the development of the RVM and streamlines the error support process.

Have questions? Get in touch with us at support@openfin.co.

Updated 4 months ago


Installation


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.