When you are installing a Microsoft Windows Installer (.msi) package, the installation process will fail silently if the installer tries to install a later version of a system file that the Windows File Protection (WFP) feature helps protect. When you examine the Windows Installer log or the Application log you will see Windows Installer Error 1931.
Before the release of Microsoft Windows Installer version 3.1, a package that tried to install a later version of a WFP-protected file during a silent installation process could not install the file. However, the installation process would continue and would report as successful. With the release of Windows Installer 3.1, the behavior has changed. In version 3.1, the silent installation process does not succeed and then rolls back the installation if the silent installation process cannot install the WFP-protected file. WFP prevents applications from overwriting system files. Windows Installer cannot overwrite WFP-protected files.
To resolve this issue, use Method 1 if you are the end user of the installation package. Use Method 2 if you are creating the Windows Installer package.
Method 1 If you are the end user of an installation package to install software on a computer, obtain Windows Installer 3.1 (v2) redistributable.
Windows Installer 3.1 (v2) redistributable is an update to Windows Installer 3.1. This update addresses the issue that is described in the "Symptoms" section.
For more information about Windows Installer 3.1 (v2), click the following article number to view the article in the Microsoft Knowledge Base:
To determine which version of Windows Installer is currently installed on the computer, follow these steps:
In Windows Explorer, locate the following file:
This file is located in the Windows\System 32 folder.
Right-click Msi.dll, and then click Properties.
Click the Version tab. Note the file version number.
If the version number is 3.1.4000.1823, the computer has Windows Installer 3.1 (v1) installed.
If the version number is 3.1.4000.2435, the computer has Windows Installer 3.1 (v2) installed.
Method 2 If you are creating a Windows Installer package to install an application that you have created, we recommend that you set a condition in the Windows Installer database that you create for the Setup project to prevent the WFP-protected components from installing on operating systems that have WFP. This method is the preferred workaround. A Windows Installer-based installation process should not try to update WFP-protected files.
To set a condition, add the condition to the Condition column of the Component table in the Windows Installer database. For more information, visit the following Microsoft Developer Network (MSDN) Web site:
Microsoft Windows Installer 3.1, Microsoft Windows Server 2003, Datacenter Edition (32-bit x86), Microsoft Windows Server 2003, Enterprise Edition (32-bit x86), Microsoft Windows Server 2003, Standard Edition (32-bit x86), Microsoft Windows XP Home Edition, Microsoft Windows XP Professional