DeployLX Reports a Different Machine Profile in 32- and 64-bit Processes

When two applications both use DeployLX Licensing but differ by process bitness, DeployLX may report a different machine profile hash. When compared DeployLX reports that the machine differs by CPU. 

On This Page

The problem stems from the data returned by the CPUID instruction. Certain extended features are not reported (even though they are present) when invoked from a 64-bit process. This results in a CPU mismatch when the profiles are compared. 

Impact

The impact of this discrepancy is minor. It only affects applications that use hardware activation and allow the user to choose whether to run the application in 32- or 64-bit mode on the same machine. Consecutive runs of the application with the same bitness will continue to produce the same machine profile hash. 

Workaround

requires v4.1 R4474To work around this issue, you can use the new Use64BitCompatibleCpuid property of the MachineProfile class. This static property will instruct DeployLX to ignore features that are reported only in 32-bit mode so that the machine profile hash will be consistent in both 32- and 64-bit modes. 

Warning: Using this property for existing 32-bit installs will result in a CPU mismatch against their previous machine profile hash.

MachineProfile.Use64BitCompatibleCpuid = True
...
_license = SecureLicenseManager.Validate(Me, Nothing, Nothing)
MachineProfile.Use64BitCompatibleCpuid = true;
...
_license = SecureLicenseManager.Validate( this, null, null );
Published : Oct 04, 2010
Updated : Dec 09, 2017
Views : 3456
  • licensing
  • deploylx

Applies To

DeployLX Licensing v4.x

Downloads

Folder

Loading comments...