Error: Could not acquire secure storage

While validating a license on in a restricted process you may see one of the following errors 

SecureLicenseException: E_CouldNotAcquireSecureStorage --> Exception from HRESULT: 0xC0000034

SecureLicenseException: Could not acquire secure storage


This indicates that DeployLX was unable to create the Secure Storage to track limit state on the user's machine. Secure Storage is required to store information that changes on the client machine without requiring remote access to a license server.

The user executing the current request must have read and write access to the user's own registry and file system (at least Isolated Storage). Some ASP.NET providers do not load profile of the user assigned to service requests to the web site.  When the profile is not loaded Secure Storage cannot be created.


Granting Access to the Registry

You may explicitly grant read and write access to the HKCU\Software registry key for the user. This is the default in all versions of Windows and is only modified by overzealous system administrators or personal firewall type applications.

If you run any protected application at least once as an administrator, DeployLX will automatically set up the needed permissions.

Running as an Admin at Least Once

f you run any protected application as an administrator on the machine at least once, DeployLX will automatically set up the needed permissions. DeployLX includes a utility to make this easy. You will find the utility in the DeployLX install folder named License Authorization.exe. Copy this EXE and the DeployLX.Licensing.v5.dll to the target machine and run the utility.

Loading the User Profile in ASP.NET

If the user that IIS is running on is the ASPNET account, or another account that does not log on interactively, the user profile may not be loaded by IIS.

IIS 7 on Windows Vista, Server 2008

You can use the IIS managment console to configure this setting for the AppPool hosting the indended website.

To configure the load profile in IIS 7
  1. Select the target AppPool in the IIS managment tool, then select Advanced Settings from the Actions window.
  2. Change the Load User Profile setting to True.
  3. Select OK.
IIS6 on Windows XP, Server 2003 IIS 6.0 does not support loading a user profile. You must run the admin utlity at least once.
In version 3.2 R2471 and later, DeployLX will attempt to use a non-registry based secure storage in ASP.NET if the registry is inaccessible because the profile has not been loaded.

Using Validation Without Secure Storage

Requires version 3.2 R2471 or later.

Some circumstances will not permit you to directly modify the target machine. In such circumstances you can create a custom license that will validate even without secure storage. However the license state is not persisted on the client and some limits (like the Time and Use limit) will not be able to enforce their intended limitation.

To permit validation without secure storage
  1. Open or create a new license in DeployLX
  2. Switch to the Advanced License Editor
  3. Change the Secure Storage Requirement option from Required to either Required Except on ASP.NET or Not Required.
Published : Feb 11, 2009
Updated : Jan 04, 2012
Views : 4502
  • licensing
  • deploylx
  • error