OpenFin

Group Policy and Registry Settings

Overview

OpenFin provides Desktop Owner administrators the ability to customize the Runtime environment to manage controls around specific API features. These controls over the Runtime and RVM (v 2.5.1+) enable Application Providers to use all API features, but give their customers (on a case by case basis), the option to turn them off via Group Policy. These additional settings are an extension of the Chromium base Group Policy flags.

OpenFin supports all policies that are managed in Chromium and supported on Windows. For the list of these policies and their settings, please visit: http://dev.chromium.org/administrators/policy-list-3.

We’ve created templates for Desktop Owners to simplify the process of setting up Group Policy for users. These can be found in the following repos:

Locations

There are two main base paths where the RVM will look to read settings keys from, which can exist in both HKEY_CURRENT_USER and LOCAL_MACHINE.

  • Group Policy Registry Base Path
    • Software\Microsoft\Windows\CurrentVersion\Policies\OpenFin\RVM
  • Registry Base Path
    • Software\OpenFin\RVM

Key precedence

If the same key value (i.e. “assetsUrl”) exists in multiple locations, the key value that will actually be used is based on the following rules:
HKEY_CURRENT_USER > HKEY_LOCAL_MACHINE > Group Policy Registry > Registry > App Config

For example, if the key “assetsUrl” is set in all possible locations, below is the order in which the value would be selected:

  1. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\OpenFin\RVM\Settings\assetsUrl
  2. LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\OpenFin\RVM\Settings\assetsUrl
  3. CURRENT_USER\Software\OpenFin\RVM\Settings\assetsUrl
  4. HKEY_LOCAL_MACHINE\Software\OpenFin\RVM\Settings\assetsUrl
  5. Application JSON “assetsUrl”
  6. OpenFin default “assetsUrl”

OpenFin Group Policy Settings


runtimeArgs

Purpose: Globally add runtime arguments to apply for all applications.

Data Type: String (REG_SZ)

Expected Value: A string containing any number of desired runtime flags, separated by spaces.

Default Value: The runtime arguments specified in the application configuration.

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\runtimeArgs

Value: –user-data-dir=”%localappdata%custom_cache_directory

Result: All applications utilizing the RVM will specify “–user-data-dir” runtime flag when they are launched. This specific runtime flag can be used to set a custom directory where the runtime will write its cache information.


disableAutoUpdates

Purpose: Globally disable the RVM from automatically updating itself when the version running is no longer the latest.

Data Type: DWORD (REG_DWORD)

Expected Value: 0 or 1

Default Value: 0 – The RVM will automatically update itself when a newer version is available.

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\disableAutoUpdates

Value: 1

Result: When the RVM is run it won’t check if an automatic update is needed.


cleanUnusedRuntimes

Purpose: Globally disable the RVM from cleaning up runtime and runtime cache folders that are no longer referenced by any installed applications. By default, the RVM will clean up unused runtimes.

Data Type: DWORD (REG_DWORD)

Expected Value: 0 or 1

Default Value: 1 – The RVM will clean up unused runtimes.

Usage Example:

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\cleanUnusedRuntimes

Value: 0

Result: Runtime and runtime cache folders will not get cleaned up when when no applications are referencing them.


disableShortcutCreation

Purpose: Globally disable all applications installed through the RVM from creating shortcuts. Desktop owner may choose to be responsible for shortcut creation.

Data Type: DWORD (REG_DWORD)

Expected Value: 0 or 1

Default Value: 0 – Applications installed through the RVM will install their shortcuts.

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\disableShortcutCreation

Value: 1

Result: When an application is installed through the RVM, shortcuts for the application will not be created.


assetsUrl

Purpose: Globally set the assets url for all applications. The RVM uses the assets url to download runtimes and RVMs, along with resolving release channels.

Data Type: String (REG_SZ)

Expected Value: A url to a server that serves up the runtimes, RVMs, and release channels.

Default Value: The assets url specified in the application configuration or the OpenFin default.

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\assetsUrl

Value: https://developer.openfin.co/release/

Result: The RVM will download all assets from the specified url.


IrsUrl

Purpose: Globally set the licensing server url for all applications. The RVM will send all licensing information to the specified server insted of directly to the OpenFin default server.

Data Type: String (REG_SZ)

Expected Value: A url to a server that is running the LRS/RDM(a hosted service).

Default Value: The licensing url specified in the application configuration or the OpenFin default.

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\lrsUrl

Value: https://dl.openfin.co/services/

Result: The RVM will send all licensing information to the specified url.


startMenuRootFolder

Purpose: Globally sets root folder(s) for applications start menu shortcuts.

Data Type: String (REG_SZ)

Expected Value: A path of custom folders where you want start menu shortcuts to be placed.

Default Value: The standard Windows start menu shortcut folder.

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\startMenuRootFolder

Value: custom_folder_name

Result: All applications installed through the RVM that specify start menu shortcuts will have their start menu shortcuts placed within “custom_folder_name”. The custom folder will exist inside of the default Windows start menu folder.


rvmInstallDirectory

Purpose: The RVM will copy itself and operate from this directory. (RVM 2.8+)

Data Type: String (REG_SZ)

Expected Value: A folder path where you want the RVM to copy itself from.

Default Value: %LOCALAPPDATA%\OpenFin

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\Deployment\rvmInstallDirectory

Value: %LOCALAPPDATA%\CustomFolder

Result: If the RVM executes from a different folder, it will copy itself to the custom folder and re-run from there.


runtimeCache

Purpose: Runtimes will write any cache data here (this is a global setting that will override any app configuration). (RVM 2.8+)

Data Type: String (REG_SZ)

Expected Value: A folder path where you want the RVM to write cache data.

