Infralution Support Forum Index Infralution Support
Support groups for Infralution products
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Authenticated licenses with a Maintenance Plan

 
Post new topic   Reply to topic    Infralution Support Forum Index -> Licensing Support
View previous topic :: View next topic  
Author Message
Javier



Joined: 09 Oct 2009
Posts: 198

PostPosted: Wed Mar 14, 2018 9:45 pm    Post subject: Authenticated licenses with a Maintenance Plan Reply with quote

I want to add a Maintenance Plan to my licenses. It means that the user will need to purchase an annual plan in order to receive tech support and free upgrades.

I saw the expiry date feature for time-limited subscriptions, but this is not exactly what I want. If after a year the user doesn't renew the Maintenance Plan, then the license will continue working, but some features of the application will not work anymore, and in addition the user will not be able to move the license to another computer.

How can I implement this? Thank you.
Back to top
View user's profile Send private message
Javier



Joined: 09 Oct 2009
Posts: 198

PostPosted: Thu Mar 15, 2018 12:47 am    Post subject: Reply with quote

I was reading your answers to similar posts, and probably the best way to do it is entering the expiry date as Authentication Data, and then compare to today's date internally. My question is what format is the information in Authentication Data? Is it a string? Can I enter the expiry date as mm/dd/yyyy format? Not sure how to get that value in my application once the license is authenticated.

How can I check that the clock has not been tampered? Thank you.

Thank you.
Back to top
View user's profile Send private message
Infralution



Joined: 28 Feb 2005
Posts: 4826

PostPosted: Thu Mar 15, 2018 7:03 am    Post subject: Reply with quote

You can put your maintenance expiry date in the AuthenticationData like you suggest or you can use the built in ExpiryDate and uncheck the "Disable Expired Licenses" option in the Product Dialog. In this case you can continue using the license once the expiry date is reached and your code can just read the AuthenticatedLicense.ExpiryDate property and make decisions based on this. The only drawback with this approach is that you can't then also use the ExpiryDate as a true license expiry date.

The AuthenticationData is just a string. If you go down this approach then you should ensure that you convert the date to/from a string using a fixed format or InvariantCulture to ensure you don't get issues with customers who have different culture settings to you.

You can use an instance of the RegistryEvaluationMonitor to check for clock winding. The Invalid property will be set to True if the evaluation monitor detects clock winding.
_________________
Infralution Support
Back to top
View user's profile Send private message Visit poster's website
Javier



Joined: 09 Oct 2009
Posts: 198

PostPosted: Sat Mar 17, 2018 4:56 pm    Post subject: Reply with quote

I will use the AuthenticationData approach.

Regarding the question about limiting the ability to move the license to another computer, how can I do this? I think it has to do with the number of authentications / deauthentications, but how do I control this from my application if it detects that the maintenance is expired?

If the user renews his maintenance subscription, do I have to send another license key to this user? If not, how do I change the expiry date in a license that was already authenticated?
Back to top
View user's profile Send private message
Infralution



Joined: 28 Feb 2005
Posts: 4826

PostPosted: Sun Mar 18, 2018 1:57 am    Post subject: Reply with quote

Quote:
Regarding the question about limiting the ability to move the license to another computer, how can I do this? I think it has to do with the number of authentications / deauthentications, but how do I control this from my application if it detects that the maintenance is expired?


Personally I would not limit customers from transferring their license to another computer in this circumstance. If part of the software licensing agreement is a perpetual license then my expectation as a customer would be that I could transfer that to another computer if required. If you really did want to go down this path then to implement it would probably require a modification to the Authentication Server to prevent users deauthenticating once the maintenance expiry date was reached. This effectively would prevent them from transferring a license.

Quote:
If the user renews his maintenance subscription, do I have to send another license key to this user? If not, how do I change the expiry date in a license that was already authenticated?


You can just update the AuthenticationData for their existing key. They can either reinstall their existing key - or if you are using Background Reauthentication this should happen automatically when they are next reauthenticated.
_________________
Infralution Support
Back to top
View user's profile Send private message Visit poster's website
Javier



Joined: 09 Oct 2009
Posts: 198

PostPosted: Sun Mar 18, 2018 2:43 pm    Post subject: Reply with quote

Quote:
Personally I would not limit customers from transferring their license to another computer in this circumstance. If part of the software licensing agreement is a perpetual license then my expectation as a customer would be that I could transfer that to another computer if required.

I can see your point, but somehow I have to limit the capacity of the user to do certain things, otherwise he will simply ignore the maintenance renewal, and probably also will ignore to purchase the upgrade. One of my competitors is currently doing this, by limiting the capacity to move to another computer, so I won't be the first one.

The idea behind the maintenance plan is precisely to create a sense of necessity and therefore commit yourself with the software provider. If not completely eliminate the capacity to move the license, I do want to limit the number of license transfers, maybe one transfer per year or so. What do you think? I would like to hear the opinion of other developers as well. Thank you.
Back to top
View user's profile Send private message
Infralution



Joined: 28 Feb 2005
Posts: 4826

PostPosted: Mon Mar 19, 2018 3:43 am    Post subject: Reply with quote

If you are selling maintenance then I wouldn't sell upgrades separately. If they want an upgrade (or any bug fixes) then your customers have to purchase maintenance. I think this generally provides enough incentive for customers to upgrade. Most customers don't appreciate being forced into upgrades or maintenance for things that they feel like they should be entitled to anyway. You may lose more customers then the small increase in revenue is worth.

If you do want to proceed with this then you could change the Authentication Server source code so that if the maintenance contract has expired then the number of allowed deauthentications is reduced or set to zero.
_________________
Infralution Support
Back to top
View user's profile Send private message Visit poster's website
Javier



Joined: 09 Oct 2009
Posts: 198

PostPosted: Mon Mar 19, 2018 2:20 pm    Post subject: Reply with quote

Quote:
If you are selling maintenance then I wouldn't sell upgrades separately.

I agree, but now I'm in the transition to maintenance-only approach. For the new users this is absolutely right, but all the existing users that purchased a license last year for example, will not expect to pay an additional maintenance fee now. They purchased a perpetual license of a certain version of the application and nobody told them about maintenance at the time of purchasing. I'm curious how this transition should be done to avoid bad feelings among users. Your opinion is well appreciated. Thank you.
Back to top
View user's profile Send private message
Infralution



Joined: 28 Feb 2005
Posts: 4826

PostPosted: Tue Mar 20, 2018 12:44 am    Post subject: Reply with quote

I would consider giving existing customers 1 year maintenance from the time that they purchased. This is fairly common - you bundle the price of the first years maintenance into the initial purchase price.
_________________
Infralution Support
Back to top
View user's profile Send private message Visit poster's website
Higdon



Joined: 20 Mar 2018
Posts: 1

PostPosted: Fri Mar 30, 2018 4:37 pm    Post subject: Reply with quote

This makes a lot of sense. It really makes my decisions easier when I see an offer like that. Means I'll have a lot less headache the first year of use, which is often times the hardest as well.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Infralution Support Forum Index -> Licensing Support All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group