There are 2 ways of packaging OpenFin applications for deployment:
- Standard OpenFin installer with Auto Update
- Fully Packaged Deployment
This document covers the process and requirements for both of these options, including if one needs to package the OpenFin Runtime and OpenFin RVM for distribution using a corporate software distribution system like SCCM.
All current versions of the OpenFin Runtime and RVM are available for download on the Versions page.
The OpenFin Runtime is a general purpose container for running HTML5 applications that can be used by many application providers on the same machine.
Admin rights are not required – no elevated permissions of any kind are required to install the software. Write access to the working directory is necessary.
Application developers that use the OpenFin Runtime indicate which specific version of the runtime that their application requires in the application’s configuration file. When auto-updates are allowed, the application developer can trigger an update by updating their targeted version.
The application itself is simply a shortcut to the RVM passing in the URL for the application’s configuration file.
OpenFin application installers automatically setup the OpenFin Container and create application shortcuts in the user’s start menu, as well as on the desktop.
The OpenFin installer creates a base folder structure with full read-write permissions and places the the Runtime Version Manager (RVM), and the OpenFin Runtimes within it. Final folder layout after a typical installation is below. In this case, the install directory is the same as the working directory:
The runtimes themselves are contained in the “runtime” folder. Older versions of the runtime are not overwritten as part adding a new version. Unused versions of the runtime are removed automatically. The “runtime” directory of a system with three versions of the runtime is depicted below:
The application shortcuts are created on in the start menu as well as on the desktop. They call the Runtime Version Manager (RVM) and pass the application’s configuration file in as a command line parameter. Here is an example target from an application:
In this option, the OpenFin Runtime, OpenFin RVM and application shortcuts are packaged separately. This enables a desktop owner to suppress auto updates of the OpenFin Runtime versions that application providers may intend to use. The application shortcut is unique to each application and once packaged will not require repackaging – even as versions of the OpenFin RVM and OpenFin Runtime are updated.
New versions of the OpenFin Runtime are periodically released and should be packaged in a way that does not overwrite or remove the older versions of the software. It is important that the installers create the folder structure if it is not present and then add the specific version being installed to the runtime directory.
There is only one version of the RVM at any point – newer versions of the RVM package should overwrite the existing RVM. In the event that multiple application providers are interested in packaging their apps on the same desktop, its very likely that you will be packaging additional but different OpenFin Runtime versions. For the RVM, if the most recent application is using a newer RVM, this new RVM needs to be packaged in place of the older version.
There are three elements to installing the OpenFin software followed by creation of an application shortcut. A base folder structure with full read-write permissions, the Runtime Version Manager (RVM), and the OpenFin Runtimes.
OpenFin requires a file structure in the “installDir” – see the sections below for details on customizing this location.
Final folder layout after a typical installation is below. In this case, the install directory is the same as the working directory:
Place the OpenFinRVM.exe in the root “installDir”. There is only one RVM so packages that update the RVM should overwrite the previously installed version.
The runtime should be installed into the working directory in the subfolder under “runtime”, with one subfolder per version and the version number as the folder name. For example:
Older versions of the runtime should not be removed or overwritten by the new version. The folder layout including multiple versions of the runtime should look like the below:
Shortcuts are used for launching applications in the OpenFin container. Shortcuts are, by default, created in the start menu as well as on the desktop (unless specifically omitted from the application’s manifest file). Creation of the application shortcuts is delegated to the RVM by running the RVM as below:
OpenFinRVM.exe ––no-ui ––do-not-launch ––config=“https://targetapp.com/my/path/appConfig.json”
Updated about a year ago