I was recently asked why Wibu-Systems requires the installation of a CodeMeter "Runtime" on the end user's computer. There is one big misconception and several undocumented advantages that need to be explained. When one's goal is to provide the most secure software monetization system on the planet, one needs at the very least, to establish an encrypted communication channel between the protected application and the license container (dongle or software license). This is the fundamental reason we included the runtime option as a basic part of our architecture.
Misconception: The Installation of our Runtime is REQUIRED
One of the misconceptions about the CodeMeter System is that it needs a "Runtime" in order to operate. This is not the case. The (highly flexible) CodeMeter System allows the ISV to integrate CodeMeter protection and license management features into the protected application in any number of creative ways. For example, ISVs can (in Windows):
- Install standard runtime as an MSI module
- Install standard runtime as a merge module
- Install "silently"
- Install as a Windows service
- Simply copy CodeMeter.exe in the same directory as the installed program
- Use the new CmCompact option
- Use our custom CodeMeter Runtime Bridge
- Incorporate our driver as source. We can supply this as a static library or as actual source code.
Each of these methods has its own set of advantages and disadvantages. For example, if you use the driver source code option, certain CodeMeter license handling features are disabled. With all these options available, why should you go to the trouble of seeing that the standard runtime gets installed in the suggested manner?
Answer: There are many technical and business flow reasons for a runtime. While I can’t list them all, a few appear below. We also feel that any license management company that wants to provide basic security is simply being lazy if they don’t provide a runtime.
Top Ten Reasons for providing a Runtime
Our customers gain several advantages by using the runtime in the manner we suggest. These advantages bring cost savings, higher security and less headaches. The top ten advantages are:
- We can quickly adapt to changes in operating systems without requiring that our customers download patches and recompile their software.
- The runtime includes the ability to create error log files and other diagnostics.
- The integration of networked licenses is simply one click away.
- The runtime knows how to handle virtual machine environments.
- The runtime knows how to handle terminal servers.
- The runtime maintains an encrypted communication channel between the protected application and the license container.
- The runtime keeps track of concurrent licenses; those in use and those that are idle.
- The runtime can simultaneously handle access from many DLLs in one process.
- The runtime can handle many executables from one ISV.
- The runtime can handle many different executables from many different ISVs.
As you can see from the above list, the advantages of a runtime environment far outweigh any perceived disadvantages. We will continue to improve the CodeMeter runtime and will continue to suggest that best practices include the installation of the runtime on the end user's system. We also suggest to the end user that he/she update the runtime on a regular basis.
See how easy it is to protect your software with CodeMeter. Watch our three-minute demo!
John Poulson has worked in the software protection industry since 1988 and has been with Wibu-Systems since 2000. He is an expert in license authentication best practices and deep powder skiing.