Add-in Licensing

Add-in Licensing

jjesusdelpino
Advocate Advocate
1,735 Views
10 Replies
Message 1 of 11

Add-in Licensing

jjesusdelpino
Advocate
Advocate

Hi forum,

 

Im thinking about what licensing system to use for Revit Addins. I would like to have a suscription system and a test version. I also want the addin to be usable only in certain computers (not be usable moving dlls). Autodesk app store requires that the addin has to be ready to use at the moment the users downloads it so my thinking of this proccess is:

 

- Install the product normally with a test version valid for X days. (will figure out how to put countdown on installation if its possible). After that time check activation.

- Require user with internet connection to submit some information about his computer (e.g. processor numbers) through some button in the addin.

- Create in the server an automatic key related to processor number or something and give it to the user.

 

Activation method logic should be something like:

if (activationkey + 1234 == "processor number firt X digits" + 1234)
{
    activate
}
else
    product not activated

I assume this method is easily replicable in other pcs but as long as the "hacking" of the addin is not as easy as move dlls Im happy. As Im newbie this is the approach that comes to my mind. I dont know if thats even possible but I would want to know you issues, experiences or ideas about this. I have checked the forum and Jeremy´s blog. Seems like someone should have already writen something about this for sure but I havent been able to find it.

 

Regards.

0 Likes
Accepted solutions (1)
1,736 Views
10 Replies
Replies (10)
Message 2 of 11

jjesusdelpino
Advocate
Advocate

Would you store the license key in a txt file in the addin folder or where would you store the license key inserted by the user?

0 Likes
Message 3 of 11

jjesusdelpino
Advocate
Advocate

In addittion to the first message. In the first step, it should also check if its the first installation on that pc (to prevent uninstall and reinstall and use always test version). I guess that to make this I have to store information on the pc registry which I think its not possible, or either requires internet connection for the first use which I think that cant be done according to Autodesk App Store policy of instant use.

0 Likes
Message 4 of 11

Sean_Page
Collaborator
Collaborator
Accepted solution

Is there a reason you don't want to use Autodesk's entitlement system? It is quite easy to implement and is user specific so it eliminates (mostly) the sharing of applications unless someone creates multiple accounts over and over or logs into multiple machines. However with named user licensing on the horizon even that will become much more difficult to do.

 

https://www.autodesk.com/developer-network/app-store

 

Sean Page, AIA, NCARB, LEED AP
Senionr Partner, Computational Designer, Architect
Message 5 of 11

jjesusdelpino
Advocate
Advocate

Actually there´s no reason for that. I didn´t knew that Entitlement API for desktop Apps was a thing so thank you. That´s totally what I needed.

 

Regards.

 

PD: I assumed such a thing didn´t exist because I saw in this video (outdated 2013) that Autodesk doesn´t provide any licensins system.  https://www.youtube.com/watch?v=8yblBDUzudw 1:25

0 Likes
Message 6 of 11

jjesusdelpino
Advocate
Advocate

According to "Best practices to use Entitlement API"


""As the Entitlement API is web-based service, users have to be connected to the internet to make
calls to this service. If users of your App are offline (not connected to internet) then it is strongly
recommended that you allow the user to use the App for certain amount of time before requiring
them to connect to the internet. This can be done by adding code to storing a timestamp each
time your App runs, and checking it on the next run.
Similarly, once your app has verified a user’s entitlement, we recommend you store this on the
local computer and allow the user to use your App offline (and then recheck the entitlement the
next time they are online).""

 

So its look like I will have to store local information anyway.

0 Likes
Message 7 of 11

Sean_Page
Collaborator
Collaborator

I will tell you that none of the app I have on the store have any local store of license information and that it is all done over the internet at run time. Not saying this is best or right, but I have never received any negative feedback based on those facts.

Sean Page, AIA, NCARB, LEED AP
Senionr Partner, Computational Designer, Architect
0 Likes
Message 8 of 11

jjesusdelpino
Advocate
Advocate

Mmm good to know. So your apps require internet connection and autodesk login to work everytime? Not even that period of grace?

0 Likes
Message 9 of 11

Sean_Page
Collaborator
Collaborator

That is correct. I check license once on startup and it's good for that session, but must be check for each session. With no grace. I think in our connected world you'd be hard pressed to find someone working without an internet connection, and I feel like as long as you give folks the 30 day trial they can verify that works for them before purchasing.

Sean Page, AIA, NCARB, LEED AP
Senionr Partner, Computational Designer, Architect
0 Likes
Message 10 of 11

jjesusdelpino
Advocate
Advocate

I agree. Then thats the way Im gonna proceed. Thanks for your help.

Regards.

Message 11 of 11

JTBWorld
Advisor
Advisor

JTB License Manager is what we use to license our apps and we made it available for other developers too. 


Jimmy Bergmark
JTB World - Software development and consulting for CAD and license usage reports
https://jtbworld.com