Skip to content
  • There are no suggestions because the search field is empty.

How to Disable Prerequisites Boxing in OPC Data Client

As explained in Prerequisites Boxing chapter in the User's Guide, OPC Data Client uses “boxing”, a special technique based on file system and registry virtualization, which allows it to transparently load and use dependent software that would otherwise have to be installed (and uninstalled separately).

In some cases it might be necessary or advisable to disable the prerequisites boxing, such as when it collides with some other software on the system. This can be done using settings in the application configuration file, described further below. When you disable the boxing, you are then responsible for installing the appropriate prerequisites onto the disk yourself. Consult the User's Guide for description of the necessary prerequisites.

The configuration file snippets below disable the boxing for all supported prerequisites, using a separate setting for each of them. You can also disable just a specific prerequisite, by using just a subset of the settings.

Please refer to Microsoft documentation for details on the application configuration files, the diagnostic switches, the trace listeners, and so on. The application configuration file needs to be named the same as your application, with an added “.config” extension, and placed alongside the application. For example, for “MyApp.exe”, the configuration file is “MyApp.exe.config”. Note that the development tools sometimes provide “shortcuts” for the naming and placing procedure. For example, Visual Studio C# projects contain an app.config file, which becomes the application configuration file automatically – Visual Studio copies it to the output folder and renames it appropriately.

Versions 2016.2 - 2018.3

To disable the boxing in OPC Data Client 2016.2 - 2018.3, add the following XML snippet under the <configuration> element of your application configuration file:

<appSettings>
<add key="OpcLabs.EasyOpc.Implementations.Native.Assemblies.EnableVC140RedistBoxer" value="false"/>
<add key="OpcLabs.EasyOpc.Internal.OpcPSBoxing.EnableOpcCorePSBoxer" value="false"/>
<add key="OpcLabs.EasyOpc.UA.Toolkit.UAClientEngineBase.EnableUACertificateGeneratorBoxer" value="false"/>
</appSettings>

Versions 2019.1 - 2020.2

For OPC Data Client 2019.1 - 2020.2, use:

<appSettings>
<add key="OpcLabs.EasyOpc.Implementation.Native.Assemblies.EnableVC140RedistBoxer" value="false"/>
<add key="OpcLabs.EasyOpc.Internal.OpcPSBoxing.EnableOpcCorePSBoxer" value="false"/>
<add key="OpcLabs.EasyOpc.UA.Toolkit.ClientServer.UAClientEngineBase.EnableUACertificateGeneratorBoxer" value="false"/>
</appSettings>

Versions 2020.3 - 2022.1

For OPC Data Client 2020.3 - 2022.1, use:

<appSettings>
<add key="OpcLabs.EasyOpc.Implementation.Native.Assemblies.EnableVC142RedistBoxer" value="false"/>
<add key="OpcLabs.EasyOpc.Internal.OpcPSBoxing.EnableOpcCorePSBoxer" value="false"/>
<add key="OpcLabs.EasyOpc.UA.Toolkit.ClientServer.UAClientEngineBase.EnableUACertificateGeneratorBoxer" value="false"/>
</appSettings>

Version 2022.2 and later

Starting with OPC Data Client 2022.2, use:

<appSettings>
<add key="OpcLabs.EasyOpc.Implementation.Native.Assemblies.EnableVC142RedistBoxer" value="false"/>
<add key="OpcLabs.EasyOpc.Internal.OpcPSBoxing.EnableOpcCorePSBoxer" value="false"/>
</appSettings>


A full file that contains only the configuration settings mentioned here, and nothing else, and combines the settings for all OPC Data Client versions, looks like this:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="OpcLabs.EasyOpc.Implementations.Native.Assemblies.EnableVC140RedistBoxer" value="false"/> <!-- OPC Data Client 2016.2+-->
<add key="OpcLabs.EasyOpc.Implementation.Native.Assemblies.EnableVC140RedistBoxer" value="false"/> <!-- OPC Data Client 2019.1+-->
<add key="OpcLabs.EasyOpc.Implementation.Native.Assemblies.EnableVC142RedistBoxer" value="false"/> <!-- OPC Data Client 2020.2+-->
<add key="OpcLabs.EasyOpc.Internal.OpcPSBoxing.EnableOpcCorePSBoxer" value="false"/>
<add key="OpcLabs.EasyOpc.UA.Toolkit.UAClientEngineBase.EnableUACertificateGeneratorBoxer" value="false"/>
<add key="OpcLabs.EasyOpc.UA.Toolkit.ClientServer.UAClientEngineBase.EnableUACertificateGeneratorBoxer" value="false"/>
</appSettings>
</configuration>