LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

How to setup the time useage limit on a LV application?

I have a LV application which will be distributed to user. I would like put a time useage limit (like several months) on the software, after that time period,  user should input the activation code or license code provided by me in order to continuously use it. 
 
Any clue will be appreciated. Thanks in advance.
0 Kudos
Message 1 of 7
(3,390 Views)
One possible idea:

Each time you start up LabVIEW, use Get Date/Time String. The first time you start up LabVIEW, write some file to disk. Then, each subsequent time, you compare the current date with the stored date and see if the desired number of days has elapsed. If it has, then you prompt the user to enter the activation code in order to continue.

I realize this isn't very secure, as the user could delete the file if they knew about it, but the other alternative would be to have a hard-coded expiration date in code which you compare to the current Date/Time String.
-Sam F, DAQ Marketing Manager
0 Kudos
Message 2 of 7
(3,379 Views)
Thanks. But if the user changes their PC's date/time settings. This way may not secure the software.
0 Kudos
Message 3 of 7
(3,378 Views)
That is of course a possibility - however, most schemes of securing software/shareware have loopholes, if your user tries hard enough ( people crack activation codes on commercial software all the time).

Another alternative would be to have the LabVIEW program running on the user's PC communicate over the internet to a computer you have set up. This PC checks to see if they have paid/whether they are still in the trial period, possibly based on IP address. If they've paid, change the filename of some file on the user's hard drive to something unknown to the user and don't bother checking over the internet in the future.

Anyone else have experience with developing trial-period type applications with LabVIEW?
-Sam F, DAQ Marketing Manager
0 Kudos
Message 4 of 7
(3,369 Views)
No expert here but how about recording elapsed time of how long the top level vi runs. Store this and add to it each time. Once it reaches a certain point have them enter the activation code. I'm thinking you could make a subvi of this and delete or passcode the block diagram.
Now Using LabVIEW 2019SP1 and TestStand 2019
0 Kudos
Message 5 of 7
(3,368 Views)
Hi michengla...,

instead of writing a file you can also set a registry key - it's a little bit more hidden.
To ensure proper PC time/date you can also check time using an internet clock (search for NTP here in the forum).
To give a certain security you can encode ('encrypt') the data you write in the key...

Example: ILHCSWIFENLCAA is a password for my software. It contains data on validity range (start and end date), which program this key applies to and which version of the software is needed... Just use your imagination 🙂
Best regards,
GerdW


using LV2016/2019/2021 on Win10/11+cRIO, TestStand2016/2019
Message 6 of 7
(3,356 Views)

Thanks for all the posts here.

Encrypt registry key sounds a good idea for my application.  I will start working on it and keep you posted.

Best regards,  

0 Kudos
Message 7 of 7
(3,335 Views)