CopyMinder Version History

There are three main parts to CopyMinder:

All three parts are improved from time to time. The changes in each release are detailed below.

End-user Files

When you protect your program with the CopyMinder Developer's Platform, the latest releases of the .cm file and CMInstall are automatically downloaded for you to distribute to your customers with your protected program.

By default, your existing customers' installations will automatically download a new release of the .cm file when the protected program next accesses the CopyMinder website. We recommend that you let all your customers automatically upgrade to the latest release, but you can choose otherwise if you wish. It is possible to specify particular releases for:

  • All new installations (the first time a Licence Key is used).
  • All existing installations.
  • Individual Licence Keys.

If for any reason you would like to specify a particular release to use, please contact us.

To update manual installations (those with no internet connection), you should download CMUpgrade and send it to your customer.

Release Date Changes
74 20 Jun 2023
  • IPv6 support for network clients and CMServer, including auto-detection. Not compatible with Windows XP or earlier operating systems, network licences using this and future versions on those operating systems will not work. Requires the CMServer from the 6.4.0 SDK.
  • New .cm.ini file option UseHttps which forces connections to our servers to use HTTPS on port 443 rather than the default of HTTP on port 80.
  • Further refinements to hardware detection to detect and discard classes of network adapter that do not respond consistently. This will lead to a reduction in false positive suspect install detections.
  • Support for CMNet, the predecessor to CMServer, which was deprecated in 2010 and removed from the CopyMinder SDK in 2015 has now been removed from the .cm file so this and future versions do not support CMNet based network licences.
  • More of the supporting files that are created on the end-user installation are now code signed with our Extended Validation certificate to minimize problems with Microsoft Smartscreen and other system protection software.
73 N/A
  • This was an interim release only made available for specific licences affected by the items below. These changes are included in version 74.
  • Partial IPv6 support for CMServer.
  • Very rare runtime crash bug solved.
72 01 Dec 2020
  • Major changes to network adapter detection. These should reduce suspect installs on laptops that are sometimes used with docking stations and increase compatibility with hypervisors.
  • Very rare error 81 problem on network clients now resolved.
  • Now checks all network interfaces when attempting to autodetect CMServer when activating a network client install.
  • Support for various updates listed under SDK 6.2.0 as requiring licence file version 72.
70 & 71 N/A
  • These were contracted releases for specific clients. Changes developed for these versions appear in release 72 and SDK 6.2.0.
69 21 Sep 2018
  • CMServer has the option to only update a single program where there are multiple protected programs within a single product.
  • Auto-detection of CMServer from the protected program now checks all network interfaces.
  • Significant improvements in execution time of the network protection check but also smaller improvements in standalone licence checks.
  • Addition of third CopyMinder licence server for additional redundancy.
  • New ini file option NoPrecheck to disable pre-checking.
  • New ini file option TCPTimeout to override the default Windows timeout on establishing TCP connections (e.g. to our servers) during a protection check.
68 01 Jul 2016
  • Support for multiple programs/modules protected with the same licence key (see SDK v6.0).
67 24 Sep 2014
  • Bug Fix: In rare situations, updating from .cm file version 65 to 66 could cause CMServer to use an incorrect network user limit until CMServer was restarted.
66 04 Aug 2014
  • Support for the CM_SetNetUsersToStart() feature (see SDK v5.1).
  • Support for the CM_SILENT option to API protection checks (see SDK v5.1).
  • Italian runtime messages added.
  • Bug Fix: Incorrect detection of certain RAID cards could lead to the same trial licence being issued to multiple sites, now fixed.
  • Kazakhstan now added to countries dropdown list.
65 10 Dec 2012
  • Supports the 'ShellInfo' feature (see SDK v4.5).
  • Performance improvement in network-based protection checks.
  • Bug Fix: Network clients could incorrectly give error 1059.
64 09 Oct 2012
  • Bug Fix: Execution count was decremented by 1 even when NO_EXEC_CHECK (2) was used.
63 13 Aug 2012
  • Bug Fix: Backwards compatibility problem with old versions of CMNet.
62 16 Jul 2012
  • Supports decrementing multiple executions in a single protection check (requires new API function CM_SetExecsToDecrement() added in v4.4 of the SDK).
  • Improved the reliability of the MachineID calculation.
  • Supports longer email addresses.
61 22 Mar 2012
  • If registration information is put into .cm.ini under the new [Registration] section then this is filled in to the user registration dialog.
  • The registration dialog can be suppressed if all required information has been given in .cm.ini.
  • The maximum size of the Secure Data Area has been increased to 512 bytes.
  • CMInstall elevates its access rights correctly under Windows 7.
  • Bug fix: changing from an unlimited execution count to a limited execution count would lose 1 execution.
60 25 Jan 2012
  • Bug fix: A protection check error coinciding with inability to access the internet followed by user selecting manual update then cancelling, rendered the .cm file unusable.
