Creating A Demo Version in C#
-
I am writing an application that I want to give to customers. What is the best solution to create a trail period of 1 month.My preferred method is to disable parts of the application that are critical to normal use of the program but aren't critical to its evaluation (like the ability to save your work, for example).and then send them an unlocking code unique to their computer when they register the full program. I was thinking that if they are interested in purchasing the software I will give them a license key or something, to unlock the application. After all I don't want a "Sorry, this program has expired" message to the user.It should disable some application controls after the period and enable when they register.Please help me someone...Many thanks for any advice
-
I am writing an application that I want to give to customers. What is the best solution to create a trail period of 1 month.My preferred method is to disable parts of the application that are critical to normal use of the program but aren't critical to its evaluation (like the ability to save your work, for example).and then send them an unlocking code unique to their computer when they register the full program. I was thinking that if they are interested in purchasing the software I will give them a license key or something, to unlock the application. After all I don't want a "Sorry, this program has expired" message to the user.It should disable some application controls after the period and enable when they register.Please help me someone...Many thanks for any advice
You could set a key in the registry containing date and time of first use, but this is not very secure. A more secure method would be to use multiple (encrypted) keys and an encrypted file with the same data. Activation should be done based on a client-server system, this system should check wether the company+key combination is valid. After making sure it is valid, the key should be encrypted and stored in the register. Checking for double activations (multiple pcs/companies/illegal use) is a difficult task, unfortunately I have no experience with this.
-
I am writing an application that I want to give to customers. What is the best solution to create a trail period of 1 month.My preferred method is to disable parts of the application that are critical to normal use of the program but aren't critical to its evaluation (like the ability to save your work, for example).and then send them an unlocking code unique to their computer when they register the full program. I was thinking that if they are interested in purchasing the software I will give them a license key or something, to unlock the application. After all I don't want a "Sorry, this program has expired" message to the user.It should disable some application controls after the period and enable when they register.Please help me someone...Many thanks for any advice
May be this may help you http://www.drdobbs.com/184416695;jsessionid=X4XFC1QY3ZIJNQE1GHRSKH4ATMY32JVN[^] All the best.
-
I am writing an application that I want to give to customers. What is the best solution to create a trail period of 1 month.My preferred method is to disable parts of the application that are critical to normal use of the program but aren't critical to its evaluation (like the ability to save your work, for example).and then send them an unlocking code unique to their computer when they register the full program. I was thinking that if they are interested in purchasing the software I will give them a license key or something, to unlock the application. After all I don't want a "Sorry, this program has expired" message to the user.It should disable some application controls after the period and enable when they register.Please help me someone...Many thanks for any advice
Create two versions of your program using conditional compilation - you can use #if PAIDVERSION ... #endif to keep the features you want people to pay for to yourself and your paying customers. Anything else can be broken, usually quite easily - but if the features aren't there at all, then it obviously can't be "cracked". Well - it's just a thought ... Regards Espen Harlinn
-
Create two versions of your program using conditional compilation - you can use #if PAIDVERSION ... #endif to keep the features you want people to pay for to yourself and your paying customers. Anything else can be broken, usually quite easily - but if the features aren't there at all, then it obviously can't be "cracked". Well - it's just a thought ... Regards Espen Harlinn
This is the approach I would use. I'm typically writing custom software for individual clients so this doesn't really apply to my work, but is definitely the approach I would use for a commercial product.
I wasn't, now I am, then I won't be anymore.
-
This is the approach I would use. I'm typically writing custom software for individual clients so this doesn't really apply to my work, but is definitely the approach I would use for a commercial product.
I wasn't, now I am, then I won't be anymore.
Thanks Marcus!
-
Create two versions of your program using conditional compilation - you can use #if PAIDVERSION ... #endif to keep the features you want people to pay for to yourself and your paying customers. Anything else can be broken, usually quite easily - but if the features aren't there at all, then it obviously can't be "cracked". Well - it's just a thought ... Regards Espen Harlinn
Really thanks for the support everyone.Making two types of apps inside one msi(exe),Is that so professional? Well,doesn't matter.Still i have a doubt.I thought of storing two ,three variables inside the app by making the settings strings in application properties in Visual Studio. In VB ,you can simply write 'If(My.Settings == "0") But how to do that in C#.There is now "my" in there...
-
Really thanks for the support everyone.Making two types of apps inside one msi(exe),Is that so professional? Well,doesn't matter.Still i have a doubt.I thought of storing two ,three variables inside the app by making the settings strings in application properties in Visual Studio. In VB ,you can simply write 'If(My.Settings == "0") But how to do that in C#.There is now "my" in there...
>> Is that so professional? No - create two different setup projects too, one for the demo, and one for the paying customers >> 'If(My.Settings == "0") Oh my, that's not what I proposed. The VB syntax would be #If PAIDVERSION Then stuff only available to paying customers #End If If you use something like If(My.Settings == "0") everything gets compiled into the executable. The idea was to totally remove those features from the demo version - that way nobody can "crack" your licensing scheme. >> But how to do that in C#.There is now "my" in there... in C# you have "this" - a reference to the instance of the current object - and it's also used for .Net extension methods
-
>> Is that so professional? No - create two different setup projects too, one for the demo, and one for the paying customers >> 'If(My.Settings == "0") Oh my, that's not what I proposed. The VB syntax would be #If PAIDVERSION Then stuff only available to paying customers #End If If you use something like If(My.Settings == "0") everything gets compiled into the executable. The idea was to totally remove those features from the demo version - that way nobody can "crack" your licensing scheme. >> But how to do that in C#.There is now "my" in there... in C# you have "this" - a reference to the instance of the current object - and it's also used for .Net extension methods
I am pretty much happy about the way you helped me. using the keyword 'this' as in if(this.setting == 0) { app.run(TRIAL) } Is not at all working.I don't prefer buying an app.but its not so personal.we need to use it as they want it be.One person in Code Project (Hameed Ji) made an application like this.it was pretty helpful and easy to understand.but still its disabling the whole application that needs to be registered. >> a reference to the instance of the current object - and it's also used for .Net extension methods. :omg: If you can please give a any example over CP or any where else.