I`ve built a simple but yet effective delphi-7 application that solves sudoku puzzles, and a keygen that produces a unique serial key for each PC. My purpose is not to make money, I want to understand the methods of commercial uses of an application at its simplest form.

I have zero knowledge and experience about licensing. I googled internet for methods of "pay 1$ and receive the serial key by email", however there is no clear information about this, sometimes they explain what kind of licenses there are (GNU etc.), but I do not know how to use them. I need simple instructions, explanations or methods.

When user presses the menu "Register" on the solver, the second form is created, and the user sees the product ID of the application and a windows where purchased serial key should be entered.


  1. I`m going to set the price for a key as 1$ in this experiment, therefore it is assumed that I will not make enough profit (if any), therefore costly external services are not my case. (Nevertheless, any information is welcomed)
  2. The Product ID of the app is produced using CPU_ID of the clients machine. Therefore, user must be warned that the purchased key will not work if CPU of the PC is replaced. (Warning can be placed as a check near the register button)

My questions:

  1. Do I have to produce individual terms of agreement for this program?
  2. Do I have to submit my .exe file for approval in somewhere in order to be able to sell it?
  3. What is the least costly method to distribute keys to clients?
  4. Is there something I dont understand or do wrong?
  5. Is there a way to automate billing and key distribution?
  • What platform/operating system are you targeting? Does it have an App Store you can use? Or does your e-commerce software on your website have a key-delivery feature? Are you even using e-commercd software?
    – Kent A.
    Commented Sep 26, 2015 at 12:12
  • Hi Kent, I have no idea about these things, just want to learn. I have only the *.exe and nothing more. OS is windows Commented Sep 26, 2015 at 12:14
  • Thank you Kent, I will explore Windows10 app store tonight. Commented Sep 26, 2015 at 12:38
  • I would def recommend signing up to the windows store, just as an exercise in learning. However I think the 'downside' to these stores is they force you to do things properly. ie pay taxes. which can be fairly complicated if you are very small scale
    – Ewan
    Commented Sep 26, 2015 at 12:52
  • 1
    @Ewan Even if OP decides to process payments himself, having a merchant account for credit card processing will cause him to do things properly and pay taxes as well. There just isn't a safe way to do business online without someone knowing what transactions you're handling, and having a legal requirement to report it to a taxation authority.
    – Kent A.
    Commented Sep 26, 2015 at 12:55

4 Answers 4


It has probably never been easier to sell this kind of software, due to the emergence of online app stores for Mobile phones and now Windows.

If you compile your app as a windows store app, sign up for a windows store account, fill in various tax forms, get a PEGI certificate and set up a bank account for them to pay money into. You can upload your app to the store and they will sell it to millions of consumers for a ~30 cut, deal with the Sales tax etc and pay money direct to your bank account.

It's not trivial, but only a couple of days effort and you'll need to setup a company etc anyway for tax purposes.

Another option would be to make you app into a web page and add a signup procedure which includes a payment before the user can access the solver page. You could take the payment via paypal. obvs you have to sign up for a paypal account and then monitor payments and activate peoples accounts.

Again Paypal will take a cut and you will have to do your taxes etc

If you want to keep the app as a binary download, you could use the same site but offer a download link instead.

You also touch on the problem of piracy. This is kind of separate from how you sell you app. In fact you want to sell a licence to use your app and add a technological restriction on the user which enforces the terms of the licence.

Having a serial key that users have to buy and enter is a common solution. Or you could force them to login when they launch the app.

  • Alexnder, Kent, Ewan , Thanks all, I received answers to my questions. All receive +1 after I will have a right to vote up. Cheers. Commented Sep 26, 2015 at 12:53
  • windows store app is no option with Delphi 7. It's very very old and can only compile 32 bit and 16 bit Windows applications for Windows 98 and 2000 as the highest platforms (maybe Windows ME as well). It's simply that old...
    – jwenting
    Commented Sep 26, 2015 at 13:14
  • Microsoft and other app store operators can only help you with sales tax (and there appear to be additional wrinkles depending on where you live/are incorporated). This is distinct from income tax, which you may also owe, and they can't help you with. Commented Sep 27, 2015 at 7:50

TL;DR Use an app store. They do all the hard stuff for you. All you'll need is a simple website to point to your app in the store.

You have many questions here, and may issues to resolve...

Do I have to produce individual terms of agreement for this program?

You don't have to do anything. To be honest, a $1 sudoku solver will not make much of splash in the app pond, so a license probably won't make or break you. But if you want to have a license so you can decide to go after someone who violates it, you can find one in another app, or search online for samples, and copy it. Read it thoroughly to make sure you understand it, or pay a lawyer to help you understand it, before you adopt it.

Do I have to submit my .exe file for approval in somewhere in order to be able to sell it?

No. But be aware that a random .exe floating around the Internet will be assumed to be a malware delivery bundle. Nobody will touch it. At the very least, you need to deliver your .exe through your website (no website = no trust), and you should provide a SHA-1 hash of your .exe that a user can use to verify that nobody has hacked your .exe and bloated it their garbage. (This assumes you know how to keep your website from being hacked.)

What is the least costly method to distribute keys to clients?

Your costs will vary wildly depending on how you build your e-commerce solution to be able to process payment transactions. You don't want to roll your own solution. There are too many government regulations about data safety and if you're this new, you'll get into trouble fast. Build your website with a content management system (CMS) like Wordpress, Joomla, or Drupal. They all have e-commerce modules you can plug-in, and they support digital media products (such as an app) and license key delivery features.

You'll need to set up a merchant account with a bank if you're going to process transactions.

PayPal has a payment processing feature as well, but to my knowledge, they don't support license key delivery.

No matter what payment processing mechanism you use, you're going to pay a percentage of each transaction to the payment processor. How much depends on which processor you choose.

Is there something I dont understand or do wrong?

Yes. Lots. But you won't know what you don't know until it happens. There are lots of resources on the web about how to build an online business.

Is there a way to automate billing and key distribution?

E-commerce software modules in the popular website platforms do this.

But, by far, the easiest way to distribute a $1 app these days is to use an App Store. The Windows 10 App store will do all the work for you in terms of hosting your app, processing payments, and ensure your app doesn't get bloated up with malware you cannot control. There's a registration process, and they take a commission on each purchase. Android and iOS stores work the same. It's not bad to pay them a commission, since they're taking care of all of the above-mentioned issues for you.

See Alexander's answer for a great list of app stores.

  • Correct me if I'm wrong, but wouldn't it be trivial for a hacker who replaced your executable on your website to also replace the SHA1 hash on your website with that of the hacked executable?
    – Nzall
    Commented Sep 26, 2015 at 20:06
  • 1
    @NateKerkhofs I assume that's what the "This assumes you know how to keep your website from being hacked" bit is referring to. Commented Sep 26, 2015 at 20:08

In 2015 there is no need in making such system by yourselves. Every major platform has its own application market.




This is the easiest way to promote your app and show it to your audience.

  • I thought the Microsoft store took only Universal Windows Platform (UWP) apps, formerly called Metro apps, and Delphi was incapable of producing UWP apps. Commented Sep 26, 2015 at 22:11
  • You can't develop UWP apps in Borland Delphi 7, but you can do that in modern versions of Embarcadero Delphi. Commented Sep 27, 2015 at 14:20
  • Thanks for clarifying. In that case, "there is no need" unless you're trying to sell your app in order to raise $592 (source) to buy an upgrade to "modern versions of Embarcadero Delphi". Commented Sep 29, 2015 at 17:59
  • Sticking with Delphi is expensive and painful... Using C++ is much cheaper for developer. VS Community is free as beer, and GCC is free as speech, you can choose for yourself. Commented Sep 29, 2015 at 18:20

There will be many answers along the lines of "use someone's AppStore that handles all the nasty credit cards and taxation issues". This will elide over the "and sign about sixty pages of rapidly changing agreements that you cannot understand". (No, you cannot and Intellectual Property licensing lawyers are guessing about what they mean.)

Your aim, however, was to learn.

  1. If you want to learn the AppStore process use an AppStore.
  2. If you want to learn what licenses people will accept, generate different ones for each user.
  3. If you want to learn how an AppStore works, set up an AppStore.
  4. If you want to see who uses your software, replace the payment requirement with a plea for a five line email (no spam!) stating the country and something interesting.

Do not shy away from experimenting just to use the AppStore model.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.