Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. General Programming
  3. C#
  4. Creating A Demo Version in C#

Creating A Demo Version in C#

Scheduled Pinned Locked Moved C#
csharphelptutorialquestionannouncement
9 Posts 5 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • V Offline
    V Offline
    varun g
    wrote on last edited by
    #1

    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

    G P E 3 Replies Last reply
    0
    • V varun g

      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

      G Offline
      G Offline
      Groulien
      wrote on last edited by
      #2

      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.

      1 Reply Last reply
      0
      • V varun g

        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

        P Offline
        P Offline
        Pravin Patil Mumbai
        wrote on last edited by
        #3

        May be this may help you http://www.drdobbs.com/184416695;jsessionid=X4XFC1QY3ZIJNQE1GHRSKH4ATMY32JVN[^] All the best.

        1 Reply Last reply
        0
        • V varun g

          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

          E Offline
          E Offline
          Espen Harlinn
          wrote on last edited by
          #4

          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

          F V 2 Replies Last reply
          0
          • E 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

            F Offline
            F Offline
            fjdiewornncalwe
            wrote on last edited by
            #5

            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.

            E 1 Reply Last reply
            0
            • F fjdiewornncalwe

              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.

              E Offline
              E Offline
              Espen Harlinn
              wrote on last edited by
              #6

              Thanks Marcus!

              1 Reply Last reply
              0
              • E 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

                V Offline
                V Offline
                varun g
                wrote on last edited by
                #7

                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...

                E 1 Reply Last reply
                0
                • V varun g

                  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...

                  E Offline
                  E Offline
                  Espen Harlinn
                  wrote on last edited by
                  #8

                  >> 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

                  V 1 Reply Last reply
                  0
                  • E Espen Harlinn

                    >> 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

                    V Offline
                    V Offline
                    varun g
                    wrote on last edited by
                    #9

                    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.

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • World
                    • Users
                    • Groups