Categories: Security
Installing CodeMeter on End User Systems
Software developers who intend to integrate CodeMeter into their applications will, sooner or later, have to think about how they can get CodeMeter onto their users’ systems. The key to success is knowing all of the features of the installer and understanding how it can be used most effectively. This article will look at the fundamental approach to installing CodeMeter on Windows systems and at everything else you should know about CodeMeter installation.
The CodeMeter Architecture In Brief
For licensed software to run on your users’ systems, they need an active CodeMeter License Server. Only CodeMeter Embedded can run without it on e.g. industrial controllers. The CodeMeter License Server receives and processes the queries from applications and libraries protected and licensed with CodeMeter and sends the necessary commands to the right CmContainers. In the case of the hardware container CmDongle, this would mean encrypted commands sent to the connected dongle; for the software option CmActLicense, the cryptographic operations are run in the CodeMeter License Server itself; and for the new online option, CmCloudContainer would receive the commands via a secure https connection with the cloud system operated by Wibu-Systems.
To store and process CmActLicenses, the target system needs certain additional rights to create the binding with the system and to securely store information on that system. In this case, the CodeMeter License Server must be given administrator rights and be installed as a service or daemon on the system.
With CmDongles and CmCloudContainers, commands are executed in a secure environment, that is, either on the secure hardware developed by Wibu-Systems or the secure servers running in Wibu-Systems’ data centers. In this case, the CodeMeter License Server could also be run with simple user rights.
Why Install CodeMeter?
The installer for CodeMeter Runtime will install the CodeMeter License Server and CodeMeter WebAdmin as a service or daemon. Since every protected and licensed application needs to be able to reach a CodeMeter License Server, this puts in place the right conditions for your software to work reliably and correctly on the system. Alongside the two services, the installer also includes several key libraries and applications for using CodeMeter. This comprises of the tool to visualize the available CmContainer and the means to interact with the License Server, e.g. to import updates to the connected CmContainers. Alternatively, the command line tool cmu can do the same jobs.
On Windows systems, the installer will also configure the Windows Firewall to match your needs concerning CodeMeter. If you want CmContainers connected to the system to be accessible by other systems, it can open the necessary port 22350.
The Compatibility Promise
All applications that use CodeMeter will be using CodeMeter Core API. This API allows software developers to make CodeMeter an integral part of their software. Applications and libraries protected with AxProtector from CodeMeter Protection Suite will also be relying on the same API.
Wibu-Systems can make a compatibility promise for its CodeMeter Core API: Once a call is available in the Core API, it will stay available in future CodeMeter versions and always produce the same result. This promise is the reason why different software vendors have been and are using CodeMeter effectively and reliably on the same system. All they need is the newest version of CodeMeter Runtime in place on that system.
Always Up To date
When used on Windows systems, the CodeMeter installer has a very special ability: It can make sure that the newest version of CodeMeter on the system is always kept in place. This can be helpful if different software vendors include different versions of CodeMeter in their installers. It does not matter when or in which sequence these are installed: In the end, the version of CodeMeter on the system will always be the most recent one of the bunch, and thanks to our compatibility promise, all software will work perfectly with it.
If your users have more than one application with CodeMeter installed, the newest version of CodeMeter will be kept in place even when the application that came with that version is removed. CodeMeter would only be fully removed from the system when the very last application that came with a CodeMeter installer is deleted from the computer.
A Choice of Installation Options
As software vendor, you have a choice of options for getting CodeMeter Runtime onto your users’ systems.
You can require your clients to organize the runtime environment’s installation. Some enterprises already consider CodeMeter Runtime as middleware, that is, as something that the clients should provide on their systems when needed. They do this to make sure that the installed version of CodeMeter has been tested and works in their environment.
However, you cannot rely on all of your clients to think like this. In that case, you should deliver the CodeMeter installer together with your software so that the end users can install the runtime environment they need without too much effort on their part.
For many target groups, it can make sense to download the installers as MSI packages and include them as a regular part of your installation routine. With the MSI package accessed with right parameters, you can decide how the CodeMeter installer behaves and, for instance, allow the users to pick the right configuration in your dialogues without confusing them with a different-looking design. The CodeMeter developer manual goes into depth about these options.
Skip the Installation Altogether?
There can be scenarios in which you might consider forgoing the CodeMeter installer: If your application needs no separate installation and can simply run on the users’ system, you can copy and run the CodeMeter License Server like that. This works with CmDongles and soon, with CmCloudContainers; CmActLicenses with their activation-based mechanism are not an option in this case. You should also make sure that your application is the only software using CodeMeter on the system in question, or at the least, check whether a prior installation is already residing on it.
Always The Best Choice
The CodeMeter installer is the best way to get CodeMeter installed and updated in the fastest and simplest way possible. It ensures optimum compatibility with other software from other makers or older applications from your own developers. Our recommendation: Integrating the CodeMeter installer in your routines is always the best choice.
KEYnote 45 – Edition Spring/Summer 2023