59 28 Nov 2011
  • Supports the new secondary CopyMinder server ( at
58 22 Aug 2011
  • Improvements to the hardware detection.
  • CMInstall now has a /uninstall option.
  • Accessing the Secure Data Area is now much faster.
57 14 Apr 2011
  • Shell method now works with Embarcadero C programs (it used to give "DLL not found" errors on XP)
  • Bug fix: Fixed a rare crash exhibited by network clients.
  • Fixed a memory leak.
56 14 Feb 2011
  • Further improvements to the hardware detection.
  • Bug fix: The protection could crash on certain Windows Server installations (including Windows Small Business Server).
55 22 Dec 2010
  • Improved reliability when detecting hardware characteristics.
  • Network clients that fail to connect to CMServer using existing details now take note of the AutoDetectCMServer .cm.ini variable when deciding whether to try to auto detect CMServer again.
  • Fixed 2 bugs relating to network clients auto-detecting CMServer.
54 28 Jun 2010
  • CMServer address can also be given using a computer name instead of IP address (eg, MYSERVER:12345)
  • If a manual installation successfully accesses the internet in response to a ForceWebCheck, it no longer converts the installation from a manual to a normal installation.
  • Does not deny access to the .cm file if the user is a network client. This improves performance if all the clients share the client .cm file.
  • Rarely, on Terminal Server installations, an error 692 occurred. This has been fixed.
  • CMInstall creates a new .cm.ini file in the program directory instead of overwriting any existing one.
53 23 Apr 2010
  • In release 52, failing to enter all required registration fields resulted in error 573 instead of returning to the registration dialog. This has now been fixed.
52 16 Apr 2010
  • New .cm.ini file variable: AutoDetectCMServer=[Yes|No] (default is Yes) which allows you to control whether or not auto-detection of CMServer is performed.
  • Auto-detection of CMServer is now performed from the activation dialog even when "network client" is the only option.
  • Fixed problem of occasionally falsely reporting errors 514 and 515, potentially resulting in error 739.
  • Improved authentication of proxy servers.
51 15 Jan 2010
  • Improved reliability when detecting hardware characteristics under Windows Vista and Windows 7.
  • Bug fix: Windows Data Execution Prevention (DEP) could cause problems when using the Shell method with Advanced Runtime Protection enabled, and the API method together. This is now fixed.
50 30 Nov 2009
  • Supports CMServer, which replaces CMNet as the licence server utility for network installations.
  • Bug fix: not all error messages were handled by custom messages DLLs.
  • Bug fix: in certain situations, multiple users using the same protected program on Windows Vista would increase the suspect count.
49 20 Jul 2009
  • Improved protection against disk cloning for manual installations.
48 09 Jul 2009
  • Improved security and error reporting.
  • Two new functions for dialog customisation: CM_MSGS_ManualPreCheckFailedWarning and CM_MSGS_AwaitingEmailVerification
47 23 Jun 2009
  • CopyMinder is now 100% compatible with Windows Data Execution Prevention (DEP). DEP no longer needs to be disabled for the protected program.
  • Custom messages DLL - added CM_MSGS_PreCheckFailedWarning.
  • Bug fixes:
    • Custom messages DLL - if the end-user selects 'always OK' on a custom 'web access required' dialog, their response is now stored in the INI file to prevent the user being asked again.
    • Resolved a backwards compatibility issue with old versions of CMNet.exe when a Secure Data Area was specified.
46 15 Apr 2009
  • A protected program now searches for its protection-related files in the same places as before, but in a different order:
    1. Path variable in .cm.ini file in same directory as the protected program.
    2. Path set by CM_SetPath() API call (now deprecated but supported for existing installs).
    3. The protected program's directory.
    4. A 'cm' sub-folder of the protected program's directory.
    5. The path %APPDATA%\<DID>\<Product Code>\cm
    6. The path %ALLUSERSPROFILE%\<DID>\<Product Code>\cm
  • Behaviour of the ActivationByProductKey and Trial variables in the .cm.ini file has been modified. Previously, if they were set to 'Manual', the protected program would try to use the internet to get the 'manual' security tolerance settings. Now, the protected program will only allow activation by manual activation code.
  • Improved clock tampering detection and handling - if an installation does not require the system clock to be accurate (i.e. no expiry date or periodic web access required), the user may change their clock without affecting the protected program.
  • CMInstall records install date in .cm.log file.
  • CMInstall no longer allows /C (current user) command-line option under Vista.
  • Improved error reporting.
  • Improved encryption of the Secure Data Area.
  • Performance improvement - protected programs now uses the CPU less during internet access.
  • Bug fixes:
    • Stray whitespace characters in manual update codes no longer result in an 'invalid code' message.
    • Invalid data no longer saved if the user enters an invalid activation code too many times, or if the user cancels part of the way through a manual activation or update.
    • A protected program no longer gives 'system clock gone back' error after automatically correcting the system clock.
    • CM_SDA_Read() API function - 'flags' parameter now works correctly for network installations.
    • Advanced Runtime Protection no longer prevents more than one instance of the protected program from running at the same time.
45 23 Oct 2008
  • Fixes backwards compatibility problem with some old versions of CMNet.
44 06 Oct 2008
  • The shell method now includes Advanced Runtime Protection which provides maximum security throughout your program's execution
  • Compatibility fixes for Windows Server 2008 and Vista Service Pack 1
  • Improvements to the Secure Data Area (SDA):
    • SDA is now available for Trials.
    • For a network install, SDA functions now read/write the server's .cm file instead of the local copy.
    • Changes to the SDA on the web site now get downloaded to the installation when they next access the web site.
    • Can now add/change/delete SDA directly from another web server by, for example, an online order system.
  • CMInstall now ok for international multi-user installations.
  • Bug fixes:
    • Some Custom Dialogs were not working correctly.
    • CM_EndNetworkUser API call now works ok.
42 30 Apr 2008
  • The Shell method is now compatible with a much wider range of executables, particularly those developed with MS Visual Studio.
  • .cm.ini file variables changed. Some developers found the NormalInternetActivationAllowed, ManualActivationAllowed and TrialAllowed variables confusing; these have been replaced by:
    ActivationByProductKey = Internet|Manual|Either|Neither
    Trial = Internet|Manual|Either|Neither
    This is less ambiguous and more flexible, permitting any combination of Internet and/or Manual activation of Normal and/or Trial installations. Further details can be found in the user manual (CopyMinder SDK 3.3 and later). The previous variables remain for backwards compatibility but are no longer documented.
  • Bug fix: manual installations that do not have an expiry date no longer give an error if the user's clock is incorrect.
  • Bug fix: 999020 diagnostic error (rare).
41 06 Mar 2008
  • Secondary server now fully supports new installations as well as existing installations.
  • Manual Trials are now supported.
  • More robust recovery if .cm.dir directory is corrupt.
  • If installed for the current user only, CMInstall adds current user's name to the .cm.log file.
  • Improved diagnostics in .cm.log file if CMNet fails to communicate with workstations.
  • .cm file version is added to the log file when newly installed.
  • Protected program only brought to the foreground if the Shell method is used.
  • Monaco added to the list of countries on Registration Details dialog.
  • CMNet puts a message in the .cm.log file whenever it is started.
  • When the .cm file specified in the .cm.ini file is not found, the error message includes the full pathname of the missing .cm file.
  • Bug fix: fixed problem caused by user entering a Product Key with an invalid Product Code.
  • Bug fix: problem with Machine IDs on Windows Vista.
  • Bug fix: problem with some path names in CMInstall (used to give error 1005)
  • Bug fix: problem of CMNet occasionally giving error 688 (resulting in error 637 on the workstation)
  • Bug fix: no longer crashes if .cm file is already in use (bug introduced in release 39)
  • Bug fix: Manual installations with no expiry date failed when user's clock was more than 1 hour slow.
40 15 Nov 2007
  • Bug fix: fixed problem with some non-English dialogs.
  • Bug fix: fixed rare problem associated with Daylight Savings transition.
39 10 Oct 2007
  • Improved consistency in Machine ID method.
  • CMNet now supports remote CopyMinder Network Paths (including UNC path names) when run as a Windows service.
  • Improved .cm.log file layout.
  • Spanish end user texts added.
  • Sub-languages of French, German, Spanish and Dutch now fully supported.
  • Improved logging of the response from firewalls etc in the .cm.log file in the event of connection failure.
  • New API call: CM_CheckProtectionAlg1 is the same as CM_CheckProtectionAlg but first element of array contains first variable (it was the second for CM_CheckProtectionAlg).
  • Suspect installation count reset to zero if suspect period has passed (purely cosmetic).
  • CMUpgrade.exe displays release number.
  • Manual activation: Product Key field cleared if cancel is hit (in case an invalid Product Key was entered).
38 30 Jul 2007
  • Can now display a warning if an expiry date is approaching or the program can only be run a few more times.
  • CMInstall now supports single-user and all-user installations. All-user installations to Program Files used to cause problems on some Vista installations (typically error 602, 604 or 606).
  • Improved CMInstall: /Q and /V switches can be used to control the display of messages (defaults to only display errors). /K switch can be used to keep any existing .cm file in the destination path rather than overwriting it (useful if the user re-installs or updates your software).
  • CMInstall now defaults to English (instead of French) for unsupported languages.
  • Bug fix: now supports the temporary addition of a PCMCIA network card.
  • Forces internet connection online if Internet Explorer has been set to work offline.
  • If a protected program is re-installed, the product key previously used will now be pre-entered into the Product Registration dialog the first time the program is run again.
  • Bug fix: problem with occasional 602/604/606 errors fixed.
  • Bug fix: fixed potential crash following error 34 if data returned from the internet was too long.
  • Bug fix: fixed potential error 576 if executions left > 16,777,216.
37 03 Apr 2007
  • 'Roaming Licence' facility has been added. This enables users of network installations to temporarily take a network user off the server for use off-site.
  • All CopyMinder runtime dialogs can now be replaced with your own. See 'Dialog Customisation' in the documentation for more info.
  • Added Secure Data Area feature - secure data that can be read from and written to using the CopyMinder API.
  • Added 'Algorithmic Resonse' feature - an API call that greatly increases security for programs using cm.dll.
  • Added option to validate the email address entered by the user when they register a protected program.
  • Addedd option to pre-define a Product Key in the ini file (ProductKey=) so that the user does not need to enter a key.
  • Non-administrator users can now install under Windows Vista even if they have Windows User Account Control enabled.
  • Bug fix: fixed problem with some registration details getting corrupted.
  • Bug fix: CMNet no longer crashes if the CopyMinder Network Path contains a non-CopyMinder .tmp file.
36 22 Nov 2006
  • CMNet checks that CopyMinderNetworkPath is not a UNC path or a remote path if installed as a Windows service.
  • Modifications to solve occasional 60? errors.
  • Bug fix: fixed problem when setting the user's clock.
  • Improved error reporting when a protected program's imported DLL was not found.
  • Added increased flexibility in deciding what release to upgrade users to.
35 20 Oct 2006
  • Bug fix upgrades to newer releases of the .cm file occasionally timed out on slow or poor internet connections giving error 566/12. To avoid this problem, we now send a lot less data to the website when getting the new release. Users who experience this problem with earlier versions can download CMUpgrade to update the .cm file to the latest release.
  • Bug fix: fixed occasional error 607 that occurred on some computers.
34 29 Sep 2006
  • The Tab order for the 'AskForProductKey' dialog has been improved.
  • Internal diagnostics removed from 'Help' on the AskForProductKey dialog.
  • Bug fix: Installation Code for Manual installations now remains unchanged until it is used successfully (bug introduced in release 30).
33 20 Sep 2006
  • Bug fix: In release 32, registration info was sometimes incorrect.
32 13 Sep 2006
  • Encryption of activation codes greatly improved and yields shorter manual codes.
  • Supports multiple users on the same computer even if they have different access rights.
  • Dialogs now OK with sub-languages (e.g. Austrian German).
  • Bug fix: No longer gives error 516 following the use of registry cleanup packages.
  • Bug fix: fixed problem with network client giving error 561 on first run.
  • Bug fix: if a manual code was entered incorrectly, subsequent attempts would fail until the user restarted the program.
  • Restarting the protected program no longer required after CopyMinder automatically corrects a user's clock.
  • Product Key is returned by the CM_GetProductKey API calls even if the protection check gives an error.
  • Improved PreCheck period messages.
31 07 Aug 2006
  • Diagnostics only, not officially released.
30 11 Jul 2006
  • Improved security.
  • Product code now displayed in dialog box title instead of program name.
  • New ini variables to control installation type (replacing ManualOnly, TrialOnly and NormalOnly): NormalInternetActivationAllowed, ManualActivationAllowed, TrialAllowed and NetworkClientAllowed.
  • Now supports multiple different users logging on to a single computer.
29 26 May 2006
  • Improved security.
  • The extra functionality in recent releases caused manual activation codes to increase in length. These have been brought back to typical lengths of 26 characters.
  • Added new API call - CM_GetLastSuccess() returns the time when the program was last successfully run.
  • Bug fix: fixed problem with not prompting the user if their clock/time zone was incorrectly set (introduced in release 28).
  • Bug fix: no longer gives error 621 when 'Manual Only' was specified on website and the program accessed the internet directly (introduced in release 28).
28 05 May 2006
  • You can now specify the number of days and/or executions a Manual installation can be used for before an update code is required.
  • ForceWebCheck for Manual installations will attempt to access the internet (and convert the installation to a normal installation if it succeeds) before prompting for manual update.
  • Re-installing a Manual installation to the same computer no longer requires a 'Manual Reset'.
  • Error numbers no longer have n000 added to them.
  • Bug fix: now supports Daylight Savings on FAT file systems.
  • Bug fix: all API calls now fully supported in Delphi.
27 06 Mar 2006
  • Significantly improved speed of performing protection checks.
  • .ini file - ForceWebCheck=Once now works for Manual installations.
  • Options parameter for CM_CheckProtection API function now works for LAN clients.
26 20 Feb 2006
  • CopyMinder now supports PreChecking - tries to go to the internet for a check before it really needs to.
  • Improved troubleshooting information written to .cm.log file.
  • 2 new API functions added - CM_GetDid() and CM_GetProductCode().
  • Added ForceWebCheck=Once .ini file option.
  • Bug fix: fixed problem in CMNet when CopyMinderNetworkPath is specified in the .ini file and a new .cm file release is available.
  • End user messages are now available in Dutch, English, French, German and Turkish.
25 28 Nov 2005
  • CMNet now performs a protection check when started rather than wait for the first client to run.
  • CMNet no longer polls for new .cm files, instead it must be restarted to affect a .cm file update.
  • ManualOnly and TrialOnly can now be specified in .ini file.
23 04 Nov 2005
  • Bug fix: Manual installations no longer treated as new installations after expiring.
  • Protection checking is faster.
  • Facility added to downgrade a .cm file.
  • Can change CMNetPath by editing .ini file without risk of getting extra users.
  • Bug fix: problem when running in non-administrator mode has been fixed.
  • New CheckProtectionOptions - BIT1 prevents checking/decrementing the execution count, BIT2 suppressess expiry date checking, BIT3 prevents incrementing the number of network users.
21 26 Oct 2005
  • All runtime errors written to log file.
20 21 Oct 2005
  • CMNet - client computers now update their .cm files automatically when a new release becomes available.
19 10 Oct 2005
  • Bug fix: fixed problem with connecting to internet too frequently.
  • Workstation timeout increased to 2 mins.
17 04 Aug 2005
  • French messages added.
  • Now only one prompt when accessing internet when getting new .cm file.
  • Website log file now records why an installation appears to be new.
  • Bug fix: cmd.obj (for Delphi) now OK.
  • msgs.dll displays CM_MSGS_SUCCESS and CM_MSGS_ERROR if present.
15 15 Jun 2005
  • Dutch messages added.
14 06 May 2005
  • Internet access timeout increased to 50 secs.
13 12 Apr 2005
  • API functions return protection parameters even if protection check fails.
12 15 Mar 2005
  • New API functions added: CM_SetPath, CM_GetNextWebAccess, CM_GetLocalExecsLeft and CM_GetWebExecsLeft.
  • New .obj modules available: cmb.obj for Borland C and cmd.obj for Delphi.
11 23 Feb 2005
  • Problem running under .NET operating systems (e.g. Windows Server 2003) fixed.
  • New API function added: CM_EndNetworkUser
  • Secondary server now functional.
10 14 Feb 2005
  • Ini file now uses descriptive names.
  • Problem with Squid proxy server now fixed.
7 20 Oct 2004
  • CopyMinder first released.

CopyMinder SDK

You will receive an email notification whenever a new version of the CopyMinder SDK is available. If you use an older version, each time you use the Developer's Platform to protect a program you will be reminded that a newer version is available.

Version Date Changes
6.4.0 21 Jun 2023
  • Changes to the special version of cm64.dll for protecting Visual Basic for Applications files (primarily Microsoft Office documents) to resolve occasional crashes reported in highly complex Excel spreadsheets.
  • New command line option to CopyMinder.exe /str "<number from 0 to 100>" indicating the amount of the protected program that the advanced runtime protection option should attempt to encrypt, which will disable the slider that otherwise appears when protection is added.
  • CMServer command-line params (eg, /port and /listen) now work when used with the /viewer option
6.3.0 25 Nov 2021
  • Shell protection now supports .NET Core 3.x and .NET 5 onwards.
  • Fixed fatal exception bug if .cm file missing in 64 bit shell protected programs.
6.2.1 26 May 2021
  • Bug fix in CMServer to correct possible exception when a new licence file sent to network clients for a shell protected .NET application.
6.2.0 01 Dec 2020
  • New option to CMServer, /allowmultiple, which allows multiple instances of CMServer to be started as a service for the same developer ID. The executables must be renamed to have different filenames as this is used for a global mutex.
  • New option for network licences in CMServer that can be configured via the CopyMinder Developer Platform. It is now possible to specify that the network user limit is counted per machine running the protected software, rather than per instance of the protected program started. This allows multiple uses on a single machine to be counted as only one simultaneous user. Requires licence file version 72.
  • CMServer now allows the results of a protection check performed on the server to be cached for a short period for to reduce load on the server in situations where there are many network users contending for a large number of licences. Requires licence file version 72, enabled via the web administration pages.
  • Changes to the use of TCP keepalives on network licences that should result in orphaned network user counts being freed considerably more quickly. This was only ever a problem on a very small number of sites with unusual internal firewalling. Requires licence file version 72.
  • New command line option to CopyMinder.exe /pre which instructs it to write out all the runtime support files that would normally be created at the point of the protection check. This will allow the software developer to check them for false positive virus detections and sign them with their own code signing certificates prior to including them in their distribution files. A consequence is that if the /pre option is specified at protection time, the files are not written out at run-time if they are absent. Requires licence file version 72.
  • New option of SA for the Protection Method when CopyMinder.exe is invoked with the command line parameter /a which instructs it to use advanced runtime protection where possible. Intended for use in batch mode only.
  • New object module cm_fpc.obj to support 32 bit Lazarus / Free Pascal Compiler.
  • CopyMinder.exe no longer attempts to recalculate the COFF checksum value after shell protection is applied, as in a handful of cases this was blocked by third party software on the developer's machine and caused the process to fail.
  • CopyMinder.exe is no longer dependent on the presence of v2.0 of the .NET framework to apply .NET shell protection.
  • C# programs that are shell protected can now access the SHELLDATA structure. A simple example is provided.
6.1 21 Sep 2018
  • New API call CM_GetAvailableNetUsers() to return the number of network licences still available on the server (32 bit modules only).
  • CMServer now handles restarts better.
6.0 01 Jul 2016
  • Added support for protecting multiple programs/modules with the same product code. At runtime, installations can use a single licence key for all of the protected files. Each file can have its own features value and limits on date, executions and network users.
5.2 19 Aug 2015
  • Shell protection now supports 64-bit .NET assemblies.
  • .NET Shell protection now preserves the "All CPU" setting, rather than converting to 32-bit only or 64-bit only files.
  • Added /Q command-line option to Developer's Platform. This option supresses all non-critical messages.
5.1 04 Aug 2014
  • Shell protection of native 64 bit applications is now supported.
  • CM_SILENT option to API protection checks. This suppresses all dialogs and is intended to make protecting services more straightforward. Use of this option will cause any protection check that needs to prompt the user (e.g. to ask for a licence key on activation, if one is not supplied through the .cm.ini file) to fail. Requires .cm file version 66 or greater.
  • New API function CM_SetNetUsersToStart() in object modules and DLLs which allows a single protection check to consume multiple network licences. Requires .cm file version 66 or greater.
  • Sample code and / or implementation guides for the following languages added : Visual Foxpro, Labview.
  • CopyMinder64.class and accompanying cmjava64.dll now added.
  • Section on use under virtualisation platforms (e.g. VMWare ESXi) added to the manual.
5.0 29 Nov 2013
  • 64 bit API implemented by cm64.obj (COFF) and cm64.dll. The 64 bit API has some small differences from the 32 bit API; please see the documentation in the Help menu of CopyMinder.exe.
  • Example projects showing an outline implementation of the 64 bit API calls are provided for MSVC 2008, C++ Builder XE3 and Delphi XE3.
  • All protection check API calls will now block while another check is in progress in a different thread in the same application, then automatically continue once the other protection check is complete. This applies to both the 32 bit and 64 bit API.
  • A guide to integrating the 32 bit API with the Windev language has been added to the samples directory.
4.6 13 Feb 2013
  • Shell protected .NET programs now depend only on the version of the .NET Framework that they did originally. Previously, a program that required .NET 4.0 (or later) would require both .NET 4.0 and .NET 2.0 when protected.
  • Bug Fix: A shell protected VB.NET 2010 program could crash when running on .NET Framework 4.5.
  • Delphi sample code for the ShellInfo feature.
  • Bug Fix: Shell protected .NET programs that use the async/await (C#) or Async/Await (VB.NET) language features. No SDK update required.
4.5.1 03 Jan 2013
  • New french manual.
  • Bug Fix: CMServer could crash when terminating/uninstalling using the commandline switches.
  • Bug Fix: .NET Shell protecting programs that use the System.Configuration classes.
4.5 10 Dec 2012
  • New 'ShellInfo' feature which allows access to properties of the protection when using the Shell Method. Code samples and documentation included.
  • Shell method now supports protecting larger programs.
  • Bug Fix: Rare crash in .NET Shell protected programs.
4.4.2 10 Aug 2012
  • Bug Fix: Adding .NET Shell protection (couldn't protect certain programs).
4.4.1 17 Jul 2012
  • Allows .NET DLLs to be Shell protected.
4.4 16 Ju1 12
  • .NET Shell:
    • All functions/methods in the program are now protected giving greater defence against reverse engineering.
    • Protection can be tailored using attributes.
  • New API function CM_SetExecsToDecrement() allows decrementing of multiple executions in a single protection check (requires v62 of the .cm file).
4.3 08 Dec 2011
  • Design matches the new CopyMinder Developer's Website design.
  • Bug Fix: handling of foreign characters in shell protection of .NET programs.
4.2 22 Aug 2011
  • CMServer now detects if Windows Firewall settings will block communication with it. It will prompt accordingly and offer to correct the Firewall settings automatically.
  • Bug fix: Shell protecting .NET 4.0 programs that use Anonymous Types.
  • Bug fix: CMServer could occasionally fail to free a Network User.
4.1 14 Apr 2011
  • CMServer can now be obtained via the Utilities menu in CopyMinder.exe.
  • Fixed a memory leak in the CopyMinder object module. This affects any binaries linked with our object module - this includes your API protected programs, cm.dll, CMNet.exe and CMServer.exe.
  • CMServer:
    • Networking configuration made simpler.
    • /u command line parameter now terminates the Viewer too.
    • New /t command line parameter to terminate CMServer. It stops the Service and terminates the Application/Viewer.
  • Bug Fix: Shell protecting certain .NET programs could fail (introduced in v4.0).
  • The object modules cmd.obj and cmdu.obj link correctly into Delphi programs.
4.0 24 Dec 2010
  • Supports protecting .NET 4.0 assemblies.
  • Problems protecting a .NET assembly due to 'missing' dependency DLLs (ie, they weren't present in the output directory) have been resolved.
  • The SDK can no longer be run under Windows 98 (protected programs still work under Windows 98).
  • Sample code added for NetBeans and MapBasic.
  • Excel sample code now allows cm.dll to be in the same directory as the protected Excel spreadsheet.
  • CMServer: Network licenses are released for machines that have been put in Sleep/Hibernate for 15 minutes or more.
3.6.7 22 Jun 2010
  • Bug fix: Autodetection of CMServer did not work (introduced in version 3.6.5).
3.6.6 10 Jun 2010
  • Bug fix: CMServer now correctly serves multiple products which have been CMInstall-ed.
3.6.5 02 Jun 2010
  • Bug fix: Potential deadlock condition in CMServer.
  • Bug fix: Adding .NET shell protection could fail on certain field types.
  • Bug fix: Delphi object module released in 3.6.4 caused an access violation when performing a protection check.
3.6.4 16 Apr 2010
  • CMServer:
    • Network Viewer includes a menu option to show the Server Details.
    • Much improved implementation of the "Update Selected Product" feature.
  • CopyMinder.exe now gives a sensible message if the input file does not exist.
3.6.3 19 Jan 2010
  • Bug fix: API protecting C++ .NET programs that link the object module.
3.6.2 15 Jan 2010
  • Bug fix: Windows Data Execution Prevention (DEP) could cause problems when using the Shell method with Advanced Runtime Protection enabled, and the API method together. This is now fixed.
3.6.1 08 Dec 2009
  • Bug fix: Shell protecting .NET programs from the command-line.
3.6 30 Nov 2009
  • CMServer replaces CMNet as the licence server utility for network installations. CMServer greatly reduces the amount of pre-configuration required on both server and clients.
  • Two new CopyMinder API calls: CM_GetNetworkUserID() and CM_EndNetworkUserID() offer more control over the number of simultaneous users of a network installation.
  • New object module (cmdu.obj) and updated sample code adds support for using the CopyMinder API with software written in Delphi 2009 and newer.
3.5 15 Apr 2009
  • .NET programs can now be protected using the shell method. Previously .NET programs could only be protected using the CopyMinder API.
  • New CopyMinder API call: CM_GetMaxNetUsers() returns the maximum permitted number of simultaneous users on a network.
3.4 06 Oct 2008
  • Advanced Runtime Protection has been added to the shell method. This feature can be enabled/disabled through the Options menu in the CopyMinder Developer's Platform.
  • Java programs can now be protected with CopyMinder. See the user manual for more information.
  • Improved documentation for CopyMinder's INI and log files and Dialog Customisation feature.
3.3 30 Apr 2008
  • The CopyMinder Developer's Platform now uses the Secondary webserver in the event that the Primary server is inaccessible.
  • CopyMinder Developer's Platform now displays an error message if unable to load the CopyMinder developer pages in your web browser.
  • Improvements to CMSetup.exe:
    • Improved directory structure of SDK installation directory.
    • Now a single installer for English, French and German languages.
    • Improved detection of previous versions and handling of multiple SDK versions installed on the same computer.
  • Added Delphi sample code for creating a custom dialog DLL.
3.2 10 Oct 2007
  • Bug fix: fixed problem with opening CMP files from the command line.
3.1 30 Jul 2007
  • Supports .cm file release 38 onwards.
  • New installer package used (the new setup program is called CMSetup.exe).
3.0 03 Apr 2007
  • Supports .cm file release 37 onwards.
  • Added Secure Data Area feature - secure data that can be read from and written to using the CopyMinder API.
  • Contains a full description of what to do if you cannot connect to the internet for some reason.
2.9 14 Sep 2006
  • Bug fix: fixed occasional problem with version 2.8 Shell method crashing.
2.8 13 Sep 2006
  • Supports .cm file release 32 onwards.
2.7 11 Jul 2006
  • Supports .cm file release 30 onwards.
2.6 26 May 2006
  • No longer disconnects a pre-existing internet dial-up connection on termination.
2.5 20 Feb 2006
  • German version available.
2.4 14 Nov 2005
  • Bug fix: link to website to create new product code no longer gives invalid Product Code and/or session error.
2.3 11 Nov 2005
  • Can now specify the method of protection (Shell or API) on the command line.
  • No longer gives spurious "Invalid characters in Product Code" message.
2.0 04 Aug 2005
  • Most Recent Used list much improved.
1.9 06 May 2005
  • Dialog box now adjusts for long texts.
1.8 18 Apr 2005
  • Password length increased to a maximum of 40 characters.
1.7 22 Feb 2005
  • Improved password encryption.
1.5 22 Nov 2004
  • Improved help file.
1.4 20 Oct 2004
  • CopyMinder first released.

Web Administration

Date Changes
21 Jun 2023
  • The My Details page under My Account previously also contained a number of account settings you could configure. This page has now been split and the settings moved onto a separate Account Settings page, still under the My Account section.
  • Emails which developers can select to be sent by the CopyMinder servers on certain events will now generally have From: and Reply-to: headers with a no-reply address to avoid backscatter where the developer has configured them to be sent to autoresponders and ticketing systems.
24 Sep 2021
  • Email customers page now excludes trials older than 90 days by default with the option to include them.
13 Sep 2021
  • The optional weekly email to software developers showing licence keys about to expire now also includes the data in CSV format.
01 Jan 2021
  • Changes to support new functionality in SDK 6.2.0.
13 Oct 2020
  • The list of licence keys that is displayed on the Licence Maintenance page now includes licences that have been registered but have not activated successfully. These are shown at the end of the list if it is ordered by Installation Date.
07 Jul 2020
  • The following changes have been made to the cm_prodkey.php REST interface:
    • Registration data can now be deleted by passing a value of DELETE to any registration data field.
    • The allowed installation types can now be changed with the ManualInstallation and WebInstallation variables.
23 Jun 2020
  • The cm_get.php REST interface now outputs the following additional data: TotalSuspectCount, LastValidation, SecureDataArea, MaxDays.
06 Jun 2019
  • When creating a new roaming licence it now inherits values for expiry date and features from the parent licence key, rather than the defaults for the product code.
21 Sep 2018
  • Ability to create trial licences disabled, requring developer to enable them before use (also requires v69 of .cm file).
  • Reports page has option to show all licences connecting to our servers in a time period, in addition to licences activated in that time period.
  • cm_prodkey now allows the security level of the licence to be changed.
  • New interface provided to allow server to server queries of licence key information without needing to log on to the CopyMinder website.
  • New functionality has been added to the network administrator page for managing roaming licences.
04 Aug 2014
  • Maximum Secure Data Area size that can be uploaded increased to 1024 bytes for .cm file version 66 onwards
  • Disabled licence keys are now shown with grey background in search results.
  • Option for developers to be emailed when a licence key is updated via the website (in My Account / My Details).
  • Option for developers to be emailed weekly with a list of licence keys expiring in the next 10 days (in My Account / My Details).
  • Registration emails are now sent to the software developer in their own language, determined by the country the CopyMinder account is registered in, not the customer's language. This applies from version 66 of the .cm file.
18 May 2012
  • Button added to Licence Key settings page allowing the email-verification email to be re-sent.
29 Mar 2012
  • Online log records number of executions remaining.
23 Feb 2012
  • Licence key settings page:
    • No longer shows meter count if execs set to no limit.
    • Meter count zeroed if changing execs from no limit to limited.
08 Dec 2011
  • New CopyMinder Developer's Website design.
14 Feb 2011
  • There is now a cap on the charges for network installs. You will only be charged for the first 30 users on a network.
14 Jun 2010
  • Sends number of executions left on the web site down to the installed copy for manual installs. This is useful for display purposes.
25 May 2010
  • Changes to Security Level parameters are now recorded in the log.
16 Apr 2010
  • Reports: if no fields were selected then it did not display the data - fixed.
  • Product Key included in Subject of Registration email.
  • Reports now have disabled Product Keys in pink (enabled ones in green).
  • No longer increases the 'suspect installation count' following a new install to the same machine even if there is an expiry condition.
  • If a manual installation accesses the web site (not via a browser), it no longer converts the manual installation to a normal one unless the Installation Type for the Product Key is set to 'internet only'.
22 Jan 2010
  • When viewing the CopyMinder Log, you can hover over the Product Key to see who it is registered to.
11 Mar 2009
  • Bug fix: Manual Trials now gets Manual Trials default level instead of the Manual default level.
  • Now allows special characters such as '"/\ to be entered into registration fields.
03 Mar 2009
  • On the "Email Customers" page, users can now choose whether they want the email to be sent to disabled Product Keys as well.
  • Bug fixes:
    • 'No. of suspect installations since first installed' used to display the value based on the time the protected program last accessed the web site. It is now based on the current time.
    • 'Disable Product Key' did not work in all circumstances.
    • Fixed bug on "Email Customers" page whereby if you had an odd number of Products then the Select All button would only select half your Products.
16 Feb 2008
  • Roaming products keys now take the features value from their parent Product Key.
  • Button added to enable you to reset a trial installation. Previously, it prohibited re-installation after 90 days.
26 Aug 2008
  • New billing system up and running.
31 Jul 2008
  • PayPal can now be used to pay for all invoices.
  • Evaluation copies of CopyMinder can now be converted to the full version.
  • cm_prodkey now returns error 11666 if you have outstanding invoices over 60 days old.
  • Registration email field now allows users to have as many email addresses as they like.
07 May 2008
  • cm_prodkey has SecureDataArea parameter so you can set the SDA on the web site.
23 Apr 2008
  • Verification emails are now less likely to be intercepted by spam filters.
  • The format of emails sent to users and software developers has been improved.
31 Mar 2008
  • Bug fix: A manual update (using update.php) now records "Manual Update" in the web log file instead of erroneous "Product Key generated from cm_prodkey".
06 Mar 2008
  • Web administration pages now fully mirrored on secondary server to allow access in the event of a web server failure.
10 Oct 2007
  • Bug fix: algorithm generator.
  • Can now produce a report of all Product Keys awaiting a verification email.
  • Product Key page displays this info rather than saying it's activated and the log file description has been improved.
  • Bug fix: rare problem with updating the default settings for a product code.
  • Bug fix: problem when .cm file is upgraded before being registered.
30 Jul 2007
  • A Knowledgebase has now been added to the CopyMinder website, containing solutions to all common technical problems.
  • errors.php uses the knowledgebase as its information source.
  • The CopyMinder Technical Support Department can be reached via the knowledgebase.
  • CopyMinder website programs no longer have a .exe file extension, to improve support for users with incorrectly configured firewalls.
  • Billing information on the website - Popup Help added for "Monthly Active Users".
  • Default for maximum number of simultaneous network users changed from 'unlimited' to 'single user'.
  • Bug fix: Log file no longer says "Next installation due in -(big number) hours" for suspect manual installations.
  • Bug fix: Manual installations no longer have (meaningless) internet security levels.
28 Mar 2007
  • Algorithm Generator interface created for default product settings.
  • Added facility to allow developers to email all their customers.
  • Default settings page now has an 'All Installations' tab as well as Normal and Trial tabs.
  • 'All Installations' tab includes facility to up/download data for the Secure Data Area.
  • If a protected program is currently installed as a manual install but internet is now available, the installation is converted to a normal one if allowed (i.e. it is not ManualOnly, it is on the same computer and their is no expiry condition).
  • Security Details tab for a product key now shows customer and/or company name so you don't have to change tabs to see who the user is.
  • 'No limit' (-) is now an option for pre-check times and exec values.
  • Fixed problem with registration information getting corrupted.
  • Bug fix: slight problem with formatting of registration email sent to French developers.
22 Nov 2006
  • Improved syntax checking of Product Keys.
  • Added support for foreign language texts in log files.
16 Oct 2006
  • Added MyPCiD option to provide increased login security with 2-factor authentication.
13 Sep 2006
  • Bug fix: If a manual installation is converted to a normal install, the website now correctly reflects this change.
  • Bug fix: No longer increments the suspect installation count if it is the same computer and there is no expiry condition.
11 Jul 2006
  • Can now produce a single report for all records.
  • Machine ID included in log for normal as well as manual installs.
  • Added option to select short manual activation codes (multiples of 15 chars) when creating a new ProdCode.
12 May 2006
  • Can now specify PreCheck values (how long before expiry CopyMinder should attempt to access the website) under 'Security Levels'.
13 Feb 2006
  • Speed improved.
06 Feb 2006
  • Bug fix: 'Back' button in logfiles now always returns to correct page.
  • Validating (x) in the logfile is now explained with a popup window.
01 Feb 2006
  • Simplified Machine ID stored in the log file for manual activations.
24 Nov 2005
  • Bug fix: ProductKey field in log file now correct length.
23 Nov 2005
  • .cm file version now customisable per Product Key and per Product Code, as well per Developer ID.
16 Nov 2005
  • Log file improved - now clearer and includes causes and additional error codes.
14 Nov 2005
  • Trials re-use any existing Product Key for that installation instead of creating a new one every time.
06 May 2005
  • Speed improved (a lot).
23 Apr 2005
  • Total suspect installs incremented on manual re-install.
18 Apr 2005
  • Much shorter activation codes (usually 26 chars), especially for manual activations.
11 Mar 2005
  • If 'Manual Installation Only' and user automatically accesses the website, their installation is activated immediately.
28 Feb 2005
  • Automated billing facility improved.
19 Jan 2005
  • Additional reports added.
20 Oct 2004
  • CopyMinder first released.