“If thy right hand offend thee, cut it off, and cast it from thee.” If thy MSI row offend thee, drop it, and cast it from thee.
OS Testing: Windows 11 Build 22631.3880
Platforms: Physical & Virtual
Desktop Management: SCCM & Intune
When I was testing Java 421 32 & 64 Bit for deployment, I noticed the MSIs were failing with the dreaded 1603 error. I received the errors on a local lab machine & in a VM, and in SCCM & Intune. Both had the CM agent. Both had Java 411 installed. Let’s be clear on one thing, this is an Oracle issue. They caused this because they skipped testing their MSIs, really testing them. QA should have caught this.
Failed Install
BUT, the resolution for this one is pretty easy.
Orca > CustomAction table > Drop the FindRelatedProductsEx row > Save.
The MSIs should be working now. If you’re having issues beyond the 1603 error, see the scrubber and MSI setup repair tool at the bottom.
Working Install
But Why?
The Windows Installer for the MSI generates error code 1603 when it encounters issues during the installation. This error can be triggered by numerous issues (which makes troubleshooting a complex endeavor), but 1603 is often associated with the CustomAction table in the MSI setup file.
What is the CustomAction Table?
The CustomAction table is an essential component that provides the means of integrating custom code and data into the installation. The source of the code that is executed can be a stream contained within the database, a recently installed file, or an existing executable file.
What are some causes for the 1603 error?
- Windows Installer is trying to install an application that is already installed: If the application is already installed on your PC, you may encounter this error when you try to reinstall the application.
- The installation folder of the application is encrypted: If the folder you’re trying to install the Windows Installer package to is encrypted.
- Insufficient permissions: If there are insufficient permissions to access the location where the software is being installed, this error may occur.
- Short file name creation is disabled.
- Conflicts with other software or services: If there are conflicts with other software or services running on the computer.
- Conflicts with antivirus or other security software: Sometimes, antivirus or other security software can interfere with the installation process.
- Corrupted Windows Installer or installation package: If the Windows Installer or the installation package is corrupted.
- Unable to access install files in case of a web installer due to network and firewall blocks.
The most frequent reason for error 1603 during MSI installation is a failed action, which is more likely to be a CustomAction rather than a Standard Action (like Create Shortcut or InstallFiles). For example, if an MSI includes a VBScript file (MyCA.vbs) as a file in the File table (yes, VBScript is still used), and the VBScript is executed via a CustomAction set before the InstallFiles action within the InstallExecuteSequence table, the installation may fail with error code 1603.
To troubleshoot this error and find out which CustomAction fails, you would typically need to examine the log file for the installation. If a CustomAction is throwing any error/exception, it can result in the generic error code 1603. Debugging the custom action can help identify the actual error/exception.
How did I figure this out? I just compared 421 to 411 using Orca. I saw new entries in several tables. I dropped the right thing. Note, when testing, you need to drop ONE row, and then test. It’s called binary testing. It’s the best way to figure out exactly what you’re looking for.
More advanced troubleshooting uses ProcMon. Run as admin. Capture the moment when an issue happens. Analyze the results.
Notes
Java 8 Release Highlights (Bugs & Fixes)
Run as Admin: Java-Scrubber.cmd
Run as Admin: WinInstaller_Repair_MSI_MicrosoftProgram_Install_and_Uninstall.meta.diagcab