What are some Repackaging Best Practices?
- Establish a clean machine.
A clean machine is vital to a repacking project because it reduces the likelihood that the snapshot application misses files or registry keys on the machine. A clean machine contains a "vanilla" image, which has the minimum operating system components necessary for the repackaging project.
You typically find the following applications on a vanilla image: the latest operating system service pack, MDAC (the version your organization uses), a snapshot capture application and the operating system. Do not include Microsoft Office*, antivirus software, or any other application on a clean machine. The exception to this rule is an application that has a hook to Office, such as Microsoft Excel* add-in. Because the add-in has a dependency on Excel and Excel is a feature of Office, either Office or Excel must be installed as a standalone product for the add-in to function properly. The expected state of the computer, which is to have a pre-existing Office or Excel installation, creates the dependency.
Although you repackage on a clean machine, you test on a "base build" or "gold machine." This computer includes the base operating system distributed to users. A base build can include Microsoft Office, Adobe Acrobat Reader*, Winzip*, or other company specific applications.
- Create a robust exclusion list.
Deciding exactly which files and registry keys to include and exclude in installations can be time consuming and perplexing. You can use a few guiding principles to identify immediately which files and registry keys to include and exlude.
- Files: Remove the files that directly relate to the installation and the operating system.
- Registry Keys: Remove all hardware that does not relate to an application package and all system related information from HKEY_LOCAL_MACHINE.
- Wise Package Studio lets you automatically build an exclusion list. For more information about the exclusion list, see the topic titled “Building Your Exclusion List Automatically” in Wise Package Studio’s help topic.
- Reboot the computer.
Always reboot the computer to get a clean snapshot of your system. Applications sometimes write files or registry keys to the machine before the first scan begins; rebooting prevents this information from being captured in the scan.
- Open the application.
Before starting the after scan, open the application. This enables you to set the default save locations, user preferences, and other settings. Also, if the application writes to registry keys the first time it is opened, the application will not be captured in your installation.
- Identify what does not get repackaged .
You cannot repackage certain application and operating system packages. In some instances, you can customize the applications instead. Do not repackage the following items:
- .MSI packages. Use a transform to customize these packages.
- Microsoft operating system middleware, such as Internet Explorer, Windows Media Player, and DirectX. Use supported command-line options for automated unattended installations or use the appropriate tool for the application. For example, use IEAK (Internet Explorer Administration Kit) to repackage Internet Explorer. You cannot repackage middleware components because many of their files fall under Microsoft Windows File protection, a specific type of self-healing that prevents unauthorized file replacement on Windows 2000 and higher operating systems. Only Microsoft has the API that allows these protected files to be overwritten properly.
- MDAC. This is not repackaged since it is available as a merge module.
- Service Packs. These are not repackaged for several reasons. The primary reasons are that it is extremely difficult to properly capture all of the changes made to the operating system and a significant number of services packs are Microsoft file-protected. Use supported command line options to automate unattended service pack installations.
By creating a clean environment for repackaging, you minimize the chances of problems occurring during the repackaging process. Use the above techniques to create a solid, robust installation.