OpenFin

Deployment Options

Overview

Application Providers who use the OpenFin Runtime, indicate which specific version of the Runtime their application requires in the application’s configuration file. When auto updates are preferred, the Application Provider can trigger an update by updating their targeted Runtime version.

An application’s desktop or Start menu icon is simply a shortcut that launches the OpenFin RVM and provides the URL for the application’s configuration file.

The way an OpenFin application gets deployed on a desktop is largely determined by the Desktop Owner. The below table outlines what a Desktop Owner may require, and in turn, what that means for how you deploy your app as an App Provider:

Desktop Owner Deployment Requirements App Provider Should... Deployment Type
Desktops already using OpenFin for another app Utilize a custom protocol handler to launch OpenFin from within the browser or an email (no downloading of a file necessary). Customer Protocol Handler(Recommended Method -- if OpenFin already exists on desktop)
Wants to leverage an app installer and build a package to deploy to their user base Use the standard, OpenFin installer with auto update, which is delivered as a zip containing an executable. OpenFin Installer (Recommended Method -- if OpenFin not on desktop)
Wants to package the Runtime, RVM, and application shortcut separately to suppress auto updates Deliver your fully packaged app to the Desktop Owner. Use the MSI to deliver the versions of the Runtime and RVM, or point them to our versions page where they can download directly. Fully Packaged
Wants to install the app on a network drive(each desktop checks if the package exists on %localappdata%) Deliver your fully packaged app to the Desktop Owner. Use the MSI to deliver the versions of the Runtime and RVM, or point them to our versions page where they can download directly. Fully Packaged -- Network

Custom protocol handler

For desktops that already have OpenFin, you have the option to use a custom protocol handler to launch OpenFin from within the browser or an email. No downloading of a file is necessary when using this method. Note that this will only work from a hyperlink and not from the address bar. (RVM 2.7+)

The fin and fins protocol handlers are registered in the system registry classes root:

HKEY_CLASSES_ROOT\fin and HKEY_CLASSES_ROOT\fins

For desktops that do not have OpenFin installed, one can push the RVM to the desktop and run it one time to register the protocol handler. The command line for registering the fin/fins protocol handler is below:

C:\Users\AppData\Local\OpenFin>OpenFinRVM --config=none --only-self-install

fin:// and fins:// are used in place of http and https in the App Config URL.

The OpenFin RVM must be installed and registered on the desktop in order for the Fins Protocol Handler to be used.

OpenFin Installer

The OpenFin Installer API streamlines the process of installing and updating the OpenFin Runtime, providing auto update behavior in response to Runtime version changes in an application’s config. The installer is pre-baked only with the application’s config URL and is delivered as a zip file containing an installer executable, which can be hosted on any web server.

A user opens the .zip file and then double-clicks the .exe to start the installation. The OpenFin installer performs the following actions:

  • Auto-updates the RVM if necessary
  • Retrieves the application config file
  • Automatically downloads the required Runtime version if it’s not present
  • Installs the desktop/Start menu shortcuts
  • Launches the app

The standard way of installing an application is to use OpenFin’s Installer Generator to create an installer. OpenFin’s installer service generates an RVM installer, which streamlines the process of installing and updating the OpenFin Runtime. The installer is pre-baked with the application’s config URL and is delivered as a zip file containing an installer executable which can be hosted on any web server.

If you need to create an installer manually, please contact us at support@openfin.co.

When providing the Desktop Owner with the .zip installer or a URL link, let them know that:

  • Admin rights not required for installation
  • Signed by OpenFin
  • Copies relevant application resources into %localappdata%/OpenFin
  • Creates application shortcuts on the Desktop and Start Menu (linked to the application manifest file)

Fully packaged

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 more information on Installation here.

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, it’s 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.

MSI

In the MSI approach, the OpenFin RVM is packaged in a traditional manner. Post initial installation, the RVM, and its associated Runtimes update based on your application configuration settings. Our MSI generator tool is located here. Have questions? Get in touch with us at support@openfin.co.https://tools.openfin.co/services/msi-generator).

Network-based share packaging

The bank installs the app on a network drive and then there is a launch script on each desktop that will check if package exists on %localappdata%. If it exists then app will launch, and if not, it will copy over the files and then launch. You could use the MSI to deliver the versions of the Runtime and RVM or point them to our versions page, where they can download it directly.

Co-deployment

If you’re using a native language adapter (Java/C#/C++etc.), they come with automatic lightweight deployment built in. By simply using the API to run your HTML5 application, you’re able to install your applications. An optional addition to this deployment model is to pre-package the initial version of the OpenFin Runtime that the application requires. There’s more information on how to co-deploy with the .NET Adapter here.

Updated 8 months ago

Deployment Options


Suggested Edits are limited on API Reference Pages

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