Possible solutions for a 2203 error while installing the .NET Framework

I received a mail from a customer today that described a scenario where the .NET Framework 2.0 setup failed with error code 2203. In this scenario, the application event log contained an entry like the following:

Microsoft .NET Framework 2.0 -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2203. The arguments are: C:\WINNT\Installer\2579981.ipi, -2147287035

According to the Windows Installer documentation, error code 2203 means Database: [2]. Cannot open database file. System error [3] . In this case, the system error code (-2147287035) means "access denied."

There are a couple of cases where I have seen this error in the past for the .NET Framework and other types of MSI-based setup packages:

  1. Permission problems for the %windir%\installer folder - If the Windows Installer service does not have sufficient permissions to read and write to this folder, the installation will fail. Typically the subinacl tool described here will fix the permissions and then you can re-run setup and it will work correctly.
  2. Anti-virus software - If you have a real-time virus scanner enabled, and it happens to be scanning the file in %windir%\installer at the same time as setup is trying to open the file and install from it, you will get this type of error. This is generally a timing issue, and in this case re-running setup will fix it. Alternatively, you can disable real-time virus scanning during installation, but if you do this please be aware of the security implications of doing so and either install while not connected to the network, or if that is not possible, make sure to immediately re-enable the virus scanner after setup completes.