Registry dependencies

Applies ONLY to: Axeda Gateway and Axeda Connector Agents, Axeda IDM Agents
For complete information about package features supported by the different agents, refer to Package Features Supported by Axeda Agents.

In the context of the Axeda® Software Management application, "Registry" refers to a list of name/value pairs that are defined for an asset, using XML elements. For Axeda Gateway and Axeda Connector Agents, the information is in a file called dependencies.xml. This file can contain name/value pairs from the Registry of a Windows machine, but you can use any name/value pair that is meaningful to your environment. Axeda IDM agents send the same type of information about their configuration and it is stored in the same way (name/value pairs) as the information for Axeda Gateway and Connector. For all of these agents, the configuration parameters are available to select in the Dependencies step of the Package wizard.

Axeda Gateway and Connector periodically read the dependencies.xml file to check for changes. They can evaluate the Registry dependencies of a package prior to executing the package instructions. Axeda IDM Agents do NOT perform this evaluation before executing a package. Note:

Note: For Axeda Gateway and Connector, updates to the values of the name/value pairs are the responsibility of a third party, not the agent. For example, a script might update the values, or you might open the file in a text editor and change the values.

A package can have dependencies on the name/value pairs defined in the dependencies.xml file for Gateway and Connector or the configuration information sent by Axeda IDM Agents. Examples of name/value pairs that might be defined in dependencies.xml or the configuration for an IDM Agent follow; the names are in the XML start and end tags and the values between the two tags:

<OSVersion>4</OSVersion

<AgentVersion>5.2<AgentVersion>

<CustomComponentXYZVersion>3</CustomComponentXYZVersion>

<AcmeDriverVersion>7.1</AcmeDriverVersion>

Packages for Axeda Gateway and Connector can update the registry through SOAP calls

Examples of registered names include the following: OS Version, OS Build number, Agent version, Custom Component version, driver versions, and Install Shield version. One of the common uses of the Registry is to check version information. For example, the user might want to deploy a package only if registry entry "Version" is greater than 1.1. The Platform tests version numbers. If a package cannot be deployed on a given Agent because of the Version, the package designer can evaluate the current value for that registry entry and update the dependency condition.

Using a Registry dependency

A common use of the Registry dependency is to check version information. The application supports the following operators that you can use for version checking: (=, <, >, >=, <=). For example, you might want to deploy a package only if the registry parameter named "AgentVersion" is less than (<) 3.5. If the registry file contained the information in the examples above, the package would not be deployed because the AgentVersion value is already 3.5.

If versions are numeric, the Agent evaluating the Registry dependency compares them in the same way as the server evaluates Package versions -- from left to right, one element at a time. Elements are separated by a "." delimiter. Elements cannot have leading zeroes unless zero is the only character of the element. Empty elements are evaluated as less than zero.

Version Example 1: 3.1.101 is less than 3.1.101.0.

Version Example 2: 3.1.1 is less than 3.1.10.

Registry versions can also contain non-numeric values. If the version contains a non-numeric value, then the entire version is compared using a string comparison and not a numeric comparison of the individual elements.