MacOS differences from OpenFin on Windows

The following is a detailed list of limitations and differences of the macOS implementation of OpenFin relative to the one on Microsoft Windows.
Many of these differences between OpenFin's implementations are due to differences in OS support on macOS and Windows.
For example, the Windows Start menu does not exist on macOS, so properties to define items for the Start menu are not supported on macOS.

OpenFin continues to add improved support for a wider set of functionality on the Mac.
Refer to release notes for details about changes in each release version.
This article will be updated concurrently.

Note: It is strongly recommended that customers targeting a Windows deployment test their implementation on their intended target.
While OpenFin and Chromium help abstract and insulate developers from many OS-specific details, differences in the underlying OS can impact the customer experience; testing on each of your intended target platforms is strongly recommended.

Registry and desktop owner settings

  • Settings that would be defined in the registry on Windows are defined in a property-list file, located at ~/Library/Application Support/OpenFin/rvm/FileRegistry.plist.
    This file corresponds to the HKEY_CURRENT_USER registry hive.
  • Desktop owner settings are supported, but the RVM does not parse the desktop license key.
    Place any desktop owner settings in ~/Applications/OpenFinRVM.app/Contents/Resources/registry_dos_local.json.
  • The desktop owner settings related to custom protocols are not supported on macOS.

Deployment

  • License management is not implemented.
  • The RVM health check is not implemented.
  • Cache migration is not implemented; the RVM does not automatically migrate localStorage or indexedDB data to a new version of the Runtime.
  • Analytics event logging data is not sent to OpenFin.
  • Command-line flags for the installer are not supported.
  • Several properties related to controlling versions and custom protocol secured APIs are not supported (see the "Manifest properties" section, below).

Workspace

  • Double-clicking on a Browser window does not maximize it.
  • The Home taskbar icon is hidden.
  • Browser components might require more than one click to focus.
  • The corners of some UI components are squared rather than rounded.

MacOS UI

  • The application or platform icon must be specified in .png format to display in the macOS Dock. Windows also supports .png files as app icons.
  • The macOS Dock shows a separate icon for each browser process; icons can appear and disappear as browser processes start and stop.
  • You cannot set up a customized shortcut icon or splashscreen.
  • You cannot customize the RVM error dialog, other than the email property.
  • The application cannot be run without a network connection.

Secured APIs

  • API security is supported, but without the option of prompting the user for permissions; if not specified in desktop owner settings, permissions are assumed to be allowed.
  • The secured methods related to custom protocols are not supported on macOS.
  • Repeated errors appear in the Runtime log and RVM log.

Integrations

None of OpenFin's integration adapters are supported.

The Microsoft Excel integration cannot be supported on macOS, because the underlying Microsoft API is not supported on macOS.

Manifest properties

The following properties in an application manifest file are not supported on macOS:

  • appAssets object and all of its properties; this means that the application cannot use remotely-hosted assets such as images, fonts, executable files or other files used by the application.
    Developers can host assets on their local system.
  • dialogSettings object and all of its properties; this means that the RVM progress dialog cannot be customized.
  • logManagement
  • minimumRVMVersion
  • offlineAccess: The application cannot be run without a network connection.
  • overrideConfigUrl: You cannot override the location of the application manifest.
  • Properties of the permissions.System object for methods related to custom protocols:
    • registerCustomProtocol
    • unregisterCustomProtocol
    • getCustomProtocolState
  • Properties of the runtime object:
    • fallbackVersion: This means that the RVM cannot fall back to a previously installed version of the Runtime, if the preferred version cannot be installed.
    • futureVersion: This means that the RVM cannot preload a newer version of the Runtime in preparation for an upgrade.
    • forceVersion: This means that the Runtime cannot be forced to install the latest version.
  • services: This means that Mac implementations cannot utilize the services functionality of OpenFin.
  • shortcut object and all of its properties; this means that the application cannot create customized, branded shortcuts or splash screens.
  • splashScreenImage : This means that you can't use a splash screen while the app is loading.
  • The startup_app object is supported, but with the following differences for its members:
    • defaultCentered is supported, but the centering effect differs from what is shown on Microsoft Windows.
    • logManagement is not supported.
    • nonPersistent is not supported.
  • supportInformation object and its properties: the installer on Mac reads only the email property.
    You cannot customize the app load error dialog, other than the email property.

APIs

Some API methods are not supported on Mac.

Platform limitations

  • After upgrading macOS to a new major version, the OpenFin-specific custom protocols fin and fins might become unregistered, causing URLs that use these protocols to stop working.
    This issue is caused by macOS removing some user settings during the upgrade process.
    There are two ways to resolve this issue:

    • Remove the RVM and install again.
    • Run the following command in a terminal window:
      ~/Applications/OpenFinRVM.app/Contents/Helpers/FinLinksHandler.app/Contents/MacOS/FinLinksHandler --register-to-protocols