OPC Core Components 3.00

April 15, 2007

Overview

This release of the Core Components adds .NET RCWs which support .NET 2.0. The merge modules have also been rebuilt with Visual Studio 2005 which may resolve the interoperability problems with the existing merge modules. The Core Components Redistributables installer detects the versions of .NET that are installed on the system and only installs the appropriate .NET RCWs. The Core Components Redistributables installer also detects whether Visual Studio is installed on the machine and places the files used to build with the RCWs in the 'Common Program Files' directory.

The latest version of this document always on the OPC foundation website

Any use of the OPC Core Components is subject to the terms the OPC Foundation License Agreement.

The OPC Core Components consists of all shared OPC modules that need to be distributed by multiple vendors. These modules include DCOM proxy/stub libraries, the OPC Server Enumerator, .NET wrappers, etc. The OPC Core Components installer packages bundle modules from all released specifications for convenience. OPC Foundation Members, who have access to the source code version of the Core Components, may modify the installation projects to suit their own needs.

At this time the following modules are included in this distribution:

File

Description

OPC Common 1.10 Proxy/Stub DLL; .NET Wrapper; IDL/Headers; Project Source Code
OPC Server Enumerator 1.10 DCOM EXE Server; IDL/Headers; Project Source Code
OPC Data Access 2.05/3.00 Proxy/Stub DLL; .NET Wrapper; IDL/Headers; Project Source Code
OPC Data eXchange 1.00 Proxy/Stub DLL; .NET Wrapper; WSDL/IDL/Headers; Project Source Code
OPC Alarms & Events 1.10 Proxy/Stub DLL; .NET Wrapper; IDL/Headers; Project Source Code  
OPC Batch 2.00 Proxy/Stub DLL; .NET Wrapper; IDL/Headers; Project Source Code
OPC Historical Data Access 1.10 Proxy/Stub DLL; .NET Wrapper; IDL/Headers; Project Source Code
OPC Commands 1.00 Proxy/Stub DLL; .NET Wrapper; IDL/Headers; Project Source Code
OPC Security Proxy/Stub DLL; .NET Wrapper; IDL/Headers; Project Source Code

Version History

Date Version

Description

2003-01-31 1.00.0.07 First release.
2003-02-06 1.01.0.00 Incorporates currently released shared modules for all specifications.
2003-02-12 1.02.1.00 Updated to reflect changes in the source code tree.
2003-02-19 1.10.1.00 Incorporates a merge module for the SDK.
2003-02-27 1.10.1.02 Removed dependency on .NET Framework from the Binaries installers; Added OPC DX components.
2003-03-02 1.10.1.03 Fixes a bug during un-registration of OpcEnum; OpcEnum now registers itself as a service.
2003-03-03 1.10.1.04 Added fields for natural byte alignment in DA and DX structures. 
2003-03-04 1.10.1.05 Fixed problem with DX .NET wrapper. 
2003-03-05 1.10.1.06 Fixed problem incorrect assembly version in Common .NET wrapper. 
2003-06-04 1.12.1.01 Incorporates interface changes into the DA and DX .NET wrappers.

Removed dependency on .NET Framework from the SDK installers. 

2003-06-30 2.00.1.00

Updated to build with VS .NET 2003 and .NET Framework 1.1.

Added project source code for HDA, Batch and Security proxy/stubs.

Added .NET Wrappers for HDA and Security.

2003-08-12 2.00.1.02 Minor update for administrative purposes. 
2003-10-14 2.00.1.03 Added constants used for Complex Data into the Data Access IDL and error header files. 

Added a registry key in the SDK merge module that makes the RCWs visible inside VS .NET.

2003-12-02 2.00.1.04 Added .NET Wrappers for AE and Batch.
2004-02-04 2.00.1.06 Minor updates to the HDA proxy/stub library.
2004-09-01 2.00.2.00 Fixed name conflict for modules defined in the DA, AE, DX and Batch proxy/stub type libraries.
Fixed array marshalling problem for IEnumXXX interfaces defined in the Comn, Da, Ae and Hda RCWs
2004-11-22 2.00.2.10 Fixed namespace for AE, Batch and Security RCWs.
Fixed bugs in the AE RCW.
Changed byte packing for structs containing VARIANTs from 8 to 4.
2004-12-01 2.00.2.20 Updated OpcEnum to use the DCOM configuration APIs from the Windows XP SP2 Platform SDK.
No changes in behavior for OSes earlier than XP SP2 or W2003 SP1. 
2005-11-25 2.00.2.30 Added the PrimaryInteropAssembly attribute to all .NET RCWs.
2007-02-10 3.00.1.00 Rebuilt all binaries with Visual Studio 2005
Linked .NET RCWs to .NET 2.0
2007-03-06 3.00.1.01 Fixed bug in OpcEnum introduced by the port to VS2005.
2007-04-15 3.00.1.02 Fixed problems with the installers and UAC on Vista.
OpcEnum now registers itself as an NT service.
Binaries did not change.

