We help IT Professionals succeed at work.

*.msi files giving "not valid win32 application" in XP Pro SP2

dgnc asked
About a week ago I had to reinstall windows XP pro sp2 from an original OEM Sp2 CD. The re-install went OK.

When I came to do updates it bombed out with a failure when trying to update to Windows 3.1 installer.
Have possibly solved that problem as the version of msi.dll is 3.1 and windows udpate no longer tries to install it.

However no files with the .msi extension will install giving the *.msi is not a valid Win32 application.

Have tried to use a file to update the registry keys but that won't complete.

I need to install php and mysql on IIS5.1

Also all windows updates fail after the install of win installer 3.1 - 93 updates in total
Watch Question

Reboot the computer, the try to download and install Windows Installer on its own. You can get it here:


See if that allows updates to complete. You may have gotten a corrupt download of the installer.


Rebooted - downloaded new copy
Installed OK
Tried to install a *.msi
Failed - same message
Updates - all fail
Rebooted - tried *msi again same result
Applied dougnox fix - fails "Cannot import C:\&....\msi_assoc\msi1.reg : Not all data was successfully written to the registry. Some keys are open by the system or other processes"
Reboot - killed Kapersky and other optional processes - tried dougnox again - failed
Wow! Can you try the DougKnox fix from Safe Mode?
Hmm, download and open Process Explorer(http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx), press Ctrl+F, and check to see what process has any of these keys open:

Also, check out this recent topic:

and download and open Dial-a-fix (http://wiki.djlizard.net/Dial-a-fix#Mirrors.2Fdownload_locations.2C_and_articles), check "Fix Windows Installer:", and click "GO". Also, have you tried installing it in safe mode?
Search for those keys in Process Explorer without the brackets.

This error usually means that some file is damaged.

Try running from command line msiexec.exe. It should show a window with parameters.

If not, then run sfc /scannow.

If yes, then find some other msi file and try to install. If that one is ok, then the problem is in your msi file.

also, disable kasperski.


I have now been able to do all the updates but still I get the message when I double click on a *.msi
process Explorer doesn't return any processes when the searches are tried
Dial-a-ficx seemed t get the updates working

Have tried associating the file using
C:\>assoc .msi

C:\>assoc .msi=Msi.Package
Error occurred while processing: .msi.

Have you checked to see what process has those keys open? Also, have you tried in safe mode?


No processes had the key open
Have tried it in safe mode - same result


I am off to bed now - back in about 6-7 hours

Thanks for your help so far
Download and open IceSword (http://antirootkit.com/software/IceSword.htm), expand the "Registry" section, and delete those keys. Then, try reinstalling MSI or adding the .msi registry .reg file to the registry.


orangutan - have done the icesword suggestions - no change.

Clicking a *.msi is still giving the "not a valid Win32 Application" message

Also prevxCSI does not throw up any problems.

I also note that in Kapersky Internet Security 6.0 that
Mail Anti-virus
Anti Spam
All have a status of "failure" with the warning "Some protection components failed to laod"
Were you able to delete the keys successfully? Also, have you checked your event viewer for anything that may help to narrow down the problem?


I was able to successfully delete the keys and restore them.

The only 'events' I can find that could be associated with it has the following message
Event Type:      Error
Event Source:      W3SVC
Event Category:      None
Event ID:      14
Date:            27/01/2008
Time:            16:47:06
User:            N/A
Computer:      DAVID
The HTTP Filter DLL C:\PHP\php5ts.dll failed to load.  The data is the error.
For additional information specific to this message please visit the Microsoft Online Support site located at: http://www.microsoft.com/contentredirect.asp.

For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
0000: 7e 00 00 00
but I don't think that is pertinent
Have you tried to manually reinstall the Windows Installer and run a .msi file in safe mode? Also, send us your HijackThis (http://www.trendsecure.com/portal/en-US/threat_analytics/hijackthis.php) log.


Have done a manual install of windows installer and that what allowed me to do the 90 odd windows updates from the SP2 CD to date.

Same message when trying an msi in safe mode

I ran a full system scan using kapersky earlier on today and it flag up a trojan
win32.Delf.dzr but I can't find out what it does apart from being a downloader.

Attached is hijackthis.log
Well, maybe it could be a virus problem. Scan with SUPERAntiSpyware (http://www.superantispyware.com/downloadfile.html?productid=SUPERANTISPYWAREFREE). Also, sometimes the antivirus program itself can cause the problem. Try disabling any security software and then try again.


Scanned with SuperAntiSpyware and the only think found was an ad tracking cookie.

Turned of security products and tries to rum *.msi - usual error message
Well, if it's not too much of a hassle, try completely uninstalling all security software and then trying everything over again.
I'm pretty sure that the only cure to this problem is in running repair installation from the installation disk, and preferably, another disk rather than your OEM. According to Microsoft, big amount of mysterious system crashes are traditionally caused by bad media. "Not valid system image" is sure sign of physically damaged file, and cleaning the registry is akin to trying to treat bad tooth on someone in coma from car accident. Also it should be mentioned that the very first question should be whether Installer itself is damaged or not, which can be easily achieved by running msiexec.exe alone, and checking the signature of msiexec.exe and msi.dll. Until this is checked, I wouldn't even think about touching the registry.