Why don't any MSI (Windows Installer) installers work?

For quite some time already, I have not been able to install any applications that in any way use the Windows Installer (aka msiexec) which is most of the apps out there. I am not talking about some random specific program that does not install, it's ANY program.

All the installers say this:

Setup Wizard ended prematurely

The one I am using right now is: http://download.microsoft.com/download/C/F/F/CFF3A0B8-99D4-41A2-AE1A-496C08BEB904/WebPlatformInstaller_amd64_en-US.msi

As you can see, it is an official Microsoft download, so the package is not the problem.

Also, using this SuperUser post I ran msiexec.exe /I "WebPlatformInstaller_amd64_en-US.msi" /QN /L*V! "C:\msilog.log" and I got this log:

=== Verbose logging started: 3/28/2015  20:46:26  Build type: SHIP UNICODE 5.00.9600.00  Calling process: C:\WINDOWS\system32\msiexec.exe ===
MSI (c) (0C:C4) [20:46:26:944]: Resetting cached policy values
MSI (c) (0C:C4) [20:46:26:994]: Machine policy value 'Debug' is 7
MSI (c) (0C:C4) [20:46:27:034]: ******* RunEngine:
           ******* Product: WebPlatformInstaller_amd64_en-US.msi
           ******* Action: 
           ******* CommandLine:  
MSI (c) (0C:C4) [20:46:27:062]: Client-side and UI is none or basic: Running entire install on the server.
MSI (c) (0C:C4) [20:46:27:086]: Grabbed execution mutex.
MSI (c) (0C:C4) [20:46:27:137]: Cloaking enabled.
MSI (c) (0C:C4) [20:46:27:166]: Attempting to enable all disabled privileges before calling Install on Server
MSI (c) (0C:C4) [20:46:27:194]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (B8:30) [20:46:27:222]: Running installation inside multi-package transaction C:\Users\Maxwell\Downloads\WebPlatformInstaller_amd64_en-US.msi
MSI (s) (B8:30) [20:46:27:243]: Grabbed execution mutex.
MSI (s) (B8:7C) [20:46:27:270]: MainEngineThread is returning 1603
MSI (s) (B8:30) [20:46:27:295]: User policy value 'DisableRollback' is 0
MSI (s) (B8:30) [20:46:27:318]: Machine policy value 'DisableRollback' is 0
MSI (s) (B8:30) [20:46:27:345]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (B8:30) [20:46:27:369]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 
MSI (s) (B8:30) [20:46:27:395]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2 
MSI (s) (B8:30) [20:46:27:419]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
MSI (c) (0C:C4) [20:46:27:446]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied.  Counter after decrement: -1
MSI (c) (0C:C4) [20:46:27:470]: MainEngineThread is returning 1603
=== Verbose logging stopped: 3/28/2015  20:46:27 ===

Does anyone have any ideas why this is happening and most importantly, how to fix it.

System Info:
OS: Windows 8.1
Architecture: x64

I don't have any actual anti-virus. Just the default Windows Defender or whatever they call it now.

EDIT: When I analyzed msiexec.exe using Process Explorer, I found that it tries to access a registry key that does not exist: (click to enlarge) Process Explorer


Solution 1:

  1. Try msicuu to remove a broken MSI install attempt
  2. Go into services.msc and make sure the Windows Installer service is set to run "manual". If running, stop it. Or use sc.exe command to stop it.
  3. Instead of /QN try /qb! to see the progress, or just run the .msi package interactively. It might show more detail. Try something less complex like 7-zip.
  4. Check the Windows event logs (application and system logs) and search for events right around the date/time of the failures.

I hope this helps.

Solution 2:

msiexec.exe only allows one MSI to modify the system at a time. From your log file it looks like your installs are failing soon after grabbing the msiexec mutex lock:

MSI (s) (B8:30) [20:46:27:243]: Grabbed execution mutex.
MSI (s) (B8:7C) [20:46:27:270]: MainEngineThread is returning 1603

Check that the msiexec.exe process is not running in TaskManager before you run your installer.