User`s guide

C Registration and Versioning
C-4
Versioning
MATLAB Excel Builder components support a simple versioning mechanism
designed to make building and deploying multiple versions of the same
component easy to implement. The version number of a component appears as
part of the DLL name, as well as part of the version-dependent ID in the system
registry.
When a component is created, you can specify a version number (default = 1.0).
During the development of a specific version of a component, the version
number should be kept constant. When this is done, the MATLAB Compiler, in
certain cases, reuses type library, class, and interface GUIDs for each
subsequent build of the component. This avoids the creation of an excessive
number of registry keys for the same component during multiple builds, as
occurs if new GUIDs are generated for each build.
When a new version number is introduced, the MATLAB Compiler generates
new class and interface GUIDs so that the system recognizes them as distinct
from previous versions, even if the class name is the same. Therefore, once you
deploy a built component, use a new version number for any changes made to
the component. This ensures that after you deploy the new component, it is
easy to manage the two versions.
The MATLAB Compiler implements the versioning rules for a specific
component name, class name, and version number by querying the system
registry for an existing component with the same name.
If an existing component has the same version, the compiler uses the GUID
of the existing components type library. If the name of the new class matches
the previous version, it reuses the class and interface GUIDs. If the class
names do not match, it generates new GUIDs for the new class and interface.
If the compiler finds an existing component with a different version, it uses
the existing type library GUID and creates a new subkey for the new version
number. It generates new GUIDs for the new class and interface.
If the compiler does not find an existing component of the specified name, it
generates new GUIDs for the components type library, class, and interface.