Licensing FAQ

This page explains the steps required to successfully license one of our pre-2012.1 Windows Forms control products.

If you are using a 2012.1 or later WinForms control, or any of our other control platforms (WPF, Silverlight, etc.), please see the Licensing topic in their respective product documentation files, as that topic provides detailed information on licensing that specific product.

Frequently-Asked Questions

If you are using Wizard 2.0 or earlier, DockableWindow, TabStripPanel, please use the information in the .LIC Files tab below. For other products, remain on the License Keys tab.

License Key Essential Licensing Steps

This information indicates how to install your purchased Actipro controls for both fresh install and upgrade situations.

The summary is that you enter your Licensee and License Key during install, compile our sample project to see if you entered them correctly, update your project's licenses.licx file and you should be done. The following steps tell you how to do this in detail:

  1. Uninstall any old version or Evaluation Releases of the control.
  2. E-mail yourself the licensing information for the control. The e-mail may be sent from your account's organization page.
  3. Download and install the Full Release of the control from your account's organization page. The Evaluation Release's installer will not allow the entry of license keys so you must download the Full Release.
  4. When running the setup application for the control, the installer will prompt for customer information. Enter your name along with the Licensee and License Key exactly as specified in the e-mail you sent to yourself in an earlier step.
  5. After completing the installation, we highly recommend that you open one of our sample projects for the control and try to rebuild its solution and run it. If it runs without any license popup window displaying, then you installed the control correctly. If it displays a license popup window, then you most likely did not enter the Licensee or License Key correctly in the previous step and need to reinstall. Again, ensure both of them match exactly with what is in our license e-mail.
  6. Open your project in Visual Studio and ensure that there is a licenses.licx file in it. Visual Studio hides the licenses.licx file by default so you must use the Show All Files command to see it, if it is there. The Show All Files command is in the Visual Studio Solution Explorer tool window's toolbar.
  7. If your project does not contain a licenses.licx file...
    1. Windows Forms only:
      Customize your Visual Studio toolbox (by choosing Tools / Customize Toolbox or Tools / Choose Toolbox Items depending on your VS version) and add the Actipro control into your toolbox. Then drop an Actipro control on one of your forms and save the form. Generally, Visual Studio will automatically create the licenses.licx file at that point. If it doesn't, perform the next step.
    2. WPF & Windows Forms:
      Follow the steps in the Troubleshooting -> No licenses.licx file exists in my project topic below in this FAQ to create a licenses.licx file manually.
  8. Ensure that the licenses.licx has a correct entry for each licensed control/component you are using. The easiest way to do this is to copy the licenses.licx entries from our sample project and paste them into your project's licenses.licx file since our sample project includes them all.
  9. If you are upgrading to a new version of the Actipro control that you already were using in your project...
    1. Even though licenses.licx control entries may already be in your projects for the Actipro control, Visual Studio requires that the Version and PublicKeyToken are correct. Therefore, copying the entries from our sample project whenever upgrading is always a good idea.
    2. If the referenced Actipro assemblies still point to an old version or are not found, remove the references to the old control assemblies that were previously referenced and add references to the new control assemblies. The paths to each of the assemblies can be found in the Readme file for the control.
  10. Re-build the solution.
After following these steps, no license popup windows should appear.

.LIC File Essential Licensing Steps

  1. Try to remove any references in your projects that you made to the Evaluation Release of the control. This may help prevent the problem with Evaluation Releases remaining in the GAC as described in Troubleshooting below.
  2. Uninstall any old or Evaluation Releases of the control.
  3. E-mail yourself the .LIC file for the control. The e-mail may be sent from the Organization Purchases page.
  4. Download and install the Full Release of the control from the Customers Relations Purchases page. The Evaluation Release will not accept licenses so you must download the Full Release.
  5. Place the .LIC file you received in your license e-mail in the same folder where the .DLL file is installed. This is generally C:\Program Files\Actipro Software\[product name]\[version].
  6. Ensure that your project generated a valid licenses.licx file. Use the Show All Files command to see if it's there and that it's included in your project as Embedded Resources.
  7. Open the licenses.licx file and ensure that there is a line for the control(s) you purchased in it with the correct version number and that the PublicKeyToken is correct.
  8. Re-build the solution.
After following these steps, no popups should appear.

Visual Studio 2005 and Later Issue with LIC Files

All of our current products have switched to the license key method of licensing because we found that .LIC files were too difficult to manage and often were not found in the right place by Visual Studio. While earlier versions of Visual Studio should work fine with LIC files if you do everything correctly, Visual Studio 2005 and later breaks how LIC files work. However there is a workaround.

