70002172 New License Managment

Article 70002172
Type General
Product Engine
Version 9003
Date Added 3/1/2022 12:00:00 AM
Fixed 10.1001.0.1 (4/5/2022 12:00:00 AM)
Submitted by Peter Chanios

Summary

New License Managment

Solution

In version 10.1001 we have provided support for .net 6. This big step among with other internal changes that were required in our code we were forced to change the licensing of our products.
So in this article we will talk about the changes that are required in order to succesfully build your application and then distribute it to your clients without having evaluation messages.

First of all we provide a new command-line application which will help you create a license file that should be distributed with your application , but we will talk about this later.

The application required is vdlic.exe and is provided with the download of the 10.1001 version and above. vdLic.exe can work both as an application and also as command-line.



  • Select Application : Choose your application's executable in order to create the according license file. The Application's filename will be added to the combobox for easy access.
  • Clear List : Will clear the items of the combobox.
  • Create License for All checkbox : If selected will create license files for all the applications listed on the combobox.
  • Create License : Will create the license file(s).
  • Clear History : Will clear the listbox from History.

You can also call this application with arguments preferably on the after-build event so the license file is created everytime you build your application.
First argument is always the executable file of your application (c:\export\Myapplication.exe).
A second argument can be -l which will create also a log file usefull for debuging the licensing process. The file produced has a .log extension.
Another argument can be -c which will copy all vdf files from VDRAWDEV enviroment variable path to the args[0] directory.
Note : The machine must be authorised with the vdAuthorizeApp in order to be able to generate a valid license file for your application. If the developer machine is authorised for the IFC library and also for the vdRay library then the result license file will also contain license for these products.
Note : You have to create a new license file everytime you build your application and that is why we propose to have the creation of the license file on the after build event. The license manager will not work with a license file that is not for the actual executable that is running.
During the setup we initialise a variable called VDRAWDEV which points to the installation folder of our libraries , so in the after build event you can use the following command to easily create you license file.
"$(VDRAWDEV)vdlic.exe" "$(TargetPath)"
The $(VDRAWDEV) variable will also be initialised after you run the vdLic.exe file the first time to the folder that you will run it from (if there is no value for $(VDRAWDEV) in your machine).
In this case Administrator rights are required.
The generated .lic file should be distributed with your application and must be placed in one of the following folders
1) In the executable's folder.
2) In the folder where VectorDraw dlls are , if your setup places our libraries in a different folder other than your executable.

In Delphi you can call the vdLic.exe in the like: "$(vdrawdev)vdlic.exe" $(OUTPUTPATH)
 
You should test your distribution to a non developer machine in order to be sure that the creation of the license file was correct.


If you are using version 11 nugets you also need to create a .lic file on the post publish event so the license file will be distributed among with all the other neccessary files of your application.

<Target Name = "PostBuild" AfterTargets="PostBuildEvent"><br> <Exec Command = "&quot;$(VDRAWDEV)vdlic.exe&quot; &quot;$(TargetPath)&quot;" /><br> </Target ><br> <Target Name="AddPayloadsFolder" AfterTargets="Publish"><br> <Exec Command = "&quot;$(VDRAWDEV)vdlic.exe&quot; &quot;$(PublishDir)$(targetfilename)&quot;" /><br> </Target ><br>

Send comments on this topic.