From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Developer Center Discussions

Showing results for 
Search instead for 
Did you mean: 

Licensing an application with optional features

Up until now, we have used Instant PLUS and Solo Server to license our applications because we only needed a very simple license wrapper.

However, we now would like to license the base application with the ability for the customer to purchase extra cost features (options). Based on my reading, it appears we should use TPLAT along with Protection PLUS and Solo Server and create two separate license files—one for the base application and one for the option. The document

Workflow: Creating Evaluation Software using Licensing & Activation indicates that we should create a license file (presumably with the LFEdit program, but I didn't see explicit reference to that) and then set up the Activation Server (Solo Server), but I don't see specifics on how to do either of these. If I create a license file and program definition with the LFEdit program, how do I relate the program definition back to the products created in Solo Server?


1) Allows me to create product defintions, but I don't see a way to create options for these products

2) Is there a way to link these product definitions to the Products created under Solo Server? Do I want to?

Solo Server

1) Allows me to create products and options (e.g. base product, option A) that are linked together under one product

2) Don't see a way to create a license file using the Solo Server that I can use in the TPLAT code.

0 Kudos
Message 1 of 9

In conversations with Concept Software, it sounds like I should take the approach of using Instant PLUS with trigger codes from the Solo Server. We would configure the base product and option in the Solo Server with trigger codes. When a customer purchases the optional feature (Concept Software uses the term module), the configured trigger code would be applied to the license file, which then enables the various data bits in the license file (up to 14).

We would need to write some code into our application that reads the appropriate data bits to determine whether the optional features were licensed/activated. My understanding at present is that we should do this by calling WR_LFGetNum() in the Concept Software dll. Anyone done this?

Some of this information is available in the Instant PLUS manual. e.g. there is a tutorial on licensing application modules:

0 Kudos
Message 2 of 9

Hey Wireman,

I have heard of some using Instant PLUS API in LabVIEW, but it has always been a bit unclear to me exactly what they did and if they were successful.  Usually they interact directly with Concept Software for support.  Since you already seem to be in touch with them, you are on the right track and hopefully they can help you get started.  If you wanted to specifically reach out to users who have used the Instant PLUS API in LabVIEW, I do know that JonSiljehag and Henrik_Molsen have specifically mentioned at least attempting it.

Sorry I couldn't be of much more help, but it's not something our team has a lot of experience with.


0 Kudos
Message 3 of 9

Actually, we were successful using the trigger codes. We ended up calling the Instant Plus API dll directly rather than using the TPLAT because the TPLAT does not have the ability to read the modular data bits that I mentioned above.

One of the key pieces of information was the mapping between the functions in the DLL and the API described in Instant PLUS manual.

For instance, n2() in the ip2lib.dll appears to be the same as WR_LFGetNum() described in .|StartTopic=Content%2F...

You can deduce this from the

C:\Program Files (x86)\SoftwareKey\Instant PLUS\samples\IP2Lib DLL\Samples\Java\src\com\softwarekey\Client\InstantPLU\ file.

It's not clear to me whether this documented officially anywhere in the Concept Software documentation.

0 Kudos
Message 4 of 9

This is good information, thanks for posting it.  I'm glad you were successful using the trigger codes and the Instant Plus DLL.

0 Kudos
Message 5 of 9

Hi Wireman,

I face the scenario now. I am trying to use Instant PLUS DLLs in LabVIEW and I called it directly without using TPLAT. I am facing some issues while doing so. My result bit is always -1. Why is this so?

Also I want to make sure whether you used Instant PLUS wrapper? If you did not use Instant PLUS wrappre what are all the changes you have made in the source code to implement the functionality of Instant PLUS Wrapper?

Can't we use the Instant PLUS APIs if the application is not wrapped?

0 Kudos
Message 6 of 9


Sorry, all of this is so far out of my head that I would need to go back and take significant time to review everything to remember how it all works. Unfortunately, I am bogged down with so many projects that I don’t have time to do that.


0 Kudos
Message 7 of 9


Thank you for elaborating on how you solved this issue.

We have single EXE with different options which we also want to licence.  I understand you used trigger codes and that the NI supplied toolkit is not sufficient.

Since the BD of NI toolkit is locked are you able to post your VIs in which you called the functions of the DLL for licencing???

0 Kudos
Message 8 of 9

Hello everyone,

We have just released the new Instant Protection PLUS 3 API VIs for LabVIEW!

Here is a tutorial to help get you started with the API. For feature based licensing, follow the instructions in the Modular Applications Tutorial. You will need to use the WR_LFGetNum VI in addition to the trigger codes to determine which features/modules should be enabled.

With the new VIs you can now protect both 32-bit and 64-bit executables with standard licensing or slightly more advanced licensing requirements such as Network Floating Licensing, Feature-Based Licensing, and Consumption-based licensing.

Log in to download the latest edition of Instant Protection PLUS 3 or click here to request a free trial!

Check out our blog post about the New Licensing Improvements Driven by LabVIEW Developers.

Message 9 of 9