.NET Based OPC UA Client/Server SDK  3.2.3.527
Deployment

Deploying the final application

Adjust Company and Brand Name

To finalize the application you have to make sure that your OPC UA application has a configuration and all identification information is set correctly. In particular, if your development is based on one of the examples provided with the SDK, you need to make sure that you remove the Unified Automation company branding and replace it with your own.

Replace company identification and product name:

  • must set correct OPC UA ProductURI and ApplicationURI
  • must set correct defaults for application certificate content
  • should set correct paths for trace files
  • should set correct paths for certificates

Adjust Copyrights

At a prominent place in your deployment (e.g. readme or documentation or about box) you must give correct copyright notice for the use of third party components your application makes use of. For details which third party components are used by the SDK, check out the appendix A of Unified Automation Software License Agreement.

Add copyright and license attribution (examples!):

  • This software uses/is based on Unified Automation .NET based OPC UA SDK.
    Copyright (C) 2007-2022 Unified Automation GmbH. All rights reserved.
  • This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/).
    Copyright (C) 1995-1998 Eric Young (eay@c.nosp@m.rypt.nosp@m.soft..nosp@m.com) All rights reserved.

Requirements for Installation

For good end user experience you should simplify installation of the final application. You will typically preinstall on the target device or you will create a setup procedure using some comfortable installer (e.g. MSI-Installer, InstallShield, Nullsoft NSIS, WIX Toolset, etc.).

To install your application on the target machine, your setup should consider the following requirements:

Required Permissions
To install the application it needs administrative rights for e.g. copy/create files, configure firewall, strengthen file permissions, etc.

Required Installed .NET Version
The following .NET versions must be installed on the target machine, depending on which version your application was built with:

Application is build with Required .NET version on the machine
.NET Framework 3.5 SP1 .NET Framework 3.5 SP1
.NET Framework 4.0 SP1 .NET Framework 4.0 or later.
.NET Framework 4.5 .NET Framework 4.5 or later.
.NET Framework 4.8 .NET Framework 4.8 or later.
.NET Core 2.1 .NET Core 2.1 or later.
.NET Core 3.1 .NET Core 3.1 or later.
.NET 6.0 .NET 6.0 or later.

Required Files
For a .NET Framework application at least the executable must be installed. If the application is configured with a separate config file it must be placed to the same folder.
For example:

  • MyApplication.exe
  • MyApplication.exe.config

For a .NET Core application you can deploy your application as a library or executable.
For example:

  • MyApplication.dll OR MyApplication.exe

Alternatively you can configure your application in memory or include the config file as embedded resource. Then only the executable needs to be installed.
With regard to the loading sequence of different configurations, consider Differences in Configuration

If the application is not natively compiled it is necessary to install the following SDK assemblies alongside your executable:

Assembly to deploy Remark
UnifiedAutomation.UaBase.dll
UnifiedAutomation.UaClient.dll If client functionality is used
UnifiedAutomation.UaServer.dll If server functionality is used
UnifiedAutomation.UaBase.Windows.dll If ApplicationInstance is used in a .NET Framework and .NET 6.0 application
Opc.Ua.CertificateGenerator.exe If UaBase.Windows.dll is used to generate certificates
UnifiedAutomation.UaBase.BouncyCastle.dll If BouncyCastle is used to generate the ApplicationInstance certificate
other third party assemblies If used in the application
Attention
It is not allowed to install UnifiedAutomation assemblies when .NET Core / UWP applications are natively compiled.
Note
Keep in mind to install the Assemblies for the correct version of .NET Framework.
Note
Do not install the Unified Automation SDK assemblies into the Global Assembly Cache (GAC).
This may cause version conflicts with other applications running on that target; a parallel installation is recommended.

Creation of certificate at startup procedure

On first start up of the installed application the OPC UA SDK creates self-signed application instance certificate. In order to do so the application must have access permissions on the certificate file store location. Especially the private key file is a secret you must protect against unauthorized access, copying or theft. Make sure you set restrictive access permissions on the private key file location. After certificates are created the application will use them according to the OPC UA security concepts.

Additional Deliverables and Utilities (LDS and LDSme)

The OPC Foundation provides additional tools for Local Discovery Services (LDS) which you may want to ship with your application. You must obtain such tools and their respective merge module setups from the OPC Foundation directly. Refer to the documentation of such tools for proper integration into your installer.

Note
Only if you are absolutely sure that your OPC UA Server is the only one on the particular target, you are allowed to run your application on TCP port 4840. However, on PC-based targets several OPC UA Server applications can exist and run simultaneously. In this case you should install the LDS and run it on TCP port 4840. All local UA Servers should register with LDS.