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 

Some noobie questions...

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





PostPosted: Tue Mar 07, 2006 10:27 pm    Post subject: Some noobie questions... Reply with quote

Hi All,

Grant, and here as promised I am posting in the forum so everyone can benefit from your response. Here was the queries I asked you via e-mail:

1. I want to display an “Application Unlocked! Thankyou for your purchase.” message box when a license key has been successfully entered, just prior to going into the main application. Where would I put this line of code.

2. I think I will definitely need to have the time limit (30 days) AND usage restrictions (say 60 program uses) implemented (which ever runs out first) as I do not want to rely solely on time limit, but need some guidance how to implement this.

3. I was thinking of having some of the program features/functionality disabled in the trial version. Then when a valid key has been entered the full functions become available. Is the usual way to do this to have two functions/procedures for the feature you want to disable. So, for the trial version, you run the first function, and then for a valid key only the second function is run from then on? If so what is the code (and where does it go) to do this?

4. As far as nag screens go I would like these to popup every now and again but not sure about this, what would you recommend? I was thinking about maybe something when the application terminates as well as some popup every so often whilst the application is running. But I do not want to annoy the user so much that they do not wish to carry on using the program again!

5. In the future I will be issuing bug fix releases and upgrades. For bug fixes it will be fine to leave the license keys as they are I guess. But for upgrades I think it would be best to issue new ‘sets’ of license keys for each new major version released of a software application. What do you normally do for this Grant? Would it suffice to simply change the product password that is used for the new version only or is there a better way to do this?

Looking forward to hearing your (and anyone elses) suggestions.

Best wishes,

David
Back to top
Infralution



Joined: 28 Feb 2005
Posts: 5027

PostPosted: Wed Mar 08, 2006 5:04 am    Post subject: Reply with quote

Quote:
1. I want to display an “Application Unlocked! Thankyou for your purchase.” message box when a license key has been successfully entered, just prior to going into the main application. Where would I put this line of code.


Do this right after showing the LicenseInstallForm eg

Code:
' check if there is a valid license for the application
'
If sLicense Is Nothing Then
    ' if there is no valid license then display the standard license install form
    ' to allow the user to enter a license key
    '
    Dim licenseForm As New LicenseInstallForm
    sLicense = licenseForm.ShowDialog("MyApp", "www.mycompany.com", LICENSE_FILE)
    If not sLicense Is Nothing Then
        MessageBox.Show("Thank you for purchasing...")
    End If
End If


Quote:
2. I think I will definitely need to have the time limit (30 days) AND usage restrictions (say 60 program uses) implemented (which ever runs out first) as I do not want to rely solely on time limit, but need some guidance how to implement this.


Normally it would be better to allow 30 days OR 60 program uses. That way if someone installs your software uses it once but then comes back 2 months later to actually evaluate it they will still be able to. But its up to you of course.

To implement this you would do:

Code:
If (monitor.DaysInUse > 30 && monitor.UsageCount > 60) Or monitor.Invalid Then
     MessageBox.Show("Your evaluation has expired")
     Application.Exit()
Else
     MessageBox.Show(String.Format("You are on day {0} of your 30 day evaluation", monitor.DaysInUse))
End If


Quote:
3. I was thinking of having some of the program features/functionality disabled in the trial version. Then when a valid key has been entered the full functions become available. Is the usual way to do this to have two functions/procedures for the feature you want to disable. So, for the trial version, you run the first function, and then for a valid key only the second function is run from then on? If so what is the code (and where does it go) to do this?


How you do this really depends on the application. But typically you might just disable the menus for functions that you don't want to be available for the evaulation version. Note however that it is general practice to make everything available for the evaluation version so that customers know fully what they are buying beforehand.

Quote:
4. As far as nag screens go I would like these to popup every now and again but not sure about this, what would you recommend? I was thinking about maybe something when the application terminates as well as some popup every so often whilst the application is running. But I do not want to annoy the user so much that they do not wish to carry on using the program again!


