Problem solve Get help with specific problems with your technologies, process and projects.

The methodology of software creation/distribution

Learn what steps companies must follow to ensure the software they create and distribute is secure.

Software distribution has to be the most anticipated component when a company is determining the requirements for purchasing and implementing a management system. It is the piece that technical support counts on; second only to the help desk as a way of minimizing cost. Proper software distribution can be a boon to the way upgrades, patches and new installations are distributed.

Cost of poor distributions
The emphasis is on "proper" software distribution. A poorly distributed application can cause more trouble than it is worth in the following readily evident areas:

  • The
  • The distribution servers (performance problems)

  • Network staff (diagnosing stuck packages)

  • Help desk staff (increased volume of calls to the company help desk)

And in the following more obscure but important areas:

  • Associated costs (a poor distribution can negate any cost savings)

  • Confidence in support (repeated unsuccessful distributions would solicit the "critical-eye")
  • Confidence in support management (guilt by association)

Basic distribution
To secure successful software distribution, companies must follow several basic steps (see the workflow chart). Some companies add more to the workflow, but the chart shows the necessities. The chart is based on the deployment of the Microsoft Systems Management Server, but can be used as a methodology for any application distribution system. Replace "SMS" with your software distribution mechanism.

Click to view the workflow chart:

Phases defined
Determination phase
This phase will have the most diversified results, but is ultimately the most important. Each company must create its own software distribution compliance policy (SDCP). The SDCP consists of a unified theory of how software should be distributed to the client PCs in the company. Adhering to the communicated policy is critical and will impact all the other steps. Here are some factors to consider when creating this policy:

  • Experience of user base

  • Importance of company-wide standards

  • Distribution standards

The idea behind software distribution is to make the distribution as easy and painless as possible. The installation will be successful if users don't have to make many decisions and don't have to click through many screens. If all software has been installed with the same options on each PC, the help desk can support users the same way. This results in happier users, a happier help desk support staff and, ultimately, happier management because there will be less user complaints.

The Distribution Standard generally depends on what product is being used to do the scripting. Most products will compile the script and application files into a one-file executable, while others actually copy the whole directory structure, uncompressed, to a point on the network. The one-file theory means there is less to copy to the distribution servers, so there can be better efficiency and better utilization of bandwidth across the LAN and WAN.

Some software manufacturers already provide SMS compliant installations or installations that would fall under your SDCP. Be sure to check these out. This could save a lot of scripting time.

Also, make sure the SDCP is documented as a standard in a memo or technical pronouncement format. It is easier to enforce the policy if it is a communicated document as part of an employee guide or affirmation.

Scripting phase
A successful scripting phase is dependent upon a good scripting environment. The scripting environment consists of a good scripting program, such as SMS Installer or Wise Installer and a "clean" PC. A clean PC means a low-end computer that is a nominal (lowest common denominator) installation of the company's standard OS. Nothing else should be installed, meaning the bare necessities of the standard OS with the minimal amount of components. Once the final "clean" PC is finalized for your environment, use the "imaging" product of your choice to make a copy of the clean environment. You will use this image later in the process.

This phase is also dependent on a qualified scripting person. In large enterprise environments, scripting can be a full-time job. Hiring a person specifically to script distributions is wise in this type of situation. Once the script is complete, the functional groups can sign-off on the final product or send it back to the drawing board.

Preparation phase
After the script is complete and compiled into an executable, the scripting machine should be put back in "clean" shape. To some, this would be common sense, but it serves as a reminder to give it its own phase.

Testing phase
Once the PC is back to "pristine" condition, run through the entire installation as the user would, then run the installed application. Run through every component of the installed application to make sure everything works. For instance, open files, open multiple files at one time, close files, save files, print files, and so on. Obviously, it is important that the installed application function properly.

Job creation phase
The SMS administrator in charge of creating packages should handle this phase. This person will have a repository already defined, somewhere on the network, where the package source is stored and where the Run Command on Workstation job is created from.

Pilot phase
Select some individuals from the user population based on varying levels of experience and distribute the job to them. If the least technical user can install the package with no problems, then the rest of the user population should have no problems. Also, keep in mind it is a smart practice to also include the help desk staff in this distribution, as they will support the installation via phone calls and the SMS Remote Control function. They will know how the installation works, making it easier to help users through it, should there be issues with the installation.

Control phase
Documentation of any project is critical to its operation, even if it is just an e-mail. If there is specific information about the distribution package, you should identify it here. Documentation also provides security in case the person that created the package goes on vacation or leaves the company.

Distribution phase
This is the final phase -- the completion phase. If the steps above were followed correctly and efficiently, the distribution should be successful.

About the author
Rod Trent, manager of and Community Editor for TechTarget Inc., is a leading expert on Microsoft Systems Management Server. He has more than 18 years of IT experience; eight years of which have been dedicated to SMS. He is the author of such books as
Microsoft SMS Installer and Admin911: SMS, and has written literally thousands of articles on technology.

This article appeared on

This article first appeared in myITforum, the premier online destination for IT professionals responsible for managing their corporations' Microsoft Windows systems. The centerpiece of is a collection of member forums where IT professionals actively exchange technical tips, share their expertise, and download utilities that help them better manage their Windows environments, specifically Microsoft Systems Management Server (SMS). It is part of the TechTarget network of Web sites. To register for the site and sign up for the myITforum daily newsletter, click here:

This was last published in August 2005

Dig Deeper on Microsoft Patch Tuesday and patch management

Join the conversation

1 comment

Send me notifications when other members comment.

Please create a username to comment.

Gofrugal's Distribution Management Software Will Simplify all kind of Distribution Process As Easy and fast .