Distribution

The core components are distributed in five ways:  

File

Description

OPC Core Components Redistributable Installs the COM proxy/stubs, OpcEnum and the .NET 1.1 and 2.0 RCWs.
OPC Core Components Source Code Installs the source code for the COM proxy/stubs, OpcEnum and the .NET 1.1 and 2.0 RCWs.
OPC COM ProxyStub Merge Module A merge module containing the COM proxy/stubs and OpcEnum (no dependency on the .NET runtime).
OPC .NET 1.1 RCWs Merge Module A merge module containing the .NET 1.1 RCWs.
OPC .NET 2.0 RCWs Merge Module A merge module containing the .NET 2.0 RCWs.

System Requirements

Operating Systems

The Core Components binaries (excluding merge modules and installers) support the following operating systems:

 

Windows 95 with DCOM95;

Windows 98 with DCOM98;

Windows ME;

Windows NT;

Windows 2000;

Windows XP;

Windows Server 2003;

Windows Vista;

The installers have only been tested on Windows XP and Windows Vista at this time.

The .NET RCWs require the .NET Framework version 1.1 or 2.0 and they are not installed unless one of these versions is present. If both versions are installed on a system then versions of the .NET RCWs are installed in the Global Assembly Cache. The .NET Frameworks can be downloaded from here.

Installers

The installers come with a setup.exe file. This is the file that must be used to install under Windows Vista. Double clicking on the MSI will cause an error.

The installer packages are self-installing files; however, they require that Windows Installer 2.0 be present on the system (it is standard on Windows 2000 SP3 and Windows XP). The Windows Installer 2.0 support files for other operating systems can be downloaded from Microsoft's website at:

Download Windows Installer 2.0 Redistributable for Windows NT 4.0 and 2000  

Download Windows Installer 2.0 Redistributable for Windows 95, 98 and ME

 

The installers automatically check if the .NET framework is installed on a particular system; if it is not found the .NET components are not installed. 

Source Code

All source code projects require Visual Studio 2005 with Service Pack 1 installed.

The service pack can be downloaded here. 

Installation

Redistributable

All COM servers and proxy/stub libraries that have been previously released are installed in the system folder and reference counted in order to ensure compatibility with older install programs. New COM servers and proxy/stub libraries are installed in the common files folder under "OPC Foundation\Bin ".

Shared .NET assemblies are signed with the OPC Foundation's master key-pair and installed in the Global Assembly Cache (GAC). The source code distribution includes a test key-pair that permits developers to experiment with the assemblies without affecting other vendor's applications.

Vendors may install these assemblies in a vendor specific directory, but the vendor needs to recognize that .NET framework will look in the GAC for an assembly before probing the vendor specific directory.  As a result, applications will use the assemblies in the GAC even if a vendor has installed copies in a vendor specific directory.

Vendors who wish to always use their private versions must re-sign the assemblies with their own key pair and build their applications against these re-signed assemblies. This approach will not impact other applications that were built against the OPC Foundation signed and versioned assemblies.

Source Code

The Source Code installer places all files in the default directory:

$(ProgramFiles)\OPC Foundation\Core Components 3.00

The root of the source tree contains the following sub-directories:

Directory

Description

Bin Executable and configuration files.
Keys The key pairs used to sign .NET assemblies.
Merge Modules Merge modules.
Source Source code.

The 'Source' directory contains the following sub-directories:

Directory

Description

Bin Exported COM servers and .NET assemblies.
Include Exported C++ header files and type libraries.
Solutions A directory containing the solutions used to build the components.
Alarms and Events Source code related to the Alarms and Events specifications.
Batch Source code related to the Batch specifications.
Common Source code related to the Common specifications.
Commands Source code related to the Common specifications.
Data Access Source code related to the Data Access specifications.
Data eXchange Source code related to the Data eXchange specification.
Historical Data Access Source code related to the Historical Data Access specifications.
Security Source code related to the Security specification.

The following projects directories exist in the specification specific sub-directories:

Directory

Description

Proxy Stub The DCOM proxy/stub library.
.NET Wrapper The .NET Runtime Callable Wrapper (RCW).

Problem Reporting

As part of a broader initiative to increase adoption of OPC specifications and to improve service to members, the OPC Foundation intends to maintain binaries and sample code over time following a model similar to Open Source projects. Vendors are encouraged to report problems, bug fixes, enhancements and any other comments about the components supplied by the OPC Foundation. To support this effort, the OPC Foundation has technical staff prepared to review and incorporate feedback into the baseline and release new versions of the components and sample code in a timely manner for the benefit of all members.

Please note that this support is intended for OPC Foundation members who are incorporating OPC support into their products.

Problems related to a particular download should be posted to the appropriate group on the OPC Foundation Message Board.


Please send website comments or report any problems to: webmaster@opcfoundation.org