Microsoft KB Archive/260404

{|
 * width="100%"|

HOWTO: Troubleshoot Windows Installer Engine Problems

 * }

Q260404

-

The information in this article applies to:


 * Microsoft Windows Installer, versions 1.0, 1.1, 1.2

-

SUMMARY
This article explains how to determine if the Windows Installer engine is installed successfully, and describes possible causes for an unsuccessful installation. This article also explains how to resolve engine problems if the Windows Installer installation was successful, but an attempt to run a Windows Installer (.msi) file fails.

The Windows Installer engine is installed by running Instmsi.exe. Instmsia.exe and Instmsiw.exe are used by some programs to differentiate between the ANSI version (used on Microsoft Windows 95 and Microsoft Windows 98 platforms) and the Unicode version (used on Microsoft Windows NT platforms). Generally, a Setup.exe file that ships with a product automatically runs this executable if necessary before it runs the associated .msi file.

MORE INFORMATION
You must install the Windows Installer on Windows 95, Windows 98, and Windows NT 4.0 before you run an .msi file to install a product. Versions 1.0, 1.1, and 1.2 are available for installation on these platforms. Microsoft Windows 2000 comes with version 1.1 of the Windows Installer, and Windows Millennium Edition (Me) comes with version 1.2.

On Windows NT 4.0, to determine if the Installer succeeded, check the Application Event log. A successful installation has the following entry:

Event ID: 1000 Source: MsiInstaller  Type: Information The detail of the action is:

Product: Windows Installer -- Installation operation completed successfully. On Windows 98 or Windows 95, a log file named Msievent.log is created in the Temp folder. A successful installation has the following entry with the appropriate date and time:

Information - 1/10/01 12:06:39 (Info  ) Product: Windows Installer -- Installation operation completed successfully. If the Windows Installer does not install successfully, one of the following may be the cause:


 * An empty environment variable can prevent the engine from installing successfully. If this is the case, you receive the following error message:
 * On Windows NT 4.0, if the Sfc.dll file exists in the system folder, the engine may not install successfully.
 * On Windows 2000, version 1.2 of the Windows Installer does not install. The Windows Installer files are protected files under System File Protection (SFP) and cannot be replaced. Running version 1.2 of Instmsi.exe has no effect on the computer, and version 1.1 remains on the system.

If the Windows Installer does install successfully, but you cannot run an .msi file, one of the following may be the cause:

NOTE: If the engine does not install correctly, you will not be able to run any .msi file.


 * The registration of the engine may be corrupted, so that an attempt to run an .msi package fails. If this is the case, all attempts to run an .msi package fail. If just a single .msi package does not complete successfully, contact the vendor of that package for support on that particular product's installation.

To correct the registration of the Windows Installer, unregister and reregister the Installer service. This shuts down and reregisters the service, which assures that the Windows Installer engine will function properly. To do this, run the following commands from a command prompt:
 * If correctly registering the engine does not resolve the problem and you would like to remove the engine files and reinstall clean, follow these steps:

NOTE: On Windows 2000 and Windows Millennium you cannot remove the Windows Installer engine, because the files are protected.


 * From the command line, run the following command:
 * Delete the Msi.dll, Msiexec.exe and Msihnd.dll files from the system folder. You must rename these files from the command prompt.
 * Restart Windows.
 * Run the Instmsi.exe program to install and register the engine files again.