The problem is that Visual Studio 2005 and later no longer searches the Program Files folder for the .LIC file(s). Instead it only looks in the GAC. Therefore, as a workaround, we have to put the .LIC file(s) in the GAC where the control is. Follow these steps to apply the workaround:

  1. Open a command prompt.
  2. Change directories to C:\Windows\Assembly or wherever your GAC is located.
  3. Change directory to where the Actipro assemblies are actually located. This will be something weird like:
    C:\Windows\Assembly\GAC\ActiproSoftware.[product]\[version][other random letters]
  4. Copy the .LIC file(s) to this folder.
  5. Re-open your project and rebuild the solution.

Product-Specific Notes

Notes for the DockableWindow/TabStripPanel combo:
  1. ActiproSoftware.DockableWindow.dll requires that ActiproSoftware.TabStripPanel.dll be distributed with it. DockableWindow uses the TabStripPanel control in its implementation. If you do not include the TabStripPanel .DLL file with the DockableWindow .DLL file, errors will occur.
  2. Two license files are sent for this combo package, one for each .DLL file. Be sure to use both of them.

Upgrading Notes

Following these steps should ensure a successful product upgrade from a previous version for your projects:
  1. Ensure that the licenses.licx file in your projects have the new release's exact version number. For instance, for a maintenance release, the version number may have changed from 1.1.146 to 1.1.147. Version numbers in this file should always be entered in "short" form (i.e. 1.1.147) as opposed to the "long" form (i.e. 1.1.0147) that we generally display on About windows. The other information in the licenses.licx file should not generally need to be changed, however it's always good to check that the PublicKeyToken is correct.
  2. Remove the reference to the DLL that was previously referenced.
  3. Add a reference to the new DLL, even if it was the same path as the one you just removed.
  4. Do a full rebuild of the solution.

Licensing Notes

These notes may help you better understand how licensing in .NET operates.
  • The .LIC file should only be placed in the folder where the source DLL file is (see above). You should NEVER have to place the .LIC file in your bin/Debug or bin/Release folders if everything is set up correctly.
  • The compiler only looks for .LIC files if there is a proper entry for the control in the licenses.licx file for your project. If there is no entry, the .LIC file will not be used, thus not removing the popups.
  • If a compiler successfully locates a .LIC file for a control, it automatically compiles it into your application's executable by using LC.EXE behind the scenes.
  • If the compiler compiled the .LIC file (from the .DLL folder) into your application, when you run your application, no popups will display. If the compiler was not able to find a proper .LIC file at compile-time, your application will look in the application folder for the .LIC file. If found, it uses it. However this is bad because .LIC files may not be distributed with your applications. They should be compiled into your applications as described above.

    You should never have to place the .LIC file in the bin/Debug and bin/Release folders of your application. If you do, and the compiler is really not finding the .LIC file in the .DLL folder, when you run your executable you will get no popups (because the .LIC file was found in the application folder), however as soon as you move the application executable to another folder without a .LIC file in it, the popups will return. By only placing the .LIC file in the DLL folder as described above and not in the bin/Debug and bin/Release folders of your application, you are immediately able to determine if the .LIC file is being successfully compiled into your application or not.

.LIC Filenames

There seems to be an odd behavior with one or more email systems, one of them being Lotus Notes. When your .LIC file(s) are sent to you as attachments in an email, they are renamed by the email system from something like this (which is a correct example for DockableWindow):

ActiproSoftware.DockableWindow.DWManager.LIC

To something like this (which is incorrect and will not be found by the license manager):

ActiproSoftware[1].DockableWindow.DWManager.LIC

If this problem occurs for you, simply remove the [1] from the filename(s).

Troubleshooting

I've installed the Full Release, but even in the Actipro sample project I still get a popup saying I have the Evaluation Release.
If you are using a product that uses license keys, 99% of the time this means that you didn't enter the Licensee and License Key exactly as specified in our license e-mail. Reinstall the product and be sure that both of those items match exactly with what is in our license e-mail.
I have the above problem, I entered the Licensee and License Key correctly, and I run Vista.
Vista has a "feature" where it may virtualize registry entries that are made by the evaluation release of our products post-installation. This is called the VirtualStore. What happens is that an evaluation registry gets cached in the virtual store and Visual Studio may choose to use that instead of a full release license key that you installed in the setup program. To clear this up, use regedit, go to this key and remove it: HKEY_CURRENT_USER\Software\Classes\VirtualStore\MACHINE\SOFTWARE\ [Wow6432Node]\Actipro Software\[Product]\[Platform]\[Version]. The Wow6432Node part of the path above is only used on 64-bit machines, leave it out on 32-bit machines. Then rebuild your project and it should pull in the correct license key you entered during installation.
No licenses.licx file exists in my project.
If you don't see a licenses.licx file in your Visual Studio project, first ensure that the Show All Files option is set. The Show All Files command is in the Visual Studio Solution Explorer tool window's toolbar. If you still don't see one, follow these steps:
  1. Right click on your project and select Add -> Add New Item.
  2. Select a Text File and name it licenses.licx.
  3. Ensure its Build Action is set to Embedded Resource. This can be done in the Visual Studio Properties tool window when the licenses.licx file is selected.
  4. Copy the appropriate lines from a sample project's licenses.licx file for the control(s) you're using.
