How to disable prerequisites boxing: Difference between revisions
No edit summary |
No edit summary |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Category:How to]] [[Category: | [[Category:Configuration]] [[Category:How to]] [[Category:Low-Level Configuration]] [[Category:Troubleshooting]] | ||
As explained in [http://opclabs.doc-that.com/files/onlinedocs/QuickOpc/Latest/User%27s%20Guide%20and%20Reference-QuickOPC/webframe.html#Prerequisites%20Boxing.html Prerequisites Boxing] chapter in the User's Guide, QuickOPC 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). | As explained in [http://opclabs.doc-that.com/files/onlinedocs/QuickOpc/Latest/User%27s%20Guide%20and%20Reference-QuickOPC/webframe.html#Prerequisites%20Boxing.html Prerequisites Boxing] chapter in the User's Guide, QuickOPC 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). | ||
Line 6: | Line 6: | ||
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. | 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. | ||
To disable the boxing in QuickOPC 2016.2, add the following XML snippet under the <configuration> element of your application configuration file: | To disable the boxing in QuickOPC 2016.2 - 2018.3, add the following XML snippet under the <configuration> element of your application configuration file: | ||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Line 18: | Line 18: | ||
Please refer to Microsoft documentation for details on the application configuration files, the diagnostic switches, the trace listeners, and so on. <u>The application configuration file needs to be named the same as your application, with an added “.config” extension, and placed alongside the application</u>. 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. | Please refer to Microsoft documentation for details on the application configuration files, the diagnostic switches, the trace listeners, and so on. <u>The application configuration file needs to be named the same as your application, with an added “.config” extension, and placed alongside the application</u>. 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. | ||
For QuickOPC 2019.1 - 2020.2, use: | |||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Line 28: | Line 28: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
For QuickOPC 2020.3 - 2022.1, use: | |||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Line 38: | Line 38: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
A full file that contains '''only''' the configuration settings mentioned here, and nothing else, for QuickOPC | Starting with QuickOPC 2022.2, use: | ||
<syntaxhighlight lang="xml"> | |||
<appSettings> | |||
<add key="OpcLabs.EasyOpc.Implementation.Native.Assemblies.EnableVC142RedistBoxer" value="false"/> | |||
<add key="OpcLabs.EasyOpc.Internal.OpcPSBoxing.EnableOpcCorePSBoxer" value="false"/> | |||
</appSettings> | |||
</syntaxhighlight> | |||
A full file that contains '''only''' the configuration settings mentioned here, and nothing else, and combines the settings for all QuickOPC versions, looks like this: | |||
<syntaxhighlight lang="xml"> | <syntaxhighlight lang="xml"> | ||
Line 44: | Line 53: | ||
<configuration> | <configuration> | ||
<appSettings> | <appSettings> | ||
<add key="OpcLabs.EasyOpc.Implementation.Native.Assemblies.EnableVC142RedistBoxer" value="false"/> | <add key="OpcLabs.EasyOpc.Implementations.Native.Assemblies.EnableVC140RedistBoxer" value="false"/> <!--QuickOPC 2016.2+--> | ||
<add key="OpcLabs.EasyOpc.Implementation.Native.Assemblies.EnableVC140RedistBoxer" value="false"/> <!--QuickOPC 2019.1+--> | |||
<add key="OpcLabs.EasyOpc.Implementation.Native.Assemblies.EnableVC142RedistBoxer" value="false"/> <!--QuickOPC 2020.2+--> | |||
<add key="OpcLabs.EasyOpc.Internal.OpcPSBoxing.EnableOpcCorePSBoxer" value="false"/> | <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"/> | <add key="OpcLabs.EasyOpc.UA.Toolkit.ClientServer.UAClientEngineBase.EnableUACertificateGeneratorBoxer" value="false"/> | ||
</appSettings> | </appSettings> | ||
</configuration> | </configuration> | ||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 14:48, 27 May 2022
As explained in Prerequisites Boxing chapter in the User's Guide, QuickOPC 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.
To disable the boxing in QuickOPC 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>
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.
For QuickOPC 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>
For QuickOPC 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>
Starting with QuickOPC 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 QuickOPC versions, looks like this:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="OpcLabs.EasyOpc.Implementations.Native.Assemblies.EnableVC140RedistBoxer" value="false"/> <!--QuickOPC 2016.2+-->
<add key="OpcLabs.EasyOpc.Implementation.Native.Assemblies.EnableVC140RedistBoxer" value="false"/> <!--QuickOPC 2019.1+-->
<add key="OpcLabs.EasyOpc.Implementation.Native.Assemblies.EnableVC142RedistBoxer" value="false"/> <!--QuickOPC 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>