How to prepare for repackaging with Setupcapture?
How to Prepare for Repackaging Using SetupCapture
SetupCapture is designed to capture changes made to a computer during the installation of an application. There are three stages to the process: the initial scan, the application installation, and the final scan.
SetupCapture detects changes to files, registry keys, .INI files and shortcuts. It is important to keep in mind that the changes can be as simple as an updated time stamp on a file or registry keys that changed during a reboot.
One of the best ways to ensure that you create high quality packages is to perform a thorough analysis of the software you are repackaging. These tasks can be done during the analysis phase:
Establish a "clean machine"
A "clean machine" is defined as one that has the operating system installed along with one or more of the following, based on your company's standards:
- The operating system service pack that is installed on every PC in your organization
- The version of MDAC that is installed PCs in your organization
- The version of Internet Explorer that is installed on every PC in your organization
A clean machine does not contain any of your core business applications.
By installing the application on a clean machine, SetupCapture gets an accurate view of how the application has changed the system.
To initially define a clean machine, install only the operating system and the supplemental software discussed above (if appropriate). Use drive imaging software to create an image of the clean machine and to later restore the clean image onto the same or other PCs. You may want to create images of multiple OS configurations, based on the needs of your organization.
Establish an exclusion list
The exclusion list is a list of folders, files and registry keys that are ignored during all future captures. For example, during a reboot, certain registry keys that are independent of installations are changed. You can determine which keys are changed during a reboot by running SetupCapture. After the initial scan, run a simple program such as Notepad (which will change files such as user.dat) and reboot the machine. Run the final scan to capture the changes.
Install the application to the clean machine
In the analysis phase, install the application on a clean machine. During this installation, you do not run SetupCapture; you are simply familiarizing yourself with the installation in preparation for running SetupCapture later. When you install the application, take particular note of what choices are available during installation. SetupCapture does not capture the “logic” of an installation. For example, if the user is allowed to pick among several features of the software, SetupCapture does not record all of the possible choices. SetupCapture only records the changes made to the PC as a result of the features the user actually selects. It is important to determine before running SetupCapture exactly which choices you want to make during the installation. This prevents capturing unintended changes made to the system by moving back and forth between dialogs or making other erroneous selections.
Monitor the application using ApplicationWatch
Applications use files that are already on the destination machine. Though these files may be necessary for the application to run properly, they may not be part of the installation. If you want to ensure your end user has the entire set of files, use ApplicationWatch to monitor the system to see which files loaded into memory during the execution of the software. This does not check for any dependencies.
Please Note: ApplicationWatch does not record any activity of these DLLs, however:
System directory: USER.DLL, KERNEL.DLL, SHELL.DLL, TOOLHELP.DLL, VER.DLL, LZEXPAND.DLL, GDI.DLL, KEYBOARD.DLL, COMMDLG.DLL, WIN87EM.DLL, DDEML.DLL,
System32 directory: COMCTL32.DLL, COMDLG32.DLL, USER32.DLL, KERNEL32.DLL, ADVAPI32.DLL, GDI32.DLL, DSKAPI32.DLL, ICM32.DLL, IMM32.DLL, LZ32.DLL, RICHED32.DLL, SHELL32.DLL, SAGE.DLL, VERSION.DLL, WINSPOOL.DRV, WINMM.DLL, URL.DLL, LINKINFO.DLL, SHLWAPI.DLL, SHDOCVW.DLL, SHFOLDER.DLL, WSOCK32.DLL, WININIT.DLL, NTDLL.DLL.
Identify potential security issues by running the installation with restricted user privileges
Because of possible security settings, not all features may be available to all users. To make sure each user has full functionality, log into the system and test the software without administrative rights. Some registry keys are not available to restricted users and this may impose limits on the installation. Take note of any occurrences where the behavior of the program is not appropriate for restricted users. You can make changes to your installation later to ensure the complete functionality.
At this point, you are ready to run SetupCapture. The wizard steps you through the process. Once you select the application .EXE that you want to install, SetupCapture does the initial scan. When the installation launches, step through the application using your pre-determined decisions. SetupCapture completes the process by running a final scan.
Review the existing installation after using SetupCapture
After you complete the SetupCapture sequence, look at the pages in the Installation Expert.
- Do you see all of the files you expect to see? Are any obvious files missing?
- Do all of the registry keys captured belong to the application installation or did any keys change during the reboot process that did not make it into your exclude list?
- What are the changes made to any .INI files?
- Manually remove temp files created by the installation.
- Users of Wise Installation Studio\Express or Wise Package Studio should go to the Tables tab in Setup Editor within the Windows Installer Editor. Press the F4 key to check for errors in the tables. Also check for duplicate table entries, which can occur when auto-advertising is turned on.
Identify uninstall problems using SetupCapture
Ideally, an uninstalled program leaves the machine in the identical state as the machine was in before the installation. To see if this is true, run SetupCapture on a clean machine. Then, run another SetupCapture immediately following the first capture, this time substituting the uninstall program for the application installation. Ideally, at this point, the installation file shows nothing, i.e. every change made to the machine during the installation will should be undone during the uninstallation. Often however, this is not
Based on the analysis above, keep a running log of installation issues and company standards, referred to as a SetupCapture report. After this group of tasks is completed, the next step is to make changes to the package to make it conform to your organization's standards.
For further information regarding Best Practices for SetupCapture, please see the linked article https://kb.altiris.com/article.asp?article=4001&p=1.