Why are my customers repeatedly prompted to reactivate, and how can I reduce it?
Quick answer
Protection PLUS 5 SDK decides whether a license is still on the same machine by comparing the machine's current system identifiers (a fingerprint built from hardware and system information) against the identifiers stored when the license was activated. If enough of them no longer match, the software treats it as a different machine and prompts the customer to reactivate, typically surfacing as error 9400 (license system identifiers do not match).
Some reactivation is expected and healthy (it is how copy protection works), but frequent, unwanted reactivation usually means the match is stricter than it needs to be, or the customer genuinely changed hardware. You can reduce needless reactivations with fuzzy-matching and related settings, described below.
Why reactivation happens
At activation, the license records the machine's system identifiers. On later checks, the current identifiers are recomputed and compared. Reactivation is prompted when too many have changed. Common causes:
- Hardware changes (new network adapter, drive, or motherboard, or a machine that was re-imaged).
- A major operating system upgrade, which can change enough system-provided values that the machine looks different to the licensing check.
- Running in a virtual machine, where the virtual hardware may look identical across clones or may change when the VM is moved (fingerprints are inherently weaker in VMs).
- A genuinely new computer, when the customer moved or reinstalled the software (see "Moving to a new computer" below).
Error 9400 is the code you will see for an identifier mismatch. (Do not confuse it with 9211, the concurrent-user limit for network floating licensing, which is a different situation.)
How to reduce unwanted reactivations
- Enable fuzzy-matching (allow some identifier change). Fuzzy-matching lets a machine still count as the same machine when only some identifiers change. A common, effective configuration is to require only that at least one network adapter (NIC) identifier match. This absorbs ordinary hardware drift while still detecting a genuinely different computer. See Allow small identifier / hardware changes (fuzzy-matching).
- Choose appropriate system identifiers. Use a combination of identifiers suited to your customers' environments rather than relying on any single volatile one. For how identifiers work and how to allow acceptable change, see the Protection PLUS 5 SDK manual's System Identification topic.
- Allow reactivations on the same computer without decrementing the count. When a Product Option issues an Installation ID, you can enable "Allow Reactivations on Same Computer" so a machine that has not actually changed can reactivate without using up an activation.
- Understand what is normal. A one-time reactivation after a real hardware change or OS upgrade is expected. The goal is to stop repeated prompts on an unchanged machine, not to eliminate reactivation entirely.
For the broader picture of how activation, fingerprints, and copy protection fit together, see Product activation: fingerprints, copy protection, and disconnected computers and Customer is always prompted to reactivate.
Moving a license to a new computer
When a customer legitimately moves to a new computer, the intended flow is to deactivate on the old machine and reactivate on the new one. Deactivating returns an activation so it can be used again.
- If the old machine is still available, deactivate from within the software (for Protection PLUS 5 SDK, via License Manager's activation dialog).
- If the old machine is gone, the customer can remotely deactivate the old installation from the Customer License Portal (Licenses and Activations, then Manage Installation), which increments the Activations Left count. Remote deactivation is available for online activations, not offline trigger-code activations, and only if the license still has a Deactivation available.
See Moving or transferring a license to a new computer. To allow customer self-service deactivation, enable the Product Option's Allow Deactivations setting and the corresponding Customer License Portal option.
Virtual machines and remote-desktop environments
Fingerprinting is inherently limited in virtual machines, because virtual hardware may not change when a VM is copied, or may change when a VM is moved between hosts. If you need to license concurrent use in virtualized or shared environments, Cloud-Controlled Network Floating Licensing (CCNFL) is the recommended approach, because it counts concurrent seats rather than depending on a stable per-machine fingerprint. See How does Cloud-Controlled Network Floating Licensing (CCNFL) work in SOLO Server? and How to detect and protect against virtual machine technology.
Common Questions
My customer keeps getting prompted to reactivate on the same computer. How do I stop it?
Enable fuzzy-matching so ordinary identifier drift does not trigger a mismatch (for example, require only one NIC identifier to match), and enable "Allow Reactivations on Same Computer" for Product Options that issue an Installation ID. If it persists, review the license's activation history in SOLO Server to see which identifiers are changing between activations.
What does error 9400 mean?
Error 9400 means the machine's current system identifiers do not match those stored when the license was activated, so the software treats it as a different computer. It is usually caused by a hardware change, a major OS upgrade, or moving to a new machine. Reduce false triggers with fuzzy-matching; for a genuine move, use the deactivate/reactivate flow above.
The customer ran out of activations. What now?
Deactivating an installation returns an activation to the license. If the old machine is unavailable, the customer can remotely deactivate it from the Customer License Portal (if you enabled deactivations and the license has a Deactivation available). If they legitimately need more seats, that is a case for selling an additional license or a network floating license.
Does running in a virtual machine cause reactivation problems?
It can. Virtual hardware may look identical across cloned VMs or change when a VM moves, so per-machine fingerprinting is less reliable there. For concurrent use in virtual or shared environments, use CCNFL, which counts concurrent seats instead.