MSI error 1603: a fatal error occurred during installation
Error 1603: A fatal error occurred during installation. This is Windows Installer’s general “the install failed” code. It does not say why.
What it means
Section titled “What it means”Windows Installer (MSI) returns numbers when it finishes. Microsoft lists 1603 as ERROR_INSTALL_FAILURE: “A fatal error occurred during installation.”
When winget runs an MSI package and it fails, winget reports its own code, 0x8A150049 (“Running MSI install failed”), and its output can also show the installer’s own exit code, such as “Installer failed with exit code: 1603”. The real cause is inside the installer’s log.
Why it happens
Section titled “Why it happens”1603 is a catch-all. Public reports in the winget project show it for very different causes, for example a package that needs administrator rights, or an old MSI file that is missing. Do not trust a guess. Read the log.
How Devpit fixes or avoids it
Section titled “How Devpit fixes or avoids it”Devpit does not repair Windows Installer. In Update Everything it makes the failure easy to see:
- A winget package that ends with
0x8A150049shows as msi install failed in the summary, followed by the last line the installer printed. - Other winget codes without a special meaning show as
error 0xplus the code, so you can search for it. - Winget’s other MSI-related outcomes have their own plain words: “another install is running” for
0x8A150102, “disk full” for0x8A150105, “no network” for0x8A150107.
Devpit runs winget as a normal user, so a package that needs administrator rights is a first thing to check. See winget 0x80073D28.
The manual fix
Section titled “The manual fix”- Make sure no other install or update is running. If you get 1618 instead, see MSI error 1618.
- Run the installer yourself with a verbose log.
/iinstalls, and/L*Vwrites all information including verbose output to the file you name:
msiexec /i "C:\example.msi" /L*V "C:\package.log"- Open
package.login a text editor and search for the worderror. The lines around the first error say what failed. - Fix the cause the log names, then run the install again. If the log points at a missing file or a permission, try again from a terminal opened as administrator.
Sources
Section titled “Sources”- Microsoft: Windows Installer error codes (1603)
- Microsoft: msiexec (logging options, /L*V)
- winget return codes (0x8A150049, 0x8A150102, 0x8A150105, 0x8A150107)
- winget-cli issue #1143: silent install of an MSI package fails with 1603
- winget-cli issue #232: Installer failed with exit code 1603
- UniGetUI issue #2742: update fails when the old MSI installer is missing (exit code 1603)
Common questions
What does exit code 1603 mean?
It is the Windows Installer error ERROR_INSTALL_FAILURE, with the text A fatal error occurred during installation. It is a general code. It tells you the install failed, not why. The reason is in the installer log.
How do I get the MSI log?
Run the package yourself with msiexec /i and the /L*V option followed by a log file path, for example msiexec /i C:\example.msi /L*V C:\package.log. Then search the log for the word error.