Default Value: %LOCALAPPDATA%\OpenFin\

Key: \Software\OpenFin\RVM\Settings\Deployment\runtimeCache

Value: %LOCALAPPDATA%\RuntimeCache

Result: The runtime will write its cache data to this folder.


runtimeDirectory

Purpose: Runtime binaries will be stored here. (RVM 2.8+)

Data Type: String (REG_SZ)

Expected Value: A folder path where you want the Runtime binaries to be stored.

Default Value: %LOCALAPPDATA%\OpenFin\

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\Deployment\runtimeDirectory

Value: %LOCALAPPDATA%\CustomDir

Result: The RVM will read\write runtime binaries from\into this folder.


EnableDesktopShortcut

Purpose: Determines if the app will have a desktop shortcut

Data Type: DWORD

Expected Value: 0 or 1

Default Value: 1 – The RVM will automatically create a desktop shortcut for the app

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\AppSettings\(is the name of the folder that gets created when you create an app)

Value: 0

Result: When the application is installed through the RVM, desktop shortcuts will not be created for the application.


EnableStartMenuShortcut

Purpose: Determines if the app will have a start-menu shortcut

Data Type: DWORD

Expected Value: 0 or 1

Default Value: 1

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\AppSettings\ (is the name of the folder that gets created when you create an app)

Value: 0

Result: When the application is installed through the RVM, a Start menu shortcut will not be created for the application.


EnableStartupShortcut

Purpose: Determines if the app will have a system startup shortcut

Data Type: DWORD

Expected Value: 0 or 1

Default Value: 0

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\AppSettings\ (is the name of the folder that gets created when you create an app)

Value: 1

Result: When the application is installed through the RVM, a system startup shortcut will be created for the application.


DesktopOwnerSettings

Purpose: Allows the OpenFin RVM to launch whitelisted applications listed in the DesktopOwnerSettings key. An application can be whitelisted by listing its Client ID, App UUID or App Config Domain. If listed, the application launches. If not listed, an IT Email Contacts field in the DesktopOwnerSettings file is available to specify a distribution list for end-users to reach out to when a non whitelisted OpenFin applications fails to launch. In this case, a dialog will be displayed to the end-user notifying them to contact the designated list to grant permission to the application.

Additionally, an Application Assets Override value can be set to manage which domains an OpenFin application can target for resource assets. If no DesktopOwnerSettings key is set, any application can launch or retrieve assets externally without restrictions.

Supported on OpenFin 6 (Windows) and RVM 3.0+.

Data Type: String

Expected Value: URL pointing to a JSON config file.

{  
    "desktopSettings": {
        "assetsUrl": "http://localhost:8000/",
        "enableDesktopShortcut": true,
        "enableStartMenuShortcut": true,
        "enableStartupShortcut": true,
        "disableShortcutCreation": false,
        "startMenuRootFolder": "CompanyName"
    },
    "whitelist": {
        "distributionEmail": "blocked_applications@yourcompany.com",
        "allowedRVMVersions": ["4.4.0.13"],
        "allowed": [
            {
                "name": "company_name",
                "clientId": "company_name_client_id"
            },
            {
                "name": "company_name",
                "clientId": "OpenFin_special_assigned_id",
                "appUuids": [
                    "app_1",
                    "app_2",
                    "app_3"
                ]
            },
            {
                "name": "company_name",
                "clientId": "company_name_special_assigned_id",
                "appUuids": [
                    "app_1"
                ],
                "appRuntimes": [
                    "1.2.3.4", "5.6.7.8"
                ],
                "appConfigDomains": [
                    "www.company1.com", "www.company2.com"
                ],
                "appSecuritySettings": {
                    "system": {
                        "Clipboard": {
                            "readAccess": true
                        },
                        "launchExternalProcess": true
                    }
                }
            }
        ]
    }
}

Default Value: If the DesktopOwnerSettings file is not set, every app is allowed.

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\DesktopOwnerSettings

Value: http://website.com/company/files/Desktop_Owner_Settings.json

Result: The RVM will respect the provided settings.


unusedRuntimeExpirationInMinutes

Purpose: Controls the amount of time after which the RVM will remove a downloaded runtime and its corresponding runtime cache folder(s). The RVM will keep track of when the last time a downloaded runtime was launched. After “unusedRuntimeExpirationInMinutes” amount of time has elapsed since the runtime was last launched, the RVM will remove that runtime and its corresponding cache folder(s) the next time the RVM exits. The default value is 0x0000a8c0 (43,200 minutes, or 30 days). Note that this does not apply to runtimes that are not downloaded through the RVM (i.e. runtimes that are copied to the /runtime folder via MSI installers or other means). (RVM 3.5.1.0+)

Data Type: DWORD (REG_DWORD)

Expected Value: A DWORD representing a number of minutes.

Default Value: If the DesktopOwnerSettings file is not set, every app is allowed.

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\unusedRuntimeExpirationInMinutes

Value: 0x00043200

Result: The RVM will delete the downloaded runtime after the specified number of minutes after the runtime is launched.


maxAppLogFileSizeMB

Purpose: Specifies the max log file size in MB for an application-specific log. Note that the RVM uses 1MB = 1048576 bytes. (RVM 4.2.0.35+)

Data Type: DWORD (REG_DWORD)

Expected Value: A DWORD representing the max app log file size in MB.

Key: HKEY_CURRENT_USER\Software\OpenFin\RVM\Settings\ApplicationLogging\maxAppLogFileSizeMB

Value: 0x00000400 (1024 MB)

Result: The RVM will not let application logs grow over this size.


Check out this page for a complete list of Chromium Group Policy settings.

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

Group Policy and Registry Settings


Suggested Edits are limited on API Reference Pages

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