LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

API to automate installation of OPC Toolkit deployment license?

Now that the OPC UA API is in a separate toolkit (great news, perhaps it should even have its own forum? ), we are wondering if there is a way we can build the registration of a deployment license into our installer or application? Right now we can install our OPC UA server product on a Windows target, but unless we manually point the users to how they are to install a deployment license, the server will just fail on launch...

Ideally we would just pre-purchase a license (bulk price available?) and then bundle the deployment license with the installers so that the end users will not even notice.

0 Kudos
Message 1 of 8
(3,108 Views)

Hey Mads, 

 

As per the LabVIEW 2017 OPC UA Toolkit Readme  you need to use the OPC UA Runtime and activate the LabVIEW OPC UA Toolkit deployment license to deploy standalone applications.

 

I saw you had some questions on automating the installation process for the final user. The readme has a section on Automating the Installation of NI Products.One option here is building a spec file. You can still chose what level of control they will have. Please check the next articles going over these topics:

Automating the Installation of a Single Installer
http://digital.ni.com/public.nsf/allkb/878FC4C374013ADF8625733D00688F67
How Do I Automate the Installation of a Suited Installer?
http://digital.ni.com/public.nsf/websearch/DE2BAD19D4A9124C862573B400808EC6?OpenDocument

 

On the bulk pricing questions - you'd be best off discussing this with with your local NI sales rep. You can try your local NI office on +47 66907660 to get this conversation going. They'll also be able to provide more specific advice for your situation on the above.

 

Kind regards, 

Rebecca

0 Kudos
Message 2 of 8
(3,068 Views)

The OPC UA run-time gets included in the installer when buildt in LabVIEW...so that part is not a problem. The problem is the deployment license. Ideally we could build installers or applications that when given our license key for it, would also retrieve and register the necessary deployment license in the background. That would streamline the whole process for the user of the application requiring the deployment license. I do not expect such a solution to be available though, but was hoping that there were ways to automatically trigger a license activation process during the install...As far as I can see there is nothing like that. The user would manually start that actication process (which he should not need to relate to really, the need for a deployment license for a sub-component should be transparent to the user, he should only relate to the licensing of the top level application he has bought...but automating a joint activation would at least make it semi-transparent). I have not read through all of the documents you refer to yet so perhaps the answer is there already, or?

0 Kudos
Message 3 of 8
(3,057 Views)

Hi Mads,

 

I've looked further into this. As you expected there is no a separate/standalone product/installer for OPC UA Runtime. The recommendation for distribution of OPC-UA VIs:

1. Develop OPC-UA based VIs.

2. Build the VIs into a LV built application with LV AppBuilder.

3. Create a build spec for LV built installer with LV AppBuilder.

4. By default, both of LV Runtime and OPC UA Runtime will be checked/included. The OPC UA Runtime includes NILM and an OPC UA deployment license. See the screenshot below.

 

 5. Click "Build" to build the installer. This install includes everything for deploying and running an OPC UA based application.

6. Copy the installer onto a clean host and install the installer.

7. Activate the deployment license with NILM on this deployed host.

This will be the initial status of OPC UA licenses after installing OPC UA 2017 installer. The customer will then have to activate as normal with using NILM.

8. Run the built application.

9. If the deployment license is activated, the built application can run correctly. 

 

The way above is the recommended and only way to distribute and deploy OPC UA-based applications. I hope this helps clarify, and again apologies if this is not the answer you were after. 


Kind regards,

Rebecca

0 Kudos
Message 4 of 8
(3,037 Views)

Thanks RebeccaSmiley Happy

This is not the solution I was hoping for no (cumbersome for the end users), but at least now we know how it works.

I wish NI would streamline the experience in future versions (Provide us an API to present a registration wizard that allows us to combines any NI licensing/activation actions with whatever similar licensing actions our built applications should require for example.). 

Message 5 of 8
(3,033 Views)

On a side note:

Is the OPC UA server supposed to require a deployment license when run from a built application - even though it is run from the development machine which has the licensed (Volume License) LabVIEW IDE installed too though?

The Volume License on the development machine states that it includes both the OPC UA Toolkit and an OPC UA Deployment license, but when starting it from the built application it throws an error stating that the license is not activated. Seems strange not to be able to run builds locally for testing...Perhaps an issue with the VL, or?

0 Kudos
Message 6 of 8
(3,026 Views)

There's definitely some APIs that would be worth checking out to streamline the process on the user side. I can't say I have much experience with them, but I'm sure you'll be able to find testimonies of those that have used them.

 

Add Licensing Checks to an Application's Source Code

BLT for LabVIEW - Studio Bods

Tutorial: License a LabVIEW Executable Using Instant Protection PLUS 3

 

On the licensing front, as far as I'm aware the toolkit VIs invoke NILM APIs to check if either Development or Deployment license is activated when running a built application i.e. with the development license activated only, you should be able to deploy/run the built application on a host.

 

Kind regards, 

Rebecca

0 Kudos
Message 7 of 8
(3,023 Views)

I haven't tried this but you can have your LabVIEW installer run an executable after installation so maybe you could have a really simple dialog window which requests a serial number from you user and then activate the item through the command line.

 

http://zone.ni.com/reference/en-XX/help/371136G-01/nilm/html/automating/

 

The user still has to enter in a serial number themselves but they are at least prompted to do so. If they cancel out of that dialog because they don't have the serial number handy it at least shouldn't be unexpected that they need to activate the software.

Matt J | National Instruments | CLA
Message 8 of 8
(3,015 Views)