Developer Center Discussions

cancel
Showing results for 
Search instead for 
Did you mean: 

Alias Files not Created

I developed a standalone application and used the Protection Plus API (calling KEYLIB32.dll and SKCA32.dll) to add custom functions.  Everything works well but I can not get the automatic aliases created when the program is installed and executed.  I've stripped down a subVI to the main functions needed to create aliases, i.e. EZTrial1() and pp_lfclose().  I run this in LabVIEW 2011 with Administrator

Privileges and I've also compiled it and ran it as an exe with admin rights and nothing created aliases.  What's odd is that EZTrial works to check the license status and does not throw an error.  But it doesn't create the aliases I need for copy protection.

To check if the aliases are created, I use the program LFRW.exe that comes with protection plus.

My main license file was created with LFEdit.exe and I'm using software binding and hardware binding.

I'm trying to get help from Concept Software and they're usually pretty responsive but I'm afraid this might be a LabVIEW implementation problem. 

Please let me know if you have any advice on this.  Thanks in advance.

NEW:

Here's the stripped down subVI that I use.  Also, I'm running Windows 7 64-bit although I'm programming in 32-bit.  I have the TPLA toolkit installed but I don't use it.  I access the API by creating a user library from the dlls.  These are not always working correctly:  broken arrows on some VIs, etc.

0 Kudos
Message 1 of 4
(4,962 Views)

Hi,


Unfortunatley I don't really know much about the details of the underlying API works, and the how the aliases work.  Your best bet would probably be to keep contacting CS about this, but here are a couple of troubleshooting steps to consider:

  1. Even though aliases aren't created, does the licensing work?  In other words does it show up as evaluation, and then does it expire after the set time limit, and then can you activate it with the API?
  2. Do the same exact function calls work outside of LabVIEW?  (i.e. if you call the dlls from C, .net, etc)
  3. If you use the TPLAT API (Get License Status.vi) does it work as you expect?  This VI uses mostly the same calls as your example VI but also has some helper code around it.  I'm not sure exactly if this should affect what you are seeing, but it's a worthwhile test case.

If we are sure this is a LabVIEW problem, I'm happy to keep digging, but I'm hesitant to think that LabVIEW is doing anything to specifically hinder these DLL calls. 

Let me know if there is more I can do to help,

David

0 Kudos
Message 2 of 4
(3,488 Views)

I got this to work after some help from Concept Software.  Here's the info:

When software binding is selected, aliases names are assigned for use in the system registry and the systems folder, as specified in the ProtectionPLus online help. 

BUT the files need to be explicitly created using the pp_lfalias() when the program is installed (to make sure proper rights are used).

After that, these files will be updated along with the primary license file IF they are explicitly opened with pp_lfalias().  Aliases are closed automatically when pp_lfclose() is called.

The function pp_upddate() explicitly writes the current date/time into all open license aliases (and the primary license).  This should be called when the program closes to make sure all licenses are updated for the last time used.

After some stumbling (which I hope will be avoided if this post helps), the API works very well. 

0 Kudos
Message 3 of 4
(3,488 Views)

SJT, thank you very much for the followup information.  I'm glad that you were able to solve the problem with the help of ConceptSoftware's support team.  I have summarized these steps for future users who stumble upon this, can you verify that my interpretation is correct?

1)  To ensure the alias' are created initially, the installer must call pp_lfalias() with administrative rights

2)  In the main application call pp_eztrial1() to check the license status

3)  Call pp_upddate() when the application closes to update the date/time used

Am I missing something?

--

As an aside, can you provide some feedback as to why you chose to use the Protection Plus API instead of the Third Party Licensing & Activation Toolkit API for your licensing?  If there is something that Third Party Licensing & Activation Toolkit is lacking, we'd like to keep that in mind for future features/updates.

Thanks,

David

0 Kudos
Message 4 of 4
(3,488 Views)