How to Create Demo Version

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Hiren Joshi
    New Member
    • Feb 2008
    • 30

    How to Create Demo Version

    Hello All,

    Can Anyone please tell me, in VB 6.0 with MS Access Database

    1) Is it possible to create Perfect Demo Version of the Software which should stop working after specified days lets say 14 Days of the Installation Date.

    Also after Expiry of Demo Period, it should give option to enter serial no. / Licence Key to carry on.

    So once user enters Serial No. or Licence Key, It should work as a full version.

    Is this Possible? if it is, can anyone suggest me with sample similiar project like this or sample code for this kind of Project?

    Regards,

    Hiren (Nairobi - Kenya)
  • debasisdas
    Recognized Expert Expert
    • Dec 2006
    • 8119

    #2
    Yes that is possible.

    You can write the installation date in the system registry at the time of installation and check the same on load of the application.

    Comment

    • Hiren Joshi
      New Member
      • Feb 2008
      • 30

      #3
      Hi Debasis,

      Really Speaking I dont know how to write in the system registry from VB 6.0 and access data from Registry while loading the application.

      Can you please let me know in Details for the same? How it is possible? I would Really Appreciate your help if you can guide me on this application.

      Thank You,

      Hiren

      Comment

      • debasisdas
        Recognized Expert Expert
        • Dec 2006
        • 8119

        #4
        Try to use

        SaveSetting()
        GetSetting()


        for the purpose.

        Comment

        • jamesd0142
          Contributor
          • Sep 2007
          • 471

          #5
          1. Get the system date + 14 days store in string(strvalue )
          2. use set as advised above [SaveSetting("te st", "test", "test", strvalue)]

          then on form load
          1. get dystem date - strval3
          2. get value from registry [strval2 = GetSetting("tes t", "test", "test", "empty")]
          3.if strval2 <> "empty" check strval2 is > than strvalue3. [using datdiff()]

          im sure that would work.

          cheers debasisdas i was also unaware these functions existed!

          Thanks James

          Comment

          • Killer42
            Recognized Expert Expert
            • Oct 2006
            • 8429

            #6
            I'd like to make a suggestion.

            Rather than ceasing to work after the set period, why not just introduce a delay at startup (what we used to call a "shareware delay")? The delay should get longer each day, so that it becomes more and more annoying. That way, you encourage people to buy the software, without being quite so intrusive.

            Comment

            • 9815402440
              New Member
              • Oct 2007
              • 180

              #7
              hi
              another way is counter. initialize the counter to suppose 30. decrease the counter each time your software is started. and display the number of tials remaining.

              demo version should depend upon the type of software. if your software is handling data where date is an important field. then you can think about using date as demo criteria. criteria should not check system date. it should check the date used by the user in the software itself. e.g. while printing invoice user need to invoice date each day. your program should check invoice date.

              if date is not primary factor then think about using counters.

              regards
              manpreet singh dhillon hoshiarpur

              Comment

              • debasisdas
                Recognized Expert Expert
                • Dec 2006
                • 8119

                #8
                Originally posted by Killer42
                I'd like to make a suggestion.

                Rather than ceasing to work after the set period, why not just introduce a delay at startup (what we used to call a "shareware delay")? The delay should get longer each day, so that it becomes more and more annoying. That way, you encourage people to buy the software, without being quite so intrusive.
                Yes that is a better option.

                If you are creating something like a reporting tool and you want to give a demo version can play with recordset a bit .

                Comment

                • jamesd0142
                  Contributor
                  • Sep 2007
                  • 471

                  #9
                  Hi,

                  I created this to go on form load event...
                  [code=vbnet]
                  Dim get1 As String
                  Dim trial As String
                  trial = GetSetting("del ay", "delay", "delay", "empty")
                  If trial = "empty" Then
                  SaveSetting("de lay", "delay", "delay", "10")
                  Else
                  get1 = GetSetting("del ay", "delay", "delay", "empty")
                  Dim resave As String = CInt(get1) + 10
                  DeleteSetting(" delay", "delay", "delay")
                  SaveSetting("de lay", "delay", "delay", resave)

                  'create delay (get1)
                  Dim get2 As Integer = CInt(get1) * 1000
                  Sleep(get2)
                  End If
                  [/code]

                  It stores a value in the registry (savesetting() thats what is does right?) and loads it every time the form loads, then delays the load by x amount of seconds. and rewrites a new value to the location, to increase the time taken to load next time.

                  Would it be a good idea to use this or are there possible problems i have not noticed?

                  Note: imports "system.threadi ng.thread"
                  James

                  Comment

                  • Ali Rizwan
                    Banned
                    Contributor
                    • Aug 2007
                    • 931

                    #10
                    I want to suggest that not only set a period but after every time show a display for asking a serial.

                    And also lock some features till it is not purchased.

                    And at last i thank to this post which solves my problem also.


                    Thanx
                    >> ALI <<

                    Comment

                    • Killer42
                      Recognized Expert Expert
                      • Oct 2006
                      • 8429

                      #11
                      Originally posted by Ali Rizwan
                      I want to suggest that not only set a period but after every time show a display for asking a serial.
                      Ah, the old "nag screen". Haven't we all hated those... :)

                      Comment

                      • bany
                        New Member
                        • Jan 2008
                        • 4

                        #12
                        Hi Man!
                        It is very easy to do it.
                        1-In the first form opening create a text box name it [Date]
                        In the control source put =date()
                        2-place this code on open(procedure)

                        If (Eval("[Forms]![tables]![Date] Between #Feb/21/2009# And #1/1/3000#")) Then
                        Beep
                        MsgBox "This Is A Demo For 7 Days ,Your System Will Be Down At 28-Feb-08.", vbOKOnly, "Attention! "
                        End If
                        If (Eval("[Forms]![tables]![Date] Between #Feb/28/2009# And #1/1/3000#")) Then
                        DoCmd.Quit acSave
                        End If

                        Comment

                        Working...