A licenses.licx file exists but there is no entry for the Actipro Software control/component I purchased.
You should be able to add the necessary lines manually to the file. Copy the appropriate lines into your application's licenses.licx file from a sample project's licenses.licx file for the control(s) you're using.
A licenses.licx file exists and there is an entry for the Actipro Software control/component I am using however the version number is wrong.
This situation could occur if you upgraded to a new version. Be sure that you update the version number in the licenses.licx in every project that uses the control. The version number should be the same as the version number of the control that is installed. Also ensure that the PublicKeyToken entry matches with the entry in our sample project.
I purchased a license for SyntaxEditor but I still get nag screens when compiling the sample project.
If you purchased licenses for the SyntaxEditor control, but not both add-ons, then compiling the sample project will still show a licensing popup for the add-ons. To remove those, open the sample project's licenses.licx file and remove the entries for the add-on languages that you don't own licenses for.
I did everything above but still have problems. What else can I try?
Go to your project's Properties window (right click on your project and select Properties). Then locate the Reference Paths page. Remove any existing paths for old versions of the control and add the path where the new control version assembly files reside. This is generally C:\Program Files\Actipro Software\[product name]\[version] but our Shared and WinUICore assemblies are found in C:\Program Files\Common Files\Actipro Software\[product name]\[version]. Each product lists the exact paths in the Readme file for the product.
I give up. What now?
It's best to write our support staff. However before doing so, please read all of the above carefully. Much of our licensing resolution knowledge is listed in this FAQ.

If you are using a product that uses license keys, you can help out by holding Ctrl+Shift and clicking on the Full Release link. Then go to the Licensing tab that appears and press Copy to Clipboard. E-mail us with the information that is copied to the clipboard. That will help us debug the licensing issue.

Dissecting a Licenses.licx File

A licenses.licx file is a file that Visual Studio maintains to know what third-party licensed components and controls are included in a project. Visual Studio then uses that information to know what license data it needs to include in the output assembly for your project. Therefore, if you use a third-party component and don't have the proper entries in your project's licenses.licx file, no licensing information will be included in your project's output assembly and licensing popup windows will display when your application is run on end user computers.

As indicated above, it is important to ensure that any third-party component or control has valid licenses.licx file entries. For Actipro controls, the easiest way to ensure that you have the proper entries in your project's licenses.licx file is to copy them from our sample project's licenses.licx file.

The contents of a licenses.licx file are pretty simple. It contains one line for each licensable component or control Type. For Actipro Software controls, controls that require a licenses.licx file entry are generally listed on the About window. Version numbers in this file should always be entered in "short" form (i.e. 3.1.202) as opposed to the "long" form (i.e. 3.1.0202) that we generally display on About windows. Make sure that the version numbers match exactly with the version number of the control that is installed.

The structure is as follows (on a single line for each control):

<Namespace>.<Type Name>, <Assembly Name (without file extension)>, Version=<Version>, Culture=neutral, PublicKeyToken=<PublicKeyToken>

As a real-world example, this line (it may wrap) was for a SyntaxEditor control, version 3.1.0202:

ActiproSoftware.SyntaxEditor.SyntaxEditor, ActiproSoftware.SyntaxEditor, Version=3.1.202.0, Culture=neutral, PublicKeyToken=0ecd8d0e8818ec9b

In the case of WPF controls, each assembly contains a single token class that used for licensing and the related licenses.licx line is like this example:

ActiproSoftware.Products.Ribbon.RibbonLicenseToken, ActiproSoftware.Ribbon.WPF30, Version=3.5.422.0, Culture=neutral, PublicKeyToken=36ff2196ab5654b9

Special Instructions for Managed C++ Projects

Visual Studio does not provide as much support in C++ for the .NET component licensing process as it does for C# or VB.NET. In C++, the .licenses file (generally automatically generated by VS from the licenses.licx file) for a licensed control and binding it to the executable is not supported. You have to do this manually and here are the steps to do so:
  1. Open a Visual Studio command prompt.
  2. Change directory to your project folder, which must be the same folder that contains the licenses.licx file.
  3. Run the following command to generate the .licenses file from the licenses.licx file:
    lc /target:[YourApplication.exe] /complist:licenses.licx /i:[PathToProgramFilesFolderForActiproControl]\ActiproSoftware.ControlAssembly.dll
  4. A .licenses file should be generated in the project folder.
  5. In Visual Studio, right-click on the project in the Solution Explorer and select Properties / Linker / Input / Embed Managed Resource File and enter the filename of the .licenses file.
  6. Rebuild the solution and the .licenses file should now be embedded in your application's assembly and the licensing information will be available at run-time.

Further Support Needed

If this FAQ and its troubleshooting section did not solve your problems, please contact us via e-mail and we can help further.