Installation with RVM

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.


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": "",
    "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.

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.

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


As of version, 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 [email protected].

Did this page help you?