News, examples, tips, ideas and plans.
Thoughts around ORM, .NET and SQL databases.

Wednesday, August 17, 2011

Update of licensing component in DataObjects.Net 4.5 Beta 4

As you might remember, a year ago DataObjects.Net changed its license and become proprietary. In order to protect the product from being stolen we decided to use Eziriz .NET Reactor library, which fitted rather well to DataObjects.Net distribution model (trial mode → purchase → simple activation via internet). And it seemed smooth and efficient until one nuisance was discovered.

.NET Reactor operates with so-called Hardware Id (HWID) which can be calculated from identifiers of four hardware components: processor, motherboard, network card & hard disk drive. We had decided to choose the first three and unfortunately that was rather short-sighted decision because (it was found out later), .NET Reactor takes into account all network cards, even virtual, so when a DataObjects.Net customer plugged-in his mobile phone or opened a VPN connection, a new network interface appeared, HWID changed and therefore, valid DataObjects.Net license suddenly became invalid.

To sort out the problem we are changing the implementation of licensing scheme in DataObjects.Net 4.5 - network cards identifiers will be taken into account no more. As a result of the algorithm alteration, HWID will change and this will require 2 simple actions: revoking previous HWID license and activating the new one. We understand that this might be a noticeable inconvenience, that's why the measure is applied only to the upcoming version while DataObjects.Net 4.4 stays untouched.

For users of DataObjects.Net 4.4 who regularly face with HWID changes, I recommend the following path:
  • make a backup of your %DataObjects.Net directory%
  • download DataObjects.Net 4.5 Beta 4
  • take Xtensive.LicenseManager.dll & Xtensive.Aspects.Weaver.dll from there and replace the corresponding files in %DataObjects.Net directory%\Bin\Latest, %DataObjects.Net directory%\Bin\Debug & %DataObjects.Net directory%\Bin\Release folders.
Here is how the process of hardware license update looks like:
 1. When using the licensing component from DataObjects.Net 4.5 you might see the following screen:

Note that License Manager will show you the new HWID, which is calculated without data about network cards. This HWID is not yet activated. If you have Ultimate license, go directly to the step 4.

2. Open Explorer and point it to C:\ProgramData\DataObjects.Net folder. Usually this folder stores primary (or company) license (DataObjects.Net.license file) and the hardware one (XXXX-XXXX-XXXX-XXXX-XXXX.hwl file).

Here "3CA3-0442-7A86-4820-423A.hwl" is the file with my previous hardware license. So open your browser and go to My Subscriptions to revoke the old hardware license.

 3. Revoke the outdated hardware license. As you have upgraded to DataObjects.Net 4.5, you wouldn't need the hardware license from the previous version.

4. In License Manager click "Install License...".

Note that primary (company) license is still valid and doesn't require any changes. Choose "Hardware key activation: Internet" and voilĂ , activation is successful.

DataObjects.Net 4.5 Beta 4 is available for download on the website.