The Enhanced Computer ID Algorithms (EID) have replaced the Legacy Algorithms by providing a more robust implementation to lock an application to a computer. The EID utilizes up to 17 pieces (up to 12 when protecting a DLL) of hardware and Operating System items in addition to a "vote" system to determine if the application is running on the same computer.
When an application is activated, a Computer ID number is generated for each of the 17 hardware binding items and each of these Computer IDs are stored in the License File individually. These hardware items are assigned a vote weight: a value between 1 and 9. Certain items which may change frequently are assigned a smaller vote weight while items which would rarely change are assigned a higher vote weight.
For example, the memory size is assigned vote weight of 2 as it may change more frequently than the motherboard information which is assigned a weight of 9. When an activated license is validated, each individual hardware item is calculated from the current PC configuration and compared to the corresponding hardware item in the License File. If the value for an item has changed the vote weight for that item is added to a total vote count.
Once all items are compared the total vote count is checked to see if it is less than a threshold value specified by the developer. If the total vote count is greater than the threshold value then the application is not running on the same computer on which it was activated. Major hardware items generally have a vote weight of 9 and lesser items will have a vote weight between 2 and 3.
We recommend a threshold value of 20 on the Copy-Protection step, which allows two major hardware changes and one minor change.
Flowchart describing Computer ID Number comparison:
One of the hardware items is the physical serial number of the Hard Drive. Since a computer may have multiple drives, each drive’s serial number is retrieved and when the application is activated all the drive serial numbers (up to four drives) are stored in the License File. On subsequent license checks each current drive’s serial number is compared to each serial number in the License File to find at least one match. This allows the user to add hard drives without invalidating the license. If at least one drive in the PC matches the drive list in the License File the vote weight for the Hard Drive serial number is not added to the total vote count. If no drive matches are found then the vote weight is added.
Once every 90 days has passed and the hardware data is within the threshold value, this hardware data in the License is overwritten by the current computer’s hardware data. This allows the user to make gradual hardware changes to their PC without the License deactivating.
Below is a list of what pieces of information are gathered by the Enhanced Computer ID Algorithms and what their respective vote weights are:
Hard Drive Format Serial | 4 |
MAC Address of Network Interface Card (NIC) | 9 |
Windows Product ID | 4 |
Bios Revision Number/Date | 3 |
Computer Name | 1 |
Processor Information | 9 |
Processor Speed | 3 |
Memory Size | 2 |
SID | 4 |
Video Card | 4 |
Hard Drive Model | 9 |
Hard Drive Serial | 9 |
Motherboard Model | 9 |
Motherboard Serial | 9 |
CD/DVD Drive | 3 |
Sound Card | 4 |
Domain | 6 |
When activating an application through SOLO Server with the Enhanced Algorithms, the hardware related items that make up the Enhanced Computer ID are sent during the activation request. This create an Installation ID for that specific activation. Depending on your product option settings, you can configure SOLO Server to give another activation without decrementing the activation count if the user has not made any hardware changes since the original activation. For Product Options with Issue Installation ID enabled, check Allow Reactivations on Same Computer to enable this feature.