# Assembly Versioning in the Windows .NET Framework Environment

TIBCO Enterprise Message Service assembly DLLs are versioned using the format 1.0.release.version, where release is the EMS release number and version is an arbitrary value. For example, the assembly version number for software release 8.2.0 is similar to 1.0.820.8.

## Automatic Upgrades Between Versions

In order to allow for seamless upgrades between releases, the TIBCO Enterprise Message Service installation includes policy and configuration files that redirect existing applications from an older assembly to the newest assembly. There is a policy and configuration file for each EMS library:

- A `policy.1.0.`assembly file. For example, `policy.1.0.TIBCO.EMS.dll`. The policy file must be included in the global cache to enable automatic upgrades.
- An assembly.config file. For example, `TIBCO.EMS.dll.config`. The configuration file must be present when the related policy file is added to the global cache.

The following table shows the policy and configuration files for each EMS assembly.

Version | Files
--- | ---
.NET API | `policy.1.0.TIBCO.EMS.dll TIBCO.EMS.dll.config`
.NET Administration API | `policy.1.0.TIBCO.EMS.ADMIN.dll TIBCO.EMS.ADMIN.dll.config`
.NET Unshared State API | `policy.1.0.TIBCO.EMS.UFO.dll TIBCO.EMS.UFO.dll.config`

## Enabling Updates

To enable automatic updates for a library, add the appropriate policy file to the global cache. Note that the related configuration file must be located in the directory with the policy file in order to add the policy file to the global cache.

## Disabling Automatic Upgrades

If you do not want your older applications to automatically move to the newer version, do not include the policy DLL in the global cache. When the `policy.1.0.`assembly file is absent, the client application is not upgraded.

## Running Multiple Clients from Different EMS Releases

To deploy two or more applications that are built with different TIBCO Enterprise Message Service releases:

- Build clients using the different .NET client assemblies.
- Include all desired versions of the .NET client assemblies in the global cache.
- Do not include the `policy` DLL in the global cache.

Copyright © Cloud Software Group, Inc. All rights reserved.