Module Update & Distribution

The auto update functionality compares the version of the local modules with the version of the files on the server when the application starts. If there is a new module on the server which is not yet on the client or if the version (the assembly version) of the module on the server is newer than the one on the client it is copied to the client PC.
 
The configuration is done in the XAppConfig table. The entries ModulesLocation, ModulesRepositoryType and ModulesRepositoryPath must be set up.
 
The ModulesRepositoryType defines the type of disribution. There are three types: No distribution, synchronization with files on the server file system or synchronization with files in the database.  
 
The ModulesRepositoryPath defines the shared network path where the module dlls are saved in case the "filesystem" ModulesRepositoryType was selected.
 
In either case "filesystem" or "database" the ModulesLocation must be set. This defines the destination directory on the clients where the module dlls are copied. This location  must be the same on all clients. Therefore we recommend a directory on the C:\ partition.
 
 
No Distribution:
 
If you are using Cuberry on a single PC and don't need to distribute new modules. The ModulesRepositoryType must be set to "none" and the value of ModulesRepositoryPath is not considered.
The modules must be located on the local PC in the location set up in ModulesLocation. "." means that the modules are located in the same directory as the Cuberry.exe file. They may be also placed in another folder, this must be set up in the ModulesLocation.
 
If you use this option in a Network environment make sure that all client PCs use the same directory for the modules. 
 
 
Filesystem:
 
Use this option if you are running Cuberry in a network environment and you want to place the new modules on a shared directory on the server.
The ModulesRepositoryType must be set to "filesystem" and the value of ModulesRepositoryPath must be set to the shared folder where the modules are located.
 
And again the setting of the ModulesLocation must be equal on all client PCs.
 
 
Database:
 
You are running Cuberry in a network environment and you don't want or you can't place the modules on a shared directory. In this case you can upload the modules to the database.
The Modules Repository Type must be set to "database" and the value of ModulesRepositoryPath is not considered.
 
The setting of the ModulesLocation must be equal on all client PCs.
 
Use the Module Manager to upload the modules to the database.  
 
 
Note:
 
The modules must not be referenced in the main application. The DLLs are already loaded in memory when the version check is done and can not be overwritten.