“Runtime error 217 at XXXXXXXX” error is encountered when starting installation process

Applies to

ApexSQL installer

Problem description

When starting the ApexSQL installer, the Windows taskbar will show the ApexSQL installer icon, but instead of installation splash window, the following Windows-based popup appears:

Runtime error popup

The Windows Task Manager will show that the setup is running but no further activities can be observed:

Setup process in the Task Manager

The only possible action from this point is to kill the Setup task from the Task Manager

When the error occurs the Windows application logs will also show an error that would look like this:

Windows application logs

The same result can be expected when the installer is started from CLI.

Cause

The issue usually occurs in a domain environment due to applied group policies. In this case, the Mitigation Options based policy would be the root cause, specifically the built-in Untrusted Font Blocking policy. If this policy is applied to the machine where the installer is started the described problem can be expected.

To verify if this policy is enabled, use the Win+R keyboard shortcut to open the Run dialogue and type the rsop.msc to invoke the console that displays the Resultant Set of Policy, in other words, policies that are applied on the machine:

Run the Resultant Set of Policy

When the console is opened, in the left panel navigate to the Computer Configuration>Administrative Templates>System>Mitigation Options node, and from the right panel check if the Untrusted Font Blocking policy is enabled:

Applied computer policies

The policy is used to prevent the loading of non-system fonts into applications as a font definition might contain malicious software. This results in the installer interruption it is when trying to load the so-called application “skin” which contains built-in fonts that need to load.

Resolution

At the moment of creation of this article, the only known workaround is to temporarily disable the Untrusted Font Blocking policy only for the machine where the ApexSQL installer needs to run for the time of finishing the installation of an ApexSQL product. As soon as the installation procedure is finished, the policy can be enabled.