Hardware Configuration Identifies the PC

PC Identifiers are the criteria that the ProtectKit.NET uses to uniquely identify the PC running the application. If the PC's hardware configuration does not correspond with the PC Indentifiers set in the protection information, then the ProtectKit.NET will determine that the application has been copied to a different machine. The application will then be locked and will not run.

Explanation of the PC Identifiers

In the screenshot of the Set Password Protection tool below, the red box indicates where the PC identifiers are set. In this section of the Set Password Protection tool, there are two radio buttons.

RadioButton 1: CPU, Motherboard Northbridge, VideoCard, and NetworkCard must all be different
This option means that the ProtectKit.NET will determine that the PC has changed when all 4 of these hardware identifiers are different from that saved in the password protection information. This option is the least severe option in regard to PC identification. If your customer updated their VideoCard, for example, this option would mean that the protected application would still work on that PC.

RadioButton 2: Choose which of the following must be different:
          CPU, Motherboard Northbridge, VideoCard, NetworkCard

This option means that the ProtectKit.NET will determine that the PC has changed when any one of the selected hardware identifiers are different. This option is more severe in regard to PC identification. If your customer updated their VideoCard, for example, and you had selected that hardware item to identify the PC, then this option would mean that the protected application would no longer work on that PC.

Checkbox: Add Random Identifier to these PC Identifiers
This option lets you add a series of random numbers to the PC identifiers. These random numbers are saved in the registry and in a file in locations that you specify. For more information see Saving Protection Information in the Registry and Saving Protection Information to File.

This option is used in the follow cases: 
a. If there is a possibility that different PCs may have the same hardware configuration, adding a random identifier will give your application the ability to uniquely identify each PC even though the hardware configuration is identical.

b. If you want to set renewable passwords.
The renewable password option is available when setting "number of uses", "number of days", and "number of months" protection.  Renewable passwords allow you to lease software for a specified number of days or months or for a specified number of uses. For more information see Renewable Passwords.

 

 

How the PC Identifier is constructed

The PC identifiers are used to construct an "identifier string". Consider the following hardware example:

CPU
     Idenfication: 10386100640
     1 - Manufacturer number
     0 - 3DNow command set not supported
     3 - Stepping ID
     8 - Modal
     6 - Command family
     1 - Supports MMX

Motherboard Northbridge
     Vendor Number: 8086
     Product Number: 7124

Video Card
     Vendor Number: 8086
     Product Number: 7125

Network Card
     MAC address: 00E0297CCF83

Random Identifiers
     2529609067

In this case the PC identifing string is:
     10386100640808671248086712500E0297CCF832529609067

IMPORTANT!!

1. Endusers sometimes change their CPU, Video Card, and Network Card. Be aware that depending on the PC Identifiers that you set, changing these items may cause your application to stop running even though the PC hasn't changed.

2. There are PCs whose video card information cannot be retrieved.

3. Some PCs have multiple CPU and network cards. Having multiple physical CPUs or having more than 3 network cards may cause inconsistant results when the CPU and network card information is retrieved.