A nag screen on start, another on exit and maybe one on occasional functions like printing would generally be sufficient. Anymore and you will probably annoy potential customers.

Quote:
5. In the future I will be issuing bug fix releases and upgrades. For bug fixes it will be fine to leave the license keys as they are I guess. But for upgrades I think it would be best to issue new ‘sets’ of license keys for each new major version released of a software application. What do you normally do for this Grant? Would it suffice to simply change the product password that is used for the new version only or is there a better way to do this?


You can just change the product password for a major version that you want customers to pay for. The disadvantage of this is that you may end up maintaining multiple versions. For example if you discover a bug in V1 but have released V2 and not all you V1 customers have upgraded then you will need to provide a fix for your V1 customer. A better solution may be to include the version in the product info. Then when you read the license key you can enable the V2 features only if the version in the product info is "2". That way you can maintain just one version of software that will support both your V1 and V2 customers.
_________________
Infralution Support
Back to top
View user's profile Send private message Visit poster's website
David
Guest





PostPosted: Wed Mar 08, 2006 10:31 am    Post subject: Reply with quote

Hi, Thanks for a quick response, there were some interesting comments. Just a couple of follow up questions though.

I have decidd to just implement the usage restriction (and not the time one). Is the code to do this just:

Code:

If (monitor.DaysInUse > 30 && monitor.UsageCount > 60) Or monitor.Invalid Then
     MessageBox.Show("Your evaluation has expired")
     Application.Exit()
End If


Where should this code go? Also, I would like to display the number of times the code has run and number of uses left (before expiration) to the user everytime the application is run. I am using the following code when the license install form is shown:

Code:

        ' check if there is a valid license for the application
        '
        If sLicense Is Nothing Then
            Dim myForm As New LicenseInstallForm
            sLicense = myForm.ShowDialog("MyApp", "www.mysite.com", LICENSE_FILE)
            If sLicense Is Nothing Then
                MessageBox.Show("Running in Evaluation Mode.", "Unlicensed Application", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1)
            ElseIf Not sLicense Is Nothing Then
                MessageBox.Show("Thank you for your purchase.", "Application Unlocked!", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
            End If
        End If


Could this usage information be placed in the section that the 'unlicensed application' message box is, if so, what would the code be?

Also I would like to be able to display a dialog box or form (that stays open for a few seconds then closes automatically) when the user exits the application but ONLY if the application is in trial mode (i.e. no license key has been entered). Again where would the code go (unload main form event?), and what would the code be.

Many thanks for your time.

Best wishes,

David
Back to top
Infralution



Joined: 28 Feb 2005
Posts: 5027

PostPosted: Thu Mar 09, 2006 8:16 am    Post subject: Reply with quote

Quote:
I have decidd to just implement the usage restriction (and not the time one). Is the code to do this just:


The code should be just:

Code:
If monitor.UsageCount > 60 Or monitor.Invalid Then
     MessageBox.Show("Your evaluation has expired")
     Application.Exit()
End If


Quote:
Where should this code go?


Have a look a the sample Licensed Application Project.

Quote:
Could this usage information be placed in the section that the 'unlicensed application' message box is, if so, what would the code be?


Just change the "Running in Evaluation Mode." message to include the number of uses left eg

Code:
Dim usesLeft as Integer = 60 - monitor.UsageCount
Dim msg as String = "Running in Evaluation Mode. Uses remaining: " + usesLeft.ToString()


Quote:
Also I would like to be able to display a dialog box or form (that stays open for a few seconds then closes automatically) when the user exits the application but ONLY if the application is in trial mode (i.e. no license key has been entered). Again where would the code go (unload main form event?), and what would the code be.


Probably use the Closed event for your main form.
_________________
Infralution Support
Back to top
View user's profile Send private message Visit poster's website
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