10 Commandments of Software Packaging
Prepare! Prepare! Prepare! But first, be sure to check out these rules to guarantee a smooth deployment of software across your enterprise.
System administrators have been packaging software ever since there have
been microcomputers. That's because most system administrators have discovered
that they're much better off creating a new, company-specific (repackaged)
image of an application before releasing it into the network. Unfortunately,
not everyone uses the same set of rules for software packaging and evidently,
not everyone gets the same results.
One thing is certain, if you manage your software packaging processes
in the right way, you will enjoy a lower total cost of ownership for your
PCs. But how can you guarantee this result?
With some hard-won experience in the field, we've come up with 10 commandments
of software packaging. If you use the following rules, you’ll learn
to gain the full benefits proper software packaging can bring.
1. Prepare Your Packaging Environment
Too many people don't take the time to properly prepare the packaging
environment itself. Keep in mind that a software packaging environment
or laboratory should be architected, just like any other environment in
your network. This means you'll need to put the proper tools in place
-- tools such as an installation repository for all source software installations,
a software repository for all packaged installations as well as proper
In addition, use a proper database system to store all package information.
Most software packaging tools come with the Microsoft SQL Server Desktop
Engine, but MSDE has limitations that can negatively impact your packaging
environment. Treat your packaging data as corporate data and implement
a commercial database system with proper back-up strategies.
Finally, use representative systems to prepare and test your packages
and implement proper re-imaging mechanisms to restore these machines to
Want to get more tips on software packaging?
Attend a FREE Web Seminar
"The 20 Commandments of Software Packaging:
Practical Application of Software Packaging Best Practices"
When: February 16 at 1 p.m. Central Standard
Time, hosted by Nelson Ruest and Macrovision's Steve
Registrants will also receive the "20 Commandments
of Software Packaging" whitepaper for Free!
For information and registration CLICK HERE:
2. Use Proper Workflows
There's a lot to be said for getting the right people to do the
right job during the packaging and testing process. Even if your packaging
team is a team of one, you’ll need to make sure you use a step by
step process for packaging and that you follow it to a tee.
If your team includes more than one person, then all the better, but
then you'll need to assign a lab coordinator to oversee all preparation
activities. In addition, you'll want to make sure that your testers are
not the same as your packagers. This will help improve testing processes.
There's nothing like a fresh pair of eyes to catch omissions and overlooked
Document and publish this workflow for all team members to see.
3. Collect All Project Data Before Beginning
Now that you're ready to sit down and prepare packages, make sure you
have all information about the package in hand before you start. This
includes information such as the basic installation instructions, the
manufacturer, support telephone numbers for the manufacturer, target machines
the package will be deployed to, items to include or exclude in the package
and, of course, your own corporate standards for packaging and package
Armed with the right information, you'll be able to create your package
on the first try.
4. Package for Windows Installer
We're lucky. Today, we have a standard installation system that can be
used to support the installation of all packages and all software on your
Windows systems. This standard, the Windows Installer (also known as MSI),
provides enhanced installation management features including self-healing,
standard file versioning rules, integrated deployment strategies and a
standard format for the installation itself.
A major advantage of this system is that while not all vendors have begun
to move their own installations to this format, many have and more are
moving in this direction. Another advantage is that even if a software
product does not adhere to this standard, it is relatively easy to use
tools such as AdminStudio to repackage installations into this format.
Finally, using this standard means your staff only needs to be familiar
with a single installation format.
5. Know When to Package
There are a lot of things you shouldn't package -- drivers, system
components, Internet Explorer installations, hotfixes, service packs and
so on. That's because they are either core operating system components
or they use a format that is already packaged.
Document and publish all exclusions to your packaging process.
6. Repackage All of Your Software Installations
Don't rely on vendor-provided installs because defaults don't necessarily
apply to the standards you apply in your network. Make sure you customize
all your packages. Use the proper process for this. If the package is
already in Windows Installer format, you should customize it, but only
through transforms that are applied to the original commercial installation.
If it isn't in Windows Installer format, then use a capture process to
repackage it to this format.
Another key factor is that software packages are no longer only for PCs;
you can and you should apply the same software packaging principles you
use for PCs to servers as well.
Make sure your packaging team follows these standards.
7. Start with a Clean System
The last thing you want to do is package garbage. The only way to guarantee
that your packages include only the contents they should is to use clean
systems to both prepare and test the package. Clean systems give the best
results because they only capture what is relevant and do not include
any untoward components.
In fact, your lab should include one copy of each target machine in the
network. It should also include disk imaging technology to speed the process
of returning the target systems to a pristine state for each test.
8. Leverage Virtual Machines
Virtual machine technologies such as Microsoft Virtual PC 2004 and Virtual
Server 2005 or VMware Workstation 4.5 and GSX Server 3.1 should be part
of every packaging toolkit. Virtual machines emulate standard PCs and
servers in most every way and are a lot easier to reset to a clean state.
Virtual machines even include the ability to undo changes to their hard
disks, making it very simple to return the machine to a pristine state.
9. Use Installation Monitoring to Repackage
There are several ways to repackage products. One of the most popular
is the snapshot approach. Basically, this technique inventories what is
on a system before and after an installation, capturing system modifications
performed by the installation by identifying the differences.
A second and much more powerful approach is installation monitoring.
This is a fast and accurate technique that actually monitors what the
system does during the installation. Because of this, it is more efficient
and can ensure better results than the before and after snapshot.
10. Use a Custom Package Template
As you work through packages, you'll see that they mostly fit into a series
of categories. Each category will include repetitive tasks and will require
the application of corporate packaging standards. The best way to ensure
these standards are always applied is to capture them into a packaging
template -- a model that is applied to the package at the onset of its
creation. Templates are powerful tools because they allow you to capture
and include expert packaging knowledge into them, facilitating the initial
packaging process for junior packagers and freeing expert packagers for
more complex packaging tasks.
There you have it: Ten Commandments that should go a long way
towards making your packages cleaner and more stable, reducing the issues
and problems that may arise when they are deployed. Learn them and make
them part of your packaging strategy today. You'll see that together with
the proper IPE, these commandments will help you control the total cost
of ownership of software in your network.
Danielle Ruest and Nelson Ruest, both Microsoft MVPs, are IT professionals focused on technologies futures. They are authors of multiple books, including "Microsoft Windows Server 2008: The Complete Reference" (McGraw-Hill Osborne Media, 2008), which focuses on building virtual workloads with Microsoft's new OS.