9 Replies Latest reply on Feb 5, 2014 4:43 PM by Malcolm

    Prevent re-installation of solution

    hjvanes

      Dear Filemaker PPL,

       

       

      Just wondering if there is a way to prevent re-installation of a filemaker solution on same computer.

       

      Facts:

      1. The solution is not a runtime solution. I know that runtimes can be protected through re-stallation prevention mechanisms via 3rd party software. But my solution cannot be a runtime and need to prevent re-installation in some way or another when trial period has expired.

      2. Solution has a trial period of 30 days.....preventing re-installation will stop a user from using the solution again and again every 30 days

      3. The Solution has import of data disabled for trial period versions

      4.

       

      On these facts I am just wondering if there is a way to prevent the end user from downloading a demo trial again and reusing for another 30 days on same computer?

       

      Any feedback be it positive or negative is greatly appreciated. Thank you in advance.

       

      regards,

      HJ

        • 1. Re: Prevent re-installation of solution
          mikebeargie

          You have to roll-your-own key/validation, but basically you can do this by running a check against a remote server based on something like Get(SystemNICAddress), Get(PersistentID) or a combination of identifiers. Alternatively, you could create some sort of Insert From URL validation.

           

          Basically, a remote server stores data about the first time a user logs in with a "trial" version and assigns them a UUID key to join that user to the remote server. You can then use that UUID to further validate that user on additional open attempts. You can also "upgrade" that user based on their key to have a full version, or auto-lock the user out (close application) if it's past 30 days from their original install.

           

          If they try to re-download the file, you can use the system identifiers to identify the attempt and lock them out in your initial configuration script.

          • 2. Re: Prevent re-installation of solution
            hjvanes

            Hi Mike,

             

             

             

            Thank you for your response which I have included below. I was a little confused when you made comment regards a remote server.  My situation is slighly different if you mean making use of filemaker server.

             

            My solution is specifically targeted to be used by barristers here in Australia.....the closest equivalent in the US being a Laywer acting as a sole practitioner before the courts.

             

            On that footing the solution I currently have set up which I believe need amendments regard demo version and full version still needs thinking and hence my question which you have helped answer.  Currently, I have setup the ability to have it execute as a demo version for 30 days afterwhich that particular copy becomes disfunctional unless a valid registration key is entered.  I do have the ability that updates are checked via the solution connected to my website and matching of version numbers.

             

            But that's why my question as well.  All they would need to do is download a new demo version and the demo version period commences afresh which is what I do not want.

             

            Now my solution will be sold as both runtime (standard version) and as just the database(using FM Pro)- professional version.  My question would not pose an issue for the runtime as you could get a third party software such as exeshield and provide the ability to restrict reinstallation.  The professional version of my solution could not do that.

             

            On that note, I was looking to set something up that can be used for both a runtime as well as database (with FM Pro) solution.  If you were refering to the remote server as being the FM server, then I do not think this can work with runtime solutions given the ODBC requirement.  Although I would be able to do a URL check, this could work only if there is one user ever using my solution given security reasons, that a html can be found and not the best place to store info regards registration.

             

            Having written so much.......am I off track and is there an way that I am just not seeing.  I may not be an experienced/expert FM developer but I do appreciate any feedback from you or other.  Many thanks and appreciation in advance.

             

            regards,

             

            HJ

            • 3. Re: Prevent re-installation of solution
              jimfeuerstein

              HJ,

               

              Could you redefine your registration code to include an end date?

               

              Of course, you'd want to encrypt the date so that it was meaningful only to your application, but each registration code could then include a component that your application would see as either (1) an end date for the trial or (2) a 'full license' flag.

               

              - Jim

              • 4. Re: Prevent re-installation of solution
                mardikennedy

                Hi HJ,

                 

                There seems to be an embedded assumption here that there's no valuable data entry going on...  If data entry is occuring, then I'm guessing that if a user downloaded a fresh demo, they would not be able to access any data within the previous demo copy.  Is that the case?  Assuming that the database functionality includes data entry, then 'loss' of one's data should be a helpful deterrent for doing monthly downloads of a demo.  Are your users going to need ongoing access to personally generated data?  Or does the database interrogate only external sources?

                 

                All the best,

                Mardi

                • 5. Re: Prevent re-installation of solution
                  hjvanes

                  Hi MArdi and thank you for your response.  My solution does prevent imports in demo version.  The data they can enter could be valuable to them or not.  Currently I have put a watermark on the print out layout as "Sample Copy".  But I question whether this will deter the client into purchasing the copy as the customer may want to get a good look at the print outs without the large watermark all over the prinout.

                   

                  I put this option in place because if this was not there, then they could generated prinouts again and again in a demo version and reinstall after expire a new demo only to continue put in the data and perform printouts.  Surely soem would not want to go through this process time and again and others may.  Hence the watermark feature is a painful point for me.

                   

                  The database will not interrogate external sources and access will be only to personally generated data...the data be privilleged and confidential. 

                   

                  For this reason, if I could get rid of the watermark issue, have a solution where a demo could not be resinstaleld on the same PC/mac twice that would be great.

                   

                  I did think about offering a trial license key based on a persistent id, a name, a hostname combination which could be sent via email and me reply with a temporary license key.  This could work without a doubt if the computer is connected to an internet.  Because if trial period expires, I would have the license key registered on a html site which any demo would look up for values.  If the license key entered is entered and matches of against the stored html value, then it will present itself with an invalid unuable key.  Like I said, this would work without a doubt in any version being runtime or full version.

                   

                  But the negative side to this, is that the user would after downloading a demo need to send these details via email generated from the solution sendmail and then when I receive it ..s.end back a trial license key.  I do not believe many customers even for a demo version would be that pelase in the trouble to look at a demo version.

                   

                  There must be another way to prevent re-installation.

                   

                  Any other ideas I would greatly appreciate.

                   

                  regards,

                  HJ

                  • 6. Re: Prevent re-installation of solution
                    Malcolm

                    I did think about offering a trial license key based on a persistent id, a name, a hostname combination which could be sent via email and me reply with a temporary license key.  This could work without a doubt if the computer is connected to an internet.

                     

                    They downloaded your solution - let’s assume they are still connected to the internet

                     

                    But the negative side to this, is that the user would after downloading a demo need to send these details via email generated from the solution sendmail and then when I receive it ..s.end back a trial license key.  I do not believe many customers even for a demo version would be that pelase in the trouble to look at a demo version.

                     

                    Use a web viewer which points to a form on your website.

                    Step 1. Collect their details, use CWP to push these details into a database that collects the data and generates a key.

                    Step 2. The user is instructed to enter the key.

                     

                    Malcolm

                    • 7. Re: Prevent re-installation of solution
                      mardikennedy

                      Hi HJ,

                       

                      I've taken a slightly different approach for demo files.  They're not time limited etc but they are session dependent.  The user can do pretty much anything they want (excepting exports) but they are warned whenever booting up the demo file, that any new records in various tables will be deleted (randomly) upon Quitting.  If someone values their time, they're not going to want to fritz around with re-entry, finding the differences etc so that will discourage them from undesirable behaviours.

                       

                      If their copy of the demo file becomes very tatty (eg most of the demo records deleted as well), it's time for a fresh demo file, until they're ready to plunge in with a payment.

                       

                      Also, because I'm not dealing in a high volume, impersonalised environment, it's easy for me to slightly customise every copy that 'goes out the door', rather than relying on an intricate technological heirarchy of security measures.

                       

                      In your case, the actual data security of their personal files will be the most critical consideration for your clients (I'm guessing).

                       

                      All the best,

                      Mardi

                      • 8. Re: Prevent re-installation of solution
                        hjvanes

                        Malcom,

                         

                        Love to have been able to use CWP but unfortunately with runtimes and no server that will not be possible.  Thank you for your reply though.

                         

                         

                        Mardi,

                         

                        Great idea and had not thought about that.  I'd like to take this idea offline with you if I may and send you a PM to ask a question or two if you do not mind.

                         

                        regards,

                        HJ

                        • 9. Re: Prevent re-installation of solution
                          Malcolm

                          Love to have been able to use CWP but unfortunately with runtimes and no server that will not be possible. 

                           

                          Then don’t use CWP. The basis of the system is that you run a web site which can test the user details and spit out a key. A little bit of PHP/SQL will do that.

                           

                          Malcolm