Software deployment is the process of getting your program ready for market. A newly created program may work fine on your computer, but that doesn’t mean it is really ready for others to use. There are many extra program features you probably hadn’t needed for yourself, but ought to provide if the program will be used by others. These features are needed to make your program more user friendly and to help protect your program from piracy.

Consider adding the following to your program to make it ready for others to use:

  • Help documents
  • Executable file
  • Icon library
  • License Agreement
  • Code Obfuscation
  • Trial Version
  • Install Wizard
  • Uninstall program

Help Documents

One of the most important areas of consideration for making a program more marketable is to make it easier to use. A key aspect of making a program more usable is the inclusion of online help.

You could create a simple .txt file with a quick start tutorial.  Or you could create a .html or .pdf file with screenshots and instructions for how to use your program features.  Or you could create a full Help System complete with a table of contents, an index, and a searchable database.

The help document could run run independently of your program, or it could be integrated into your program: help buttons or other links could open appropriate sections of the help document.

In any case, a good help document will make your program much easier for others to use.

Executable File

What is an executable file?  An executable file is a program file which, when double clicked, will start a program.

Does starting your program instead require a command with specific parameters be entered somewhere?   This is a very unfriendly way for users to start your program.

Today’s users are used to simply double clicking a file to start a program.  If your program requires the user to enter a command to start it, consider providing an executable wrapper for the command.  When set up correctly, the executable wrapper file, when double clicked, will submit the command and all its required parameters to start your program.

Icon Library

Icons are used both within your program and as representative images of your program on the computer’s desktop and in program lists.  Icons are not needed in order for others to use your program, but your program will look more professional with well designed icons.

Keep in mind that you must create your own icons, or ensure that you are using a royalty free icon.  Icons are fun and easy to create.  Icons may be drawn using many paint or drawing programs or may be created from photos.

License Agreement

There are several steps you can take to help protect your program code from piracy.  First, you should claim your ownership and define what you will and won’t allow users to do with your program code.  You should put this information in a license agreement.

Make the installation of your program contingent upon the user accepting your license agreement.  If the user does not agree with the terms of your license agreement, terminate installation.

Code Obfuscation

Another step in protecting your code from piracy is to make it difficult for others to do what you don’t want them to do.  One technique is to make it difficult for others to understand your program code.  This is called code obfuscation.  Obfuscating your code involves renaming objects, variables, and method names to meaningless symbols; and rearranging and changing code in such a way that it will still run the same way but is harder to understand.

Trial Version

Creating a trial version is probably more of a marketing technique than a deployment technique.  But it is a step you must perform during the deployment process, since that is when you are making your program ready for others to use.

By providing a trial version of your program, you can allow the user to try your program before he buys it.  Hopefully, by trying it, he will decide he would like to buy it.

There are several strategies to making a trial version:

  • Limited Functionality, Unlock Key – allow limited functionality or a limited number of uses. Once registered, provide a key to unlock the code and remove all limitations.
  • Full Functionality for Limited Time, Unlock Key – allow a period of full functionality, then make the program stop working after the limit is reached. Once registered, provide a key to unlock the code to bypass the time constraint.
  • Full Functionality, no Unlock Key – provide full function code without restrictions, but then ask that those who like the program send a donation.
  • Special Edition – provide only partial functionality. Once registered, provide a separate program with full functionality.

Choose the strategy that gives the user a better trial of the program.  However, do not give so much away that the user might decide to stay with the trial version and never buy the full version.

Install Wizard

An install wizard serves a couple purposes:

  • Makes your program easy to install by placing all its resources in their required locations.
  • Makes your program easy to download or share with others by bundling your program and all its resources into a single install file.

Some of the steps that may be performed by an install wizard include:

  • Require acceptance of your license agreement.
  • Add your program to the desktop, the Windows Start menu, and the Windows Add/Remove Programs utility
  • Put your program files in their required locations, and set up any required system registry entries
  • Create file type associations (ie. create your own unique file extension so double clicking a file with that extension will start your program using that file as its input data).
  • Run additional programs if needed (for example, my installers will install Java if the installer determines that the computer does not have the minimum required version of Java already installed).
  • Ask the user if he wants to read your readme file after the installation is complete.

Uninstall Program

Be sure that your program is as easy to uninstall as it was to install.  Provide a program that will remove all the files that were copied to the user’s computer when your program was installed, and clean up any system registry changes that your program installation made.

Make your uninstall program easy to find.  If your program was installed on a Windows computer, add your uninstall program to the Windows Start menu and in the Windows Add/Remove Programs utility.


There is much more to getting a program ready for market than simply creating a great program.  Deploying your program makes it much easier for others to use, helps reduce program piracy, and gives your program a much more complete, professional feel.

A deployed program is easy to share with others, and if you are interested, is ready to go to market.

No related posts.

About the Author

One Response to What is Software Deployment?

More Do-It-Yourself Java Games

More Do-It-Yourself Java Games: An Introduction to Java Graphics and Event-Driven Programming is the second book of the Do-It-Yourself Java Games series. You'll learn to create windows and dialogs, to add buttons and input fields, to use images and drawings, and to respond to keyboard input and mouse clicks and drags. You'll create 10 more games including several puzzles, a dice game, a word game, and a card game.

This book assumes you either have an understanding of basic Java programming or you have read the first book, Do-It-Yourself Java Games: An Introduction to Java Computer Programming. Read more.

Do-It-Yourself Java Games

Do-It-Yourself Java Games: An Introduction to Java Computer Programming uses a unique "discovery learning" approach to teach computer programming: learn Java programming techniques more by doing Java programming than by reading about them.

Through extensive use of fill-in blanks, with easy one-click access to answers, you will be guided to write complete programs yourself, starting with the first lesson. You'll create puzzle and game programs like Choose An Adventure, Secret Code, Hangman, Crazy Eights, and many more, and discover how, when, and why Java programs are written the way they are. Read more

Step-by-Step Tutorial

Many of the tips, techniques, and tools discussed in this blog are demonstrated in a detailed step-by-step tutorial in the book, This Little Program Went to Market, by Annette Godtland.

The book takes a computer program through the entire process of creating, deploying and distributing a program, then selling and marketing it (or any other product) on the Internet. Read more.