Best Practices

Use Your Resources

During the initial Research stage of the repackaging process, you not only need to find out how to install and configure the program you’re packaging, but now is the time to find out the best way to do it. This is one place where the websites and newsgroups I have listed in the Resources section can save you so much time. A few of the places I always go before starting a package are:

  • AppDeploy.com’s Packages section, where folks post their learnings about packaging specific applications, from silent install options to hidden Registry configurations to SetupCapture recommendations, all listed in a searchable database-type format.
  • The Wise for Windows Installer and Wise Package Studio newsgroups have several years of posts from others who’ve tried to do the same thing; searching for the name of the application is likely to reveal someone else’s questions and tips.
  • The software vendor’s website may have documentation of silent install options, pre-packaged installations or network distribution tools already. For example, Adobe Software products tend to be very difficult to repackage and distribute, but lately the company has begun releasing tools and info to help enterprise users (see Acrobat Solutions for Enterprise Deployment for an example).

User-Friendly Configuration

Your end-users or product specialists may have already provided you with recommended settings to include in your package, but there may well be more. For example, many programs now come with an “Internet Update” feature, which might even automatically remind the user to update after a specified period of time. However, in your target environment, users are probably not able to install any updates they received, even through the program’s automated methods-so why not disable this option altogether, so the users are never bothered by it? This is one example where your thinking ahead can save the Help Desk a few phone calls.

Get the Latest-and-Greatest

You’re probably going to be spending some serious time doing the repackaging of these applications, so make sure it lasts. If there’s a chance the company is going to upgrade to the latest version, find out if it would be best to spend your time repackaging only the latest version rather than doing the old one only to find out you need to start again on the newer one. Similarly, for any program you are repackaging, even if it’s the latest version on the installation media, there may be updates and patches available on the Internet. It’s a good idea to include these updates in your package before any users discover problems which the vendor may have already fixed.

Cleaning Up After Yourself

Most program uninstallers do a horrible job cleaning up after themselves, leaving behind many unnecessary files, folders and Registry keys which take up space and could cause confusion during troubleshooting. While some of these things you may intentionally leave behind-for example, a DLL that is likely to be used by other programs, or the program’s unique user settings which they may want again if they do a re-install-you can have your package de-install itself cleanly. During your testing, do an uninstall and see what files are left behind-then go back and add them to the RemoveFiles table of the MSI. Once the directories are emptied of useless files like the .GID files created by viewing Help files, Windows Installer can automatically delete them during the uninstall-but only if they’re empty.

Also, keep in mind that installers sometimes leave around their own junk, so make sure that your installer deletes any temp files it has created. If you are doing a SetupCapture for the repackaging, you can choose not to include the vendor’s custom installation log files and such which will be useless when MSI has installed the app.