Troubleshooting Guide: Windows Installer Error 1639
Why This Error Happens
Error 1639 occurs when the Windows Installer (msiexec.exe) receives a command-line parameter it cannot parse or recognize. This typically results from a malformed switch, a missing value for a required parameter, or extra/incorrect quotation marks surrounding file paths. It can also happen when a deployment script, batch file, or third-party installer wrapper passes outdated or unsupported syntax to msiexec on Windows 11.
Step-by-Step Resolution Guide
Step 1: Verify the Exact Command Syntax
- Open Command Prompt as Administrator and re-run the install command manually to isolate the issue.
- Confirm you are using valid msiexec switches (e.g.,
/i,/x,/qn,/log). - Example of correct syntax:
msiexec /i "C:\Installers\App.msi" /qn /norestart - Check for typos like a single slash instead of double, or a missing space between switches.
Step 2: Check for Path and Quotation Errors
- Ensure the full file path to the
.msipackage is wrapped in double quotes if it contains spaces. - Example:
msiexec /i "C:\Program Files\Vendor\Setup.msi" - Remove any trailing backslashes inside quotation marks, as this can escape the closing quote incorrectly.
- If using a batch file or script, print the final constructed command using
echobefore execution to confirm it resolves correctly.
Step 3: Review Deployment Scripts or Group Policy Objects
- If deployed via SCCM, Intune, or a GPO startup script, open the deployment properties and inspect the “Install command” field.
- Look for legacy switches not supported in current Windows Installer versions (check against the Windows Installer SDK documentation).
- Remove any duplicate parameters (e.g., specifying
/qand/qnsimultaneously).
Step 4: Update or Repair the Windows Installer Engine
- Run
msiexec /updatecache checks are not applicable here—instead, verify the installer service version. - Open PowerShell as Administrator and run:
Get-CimInstance Win32_OperatingSystem | Select-Object Versionto confirm you are on a supported build. - Reset the Windows Installer service by running
net stop msiserverfollowed bynet start msiserver.
Alternative or Verification Steps
- To verify the fix, re-run the corrected command and confirm the installer proceeds without immediately erroring out; check the generated log file (if
/log "install.log"was used) for successful initialization entries. - As an alternative, use the Windows Installer CleanUp Utility or run the installer via its native
Setup.exe(if available) instead of callingmsiexec.exedirectly, as the EXE wrapper often handles argument formatting automatically.