LicAdmin failing to work correctly ? (FAQ122)

 I have experienced a number of issues with LicAdmin (Microsoft.Licensing.LicAdmin.exe) :

  • Why won't LicAdmin work with 'versioned' DLLs? 
  • Why won't LicAdmin work when I put (some of) the runtime DLLs in the .NET Global Assembly Cache (GAC)?
  • Why does LicAdmin show all licenses for my product as "Foreign Vendor"?

As of Runtime version 3.0.1910, License Admininstrator should work correctly given the following:

  1. License Administrator is invoked from a normal directory after an installation has succeeded (see support.inishtech.com/KB7 )
  2. Your single unversioned permutation DLL (i.e., Microsoft.Licensing.Permutation_XX123_2.0.dll) is sitting alongside it and has the same version number (as available from Windows Explorer properties on the DLL or EXE)
  3. The associated Runtime and Utils assemblies are available - either via the GAC or through having the DLLs sit adjacent to Microsoft.Licensing.LicAdmin.exe and Microsoft.Licensing.Permutation_XX123_2.0.dll)

 

Further details / troubleshooting information:

  1. License Administrator should never be registered in the GAC - there is no good reason to do so, and it will fail to pick up your specific permutation if you do;
  2. License Administrator 3.0.1910 and later should work correctly regardless of whether any newer or older, versioned or unversioned runtime DLLs are registered in the GAC;
  3. License Administrator does not (and did not previously) work with 'versioned' DLLs (but versioned DLLs are deprecated as of release 3.0.1910 - see www.inishtech.com/FAQ86);
  4. If you accidentally redistribute (one should NOT do this) the permutation that the Code Protector SDK is protected with (Microsoft.Licensing.Permutation2.0.dll) instead of your permutation DLL (i.e., Microsoft.Licensing.Permutation_XX123_2.0.dll), one will see a state of "Foreign Vendor" on each of your licenses (the Help|About in License Administrator should show "Microsoft Master" rather than your vendor name in this case);
  5. Running %Program Files(x86)%\Inishtech SLP Code Protector\Microsoft.Licensing.LicAdmin.exe will result in the same behaviour as discussed in (4) - all licenses will show as Foreign Vendor. This is because the DLL being picked up is Microsoft.Licensing.Permutation2.0.dll – the one Code Protector is protected with;
  6. Running License Administrator with more than one permutation (with the Microsoft.Licensing.Permutation_XX123_2.0.dll name format) beside it will cause a load failure as it is not clear what permutation should be chosen. Ensuring only a single permutation is present will resolve this condition. (Aside: If Microsoft.Licensing.Permutation2.0.dll is also present, it will be chosen, resulting in the implications discussed in (4) - but one should NOT redistribute this DLL so this should never arise).

See also support.inishtech.com/FRM6T113 for in-depth discussions regarding observable issues (and tradeoffs involved in applying workarounds) when using Runtime versions BEFORE 3.0.1910.

 

 

 

Link to this

FAQ122

You can link to this item directly, using the shorter URL support.inishtech.com/FAQ122.