|
Infralution Support Support groups for Infralution products
|
View previous topic :: View next topic |
Author |
Message |
David Guest
|
Posted: Tue Mar 07, 2006 10:27 pm Post subject: Some noobie questions... |
|
|
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
|
Posted: Wed Mar 08, 2006 5:04 am Post subject: |
|
|
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 |
|
|
David Guest
|
Posted: Wed Mar 08, 2006 10:31 am Post subject: |
|
|
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
|
Posted: Thu Mar 09, 2006 8:16 am Post subject: |
|
|
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 |
|
|
|
|
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
|