Alpha Software Mobile Development Tools:   Alpha Anywhere    |   Alpha TransForm subscribe to our YouTube Channel  Follow Us on LinkedIn  Follow Us on Twitter  Follow Us on Facebook

Announcement

Collapse

The Alpha Software Forum Participation Guidelines

The Alpha Software Forum is a free forum created for Alpha Software Developer Community to ask for help, exchange ideas, and share solutions. Alpha Software strives to create an environment where all members of the community can feel safe to participate. In order to ensure the Alpha Software Forum is a place where all feel welcome, forum participants are expected to behave as follows:
  • Be professional in your conduct
  • Be kind to others
  • Be constructive when giving feedback
  • Be open to new ideas and suggestions
  • Stay on topic


Be sure all comments and threads you post are respectful. Posts that contain any of the following content will be considered a violation of your agreement as a member of the Alpha Software Forum Community and will be moderated:
  • Spam.
  • Vulgar language.
  • Quotes from private conversations without permission, including pricing and other sales related discussions.
  • Personal attacks, insults, or subtle put-downs.
  • Harassment, bullying, threatening, mocking, shaming, or deriding anyone.
  • Sexist, racist, homophobic, transphobic, ableist, or otherwise discriminatory jokes and language.
  • Sexually explicit or violent material, links, or language.
  • Pirated, hacked, or copyright-infringing material.
  • Encouraging of others to engage in the above behaviors.


If a thread or post is found to contain any of the content outlined above, a moderator may choose to take one of the following actions:
  • Remove the Post or Thread - the content is removed from the forum.
  • Place the User in Moderation - all posts and new threads must be approved by a moderator before they are posted.
  • Temporarily Ban the User - user is banned from forum for a period of time.
  • Permanently Ban the User - user is permanently banned from the forum.


Moderators may also rename posts and threads if they are too generic or do not property reflect the content.

Moderators may move threads if they have been posted in the incorrect forum.

Threads/Posts questioning specific moderator decisions or actions (such as "why was a user banned?") are not allowed and will be removed.

The owners of Alpha Software Corporation (Forum Owner) reserve the right to remove, edit, move, or close any thread for any reason; or ban any forum member without notice, reason, or explanation.

Community members are encouraged to click the "Report Post" icon in the lower left of a given post if they feel the post is in violation of the rules. This will alert the Moderators to take a look.

Alpha Software Corporation may amend the guidelines from time to time and may also vary the procedures it sets out where appropriate in a particular case. Your agreement to comply with the guidelines will be deemed agreement to any changes to it.



Bonus TIPS for Successful Posting

Try a Search First
It is highly recommended that a Search be done on your topic before posting, as many questions have been answered in prior posts. As with any search engine, the shorter the search term, the more "hits" will be returned, but the more specific the search term is, the greater the relevance of those "hits". Searching for "table" might well return every message on the board while "tablesum" would greatly restrict the number of messages returned.

When you do post
First, make sure you are posting your question in the correct forum. For example, if you post an issue regarding Desktop applications on the Mobile & Browser Applications board , not only will your question not be seen by the appropriate audience, it may also be removed or relocated.

The more detail you provide about your problem or question, the more likely someone is to understand your request and be able to help. A sample database with a minimum of records (and its support files, zipped together) will make it much easier to diagnose issues with your application. Screen shots of error messages are especially helpful.

When explaining how to reproduce your problem, please be as detailed as possible. Describe every step, click-by-click and keypress-by-keypress. Otherwise when others try to duplicate your problem, they may do something slightly different and end up with different results.

A note about attachments
You may only attach one file to each message. Attachment file size is limited to 2MB. If you need to include several files, you may do so by zipping them into a single archive.

If you forgot to attach your files to your post, please do NOT create a new thread. Instead, reply to your original message and attach the file there.

When attaching screen shots, it is best to attach an image file (.BMP, .JPG, .GIF, .PNG, etc.) or a zip file of several images, as opposed to a Word document containing the screen shots. Because Word documents are prone to viruses, many message board users will not open your Word file, therefore limiting their ability to help you.

Similarly, if you are uploading a zipped archive, you should simply create a .ZIP file and not a self-extracting .EXE as many users will not run your EXE file.
See more
See less

Copy Protect an installation program

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Copy Protect an installation program

    I am not sure how to ask this so I will just describe my challenge. I have a button on my website that allows the user to link to a download. This download is an installation file for an application that I only want to run one time per purchase. The challenge comes from the fact that the user can run the installation executable any number of times they want without purchasing more than once just by copying the original installation program and running the copy. What I need, I think, is to be able to prevent the user from making copies. I can remove the files when the application is finished running using xbasic and prevent a re-run of the application. That's fine. What I can not figure out is how to prevent the user from running the installation file more than once.

    Any ideas?

    Thanks.

    #2
    Re: Copy Protect an installation program

    If deleted, they can't run again?
    Possibly with the right installer, it may be possible by way of a batch file?
    If they download and make copies of the app and then distribute before an instll, I do not think you can block moreinstalls. You can put a counter file in a folder on your host account that you can download or read on first start and then use the info to stop the app from running again from the same ip or other.
    Dave Mason
    [email protected]
    Skype is dave.mason46

    Comment


      #3
      Re: Copy Protect an installation program

      You need a licensing mechanism.

      Look at http://www.aimsdc.net/Tips_Funcs/aims_reg.htm
      Al Buchholz
      Bookwood Systems, LTD
      Weekly QReportBuilder Webinars Thursday 1 pm CST

      Occam's Razor - KISS
      Normalize till it hurts - De-normalize till it works.
      Advice offered and questions asked in the spirit of learning how to fish is better than someone giving you a fish.
      When we triage a problem it is much easier to read sample systems than to read a mind.
      "Make it as simple as possible, but not simpler."
      Albert Einstein

      http://www.iadn.com/images/media/iadn_member.png

      Comment


        #4
        Re: Copy Protect an installation program

        Thanks Dave. The issue with your suggestion in my case has to do with the fact that they need to be able to run the install ONLY ONCE per purchase.

        Al, I think you are correct. That is the way I have been leaning but wanted to automate it in case, positive thinking, I end up with more sales than I have time to manually license within a reasonable time frame. I still need to ensure that it is only run once per download in any event. Thinking out loud what I envision is a file on their system that I write to with a copy of the "used" license that I look for to trap repeat use attempts. I also see the need to generate a license with each purchase which is passed on to the users email. I do not yet understand the yellow brick road regarding the purchase and sale aspects at this point. Selling the app. via my site is easy. It's what happens after that I am not yet familiar with.

        Thanks to you both.

        Gene

        Comment


          #5
          Re: Copy Protect an installation program

          I still need to ensure that it is only run once per download in any event. Thinking out loud what I envision is a file on their system that I write to with a copy of the "used" license that I look for to trap repeat use attempts
          making commercial use products is not my forte, but thinking out loud, you should allow them to install at least one desktop and one laptop, just as alpha does. instead of keeping track in their computer why not have a database in your computer and each product will have 16 digits or so license number and when they buy they should activate the license by connecting to your computer where you keep track of how many times it is activated and if it exceeds two then the product cannot be activated and in the product itself if not activated it dies after certain number of days.
          is this doable?

          edit:
          in addition to excellent suggestion from al, if you google licensing scheme for software there are number of hits with machine lock or usb stick lock ( my liquorPOS i use, uses usb lock) . take a look.
          thanks for reading

          gandhi

          version 11 3381 - 4096
          mysql backend
          http://www.alphawebprogramming.blogspot.com
          [email protected]
          Skype:[email protected]
          1 914 924 5171

          Comment


            #6
            Re: Copy Protect an installation program

            Building on gandhi's idea, when the app starts up (or whatever) checks for the user's machine name. If it exists, close A5, if not, register the name on your site. If there is no internet connection, shutdown A5. But you would still need a unique key in the app to prevent the user from running it on multiple machines.
            Peter
            AlphaBase Solutions, LLC

            [email protected]
            https://www.alphabasesolutions.com


            Comment


              #7
              Re: Copy Protect an installation program

              But you would still need a unique key in the app to prevent the user from running it on multiple machines.
              here is one idea!
              combine machine name and the license number and encrypt it using uuid that you generate and store that in appdata/roaming/your-application_name
              whenever the application starts the autoexec checks to see that data and if good then it is set to go ( application is in the right machine and with proper license number) this is probably independent of internet connection.
              thanks for reading

              gandhi

              version 11 3381 - 4096
              mysql backend
              http://www.alphawebprogramming.blogspot.com
              [email protected]
              Skype:[email protected]
              1 914 924 5171

              Comment


                #8
                Re: Copy Protect an installation program

                OK here goes....
                Having done this, I can just say that there is not a simple solution for this. This a quite a complicated task. It is a licensing processes. When a purchase is made. the user "owns" a license to that application. The license gives privilege to load that application on one machine, or has been suggested two. This engenders that the license is attached to a machine when installed. This requires a petition from the machine requesting a license, from the machine that the application has been install, that contains machine specific information, for the "licensing system" to generate a machine specific license. Suggested for machine specific information is machine name, but I use hard drive serial number. The "licensing system" on the vendors side (you) generates a license key with machine specific and licensing parameters encoded in the key. This key is delivered back to the user. The user then uses that key to initiate the registration. The distributed application must have as part of the coding for completing the registration deciphering the key and matching the machine information in the key and comparing it with the machine attempted to be licensed to achieve a valid and successful registration.

                The licensing system that Al referenced in Post #3 has those features. I have used that system, which is thorough but more robust than I have needed because it encompasses networked systems, seat counts and other robust aspects that I have not needed. So I have written my own system. But having an "automatic" licensing generating system is beyond my expertise, so I receive the petition via email which is in a specific standard format, copied that to clipboard, push a button on my side having the licensing generating coding, and have my licensing system generate a license and emailed back to the petitioner. On the users side, they receive that license in the email that they copy to clipboard and in the their application press the "Register License" button that complete the registration. Again, the distributed app must have in the "registration" code taking the license key, deciphering the key to obtain the machine specific data in the delivered key and comparing it against the machine attempting to be licensed to assure single-machine-single-license conditions.

                This done with an automated system, which Alpha has, is well beyond my talents, so I do this more manually, but I don't see that a method other than this type of licensing system if you are wanting a robust and secure method to have one license per machine restriction to you purchased software.
                Last edited by Mike Wilson; 07-11-2017, 10:51 PM.
                Mike W
                __________________________
                "I rebel in at least small things to express to the world that I have not completely surrendered"

                Comment


                  #9
                  Re: Copy Protect an installation program

                  I have built a process which links the application to a specific machine to prevent lift and shift
                  In simple terms, once downloaded, the user logs in.
                  They request a key for the application.
                  The key is made up of details about their computer plus your encryption key.
                  This is scrambled and mailed to you.
                  At your end, the email is received and then token sent back to the user.
                  They then enter it and the startup form - like the menu - you have selected will run.
                  The application cannot be run on a different machine unless the credentials are exactly the same.

                  It comes in 2 parts, the process which is embeded in your app, and the process on your licensing server - your PC for example.

                  Edit.
                  I am working on user verification and application tokenising of a different web application. It would be unwise to enforce the need for an internet connection in order for a DT application to run, so if it's local - or Intranet based - use Aims, or grow your own.
                  The way I've done it does not require any I/net connectivity after the creation of the Token.
                  Last edited by Ted Giles; 07-12-2017, 01:10 PM.
                  See our Hybrid Option here;
                  https://hybridapps.example-software.com/


                  Apologies to anyone I haven't managed to upset yet.
                  You are held in a queue and I will get to you soon.

                  Comment


                    #10
                    Re: Copy Protect an installation program

                    Ted,
                    I love your enthusiasm Yet my statement that this is not a simple venture holds true regardless of the solution each of us might have achieved independently.
                    Mike W
                    __________________________
                    "I rebel in at least small things to express to the world that I have not completely surrendered"

                    Comment


                      #11
                      Re: Copy Protect an installation program

                      Agreed it's not super simple Mike, but nor is it rocket science.
                      When I started developing the process about 10 years ago, I took advice from the great and the good on this Forum. One quite senior contributor told me he had tried running his own registration server, and given up.
                      So I listened, and made the process email based.
                      It works and is easily configured - both ends - client and yours.
                      If you want a chuckle at my poor, but working attempts. PM me with somewhere you would like the two components sent. Your call.
                      Unless the product costs a lot to develop and can make the user a lot if cash, it's probably not worth locking stuff down just for the sake of it.
                      See our Hybrid Option here;
                      https://hybridapps.example-software.com/


                      Apologies to anyone I haven't managed to upset yet.
                      You are held in a queue and I will get to you soon.

                      Comment


                        #12
                        Re: Copy Protect an installation program

                        Astrum installer has the ability to limit installs on the same computer. You can also write executable code and initialize it as needed.
                        Dave Mason
                        [email protected]
                        Skype is dave.mason46

                        Comment


                          #13
                          Re: Copy Protect an installation program

                          If it was possible to change a parameter in the install package, say when run once the install package was made corrupt after a successful installation, that would stop re- installation elsewhere wouldn't it?
                          See our Hybrid Option here;
                          https://hybridapps.example-software.com/


                          Apologies to anyone I haven't managed to upset yet.
                          You are held in a queue and I will get to you soon.

                          Comment


                            #14
                            Re: Copy Protect an installation program

                            I did a registration process a few years back.
                            steps as I remember them:
                            used an ecommerce/store for download limited to once.
                            on run of the app first time, a file was ftp'd to a website of mine.
                            file was programatically checked on any subsequent install and if found, the install was not able to be run.
                            I don't remember all of the details now, but hopefully gives you some ideas.
                            The first install can send the file or abort the install if no internet is present. install has machine info in it for checking as needed. like HD serial, or machine name, or other.
                            It was simple, but effective.
                            Dave Mason
                            [email protected]
                            Skype is dave.mason46

                            Comment


                              #15
                              Re: Copy Protect an installation program

                              That's a good option Dave.
                              See our Hybrid Option here;
                              https://hybridapps.example-software.com/


                              Apologies to anyone I haven't managed to upset yet.
                              You are held in a queue and I will get to you soon.

                              Comment

                              Working...
                              X