Msizap Remarks

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Msizap Remarks

General Information

  • If you type msizap without any parameters, or with an incorrect parameter combination, command-line help displays.

  • When you run Msizap, it displays a complete transaction log, including a list of the folders, files, and registry subkeys that it deleted or changed.

  • Msizap affects only products installed by Windows Installer. It does not affect products that were installed by other technologies, including older Windows applications that were installed before the advent of Windows Installer.

  • Msizap does not uninstall programs or delete objects that programs install during their setup procedures. It only deletes configuration data that Windows Installer stores for its own use.

  • Programs removed by using Msizap might no longer appear in Add or Remove Programs in Control Panel.

Troubleshooting Windows Installer

Msizap is designed to be used as a last resort to remove the remnants of a corrupted installation. It is a blunt instrument that can delete installation data that is required by the system.

Before using Msizap, try the following less risky methods for repairing a failed installation:

  • Use Add or Remove Programs in Control Panel to remove or repair the installation.

  • Use Msiexec (command-line options), the command-line version of Windows Installer, with parameters to repair the installation and recache the local package. For example, use the following syntax to repair the MyPackage installation:

    msiexec /fvomus package.msi

Troubleshooting Msizap

When Msizap completes successfully, it displays a log of the objects that it searched, deleted, and changed. To determine whether Msizap ran to completion, look for one of the following statements at the end of the log.

Final Log Statement Description

Searching for files and folders in the %WINDIR%\Installer folder.

Msizap successfully completed a command using the T or A parameter. If the Installer folder is empty, then Msizap records a final action, in which it deletes the Installer folder.

No product data was found.

Msizap searched successfully, but did not find any of the specified objects on the system. Typically, this happens when an msizap command is repeated.

FAILED to clear all data.

Msizap cannot delete all of the data requested by the command. Output that ends with this statement also includes a failure statement and an error code at the point in the log at which the failure occurred. Failures are typically caused by problems with permissions, or with folders that do not reside on the local computer.

Stopping the Windows Installer Service

The * ALLPRODUCTS and T parameters stop the Windows Installer service so that Msizap can obtain exclusive access to the files, folders, and registry subkeys that it needs to change or delete. Because the Windows Installer service starts automatically when needed and stops automatically when idle, you do not need to stop or restart this service manually.

Identifying Package Files

All Windows Installer Package files end with the file name extension .msi. However, the file names are sometimes obscure and are often numeric, making it hard to determine which program the package file installs. Fortunately, this data is included in the summary information associated with each package file.

To display the summary information for a package file, use one of the following methods:

  • In Windows Explorer, place the mouse pointer over the name of an .msi file. (However, do not click.)

  • In Windows Explorer, right-click the name of an .msi file, click Properties, and then click the Summary tab.

Folders Deleted by Msizap

Msizap attempts to delete the following directories when it is run with the * or T parameter. The list of objects actually deleted appears in the command window when you run Msizap.

  • SystemDrive\Documents and Settings\UserName\Application Data\Microsoft\Installer\ProductCode

  • Systemroot\MSI

  • Systemroot\Installer\ProductCode (a hidden system folder)

  • Drive:\config.msi (for each local drive)

Active (Incomplete) Installations

When an installation does not complete or roll back successfully, some remnants of the installation might remain in the system. Windows Installer considers the incomplete installation to be active and will not install new products or reinstall existing products until the installation is resolved.

Because Windows Installer runs only one installation at a time, only one installation is active at any given time and there is only one instance of the indicator objects on any system.

The following objects indicate an active, incomplete installation on the system. When an installation completes successfully, Windows Installer automatically deletes these objects from the system.

  • The InProgress registry subkey:

    HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress

  • Rollback data, which includes rollback scripts and registry entries for the following Rollback registry subkey:

    HKLM\Software\Policies\Microsoft\Windows\Installer\Rollback

To search for the InProgress subkey on a system, use Regedit.exe or Reg.exe, tools included in Windows XP Professional and Windows Server 2003 operating systems. Enter a command that uses the following syntax:

reg /query [**\\**ComputerName] HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\InProgress

To search for the Rollback subkey on a system, use Regedit or Reg, tools included in Windows XP Professional and Windows Server 2003 operating systems. Enter a reg command that uses the following syntax:

reg /query [**\\**ComputerName] HKLM\Software\Policies\Microsoft\Windows\Installer\Rollback

Registry Subkeys Deleted by Msizap

Msizap attempts to delete the following registry subkeys when it is run with the * or T parameter. The list of objects actually deleted appears in the command window when you run Msizap.

  • HKCU\Software\Classes\Installer\Features\ProductCode

  • HKCU\Software\Classes\Installer\Products\ProductCode

  • HKCU\Software\Microsoft\Installer\Features\ProductCode

  • HKCU\Software\Microsoft\Installer\Products\ProductCode

  • HKCU\Software\Microsoft\Installer\UpgradeCodes\ProductCode

  • HKCU\Software\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\ProductCode

  • HKLM\Software\Classes\Installer\Features\ProductCode

  • HKLM\Software\Classes\Installer\Products\ProductCode

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\Features\ProductCode

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\SID**\Installer\Products**\ProductCode

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\Managed\SID**\Installer\Features**\ProductCode

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\Products\ProductCode

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UpgradeCodes\ProductCode

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\SID**\Components**

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\SID**\Products**

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\ProductCode -- if there are no longer any installations with the specified product code.

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\{usersid}\Components

  • HKLM\Software\Microsoft\Windows\CurrentVersion\Installer\UserData\{usersid}\Products

See Also

Concepts

Msizap Overview Msizap Syntax Msizap Examples Alphabetical List of Tools Windiff Overview Remote Overview Poolmon Overview Memsnap Overview Gflags.exe Devcon Overview