1

Windows 8, Acer Aspire M laptop.

The file C:\Windows\SysWOW64\msi.dll has become corrupted (viewing with a hex editor, the first 0x4000 bytes are zero). This is probably due to a hard drive error. This corrupt file prevents various other programs from running, e.g. MS Outlook.

How do I restore a working version of this file?

Running sfc /scannow does notice the problem but says it couldn't fix it; the CBS.log file shows:

2014-09-01 20:51:48, Info                  CSI    000005fb Hashes for file member \SystemRoot\WinSxS\wow64_microsoft-windows-installer-engine_31bf3856ad364e35_6.3.9600.17198_none_fe869f30bbe12810\msi.dll do not match actual file [l:14{7}]"msi.dll" :
    Found: {l:32 b:KJdGPdPAioESHNMhDPmtJmU3JUt41bgkewkNvS9O41w=} Expected: {l:32 b:eC+L/SyQlvUf0W5fDBePZ46JrV54jXjWmUYbms9v8rA=}
2014-09-01 20:51:48, Info                  CSI    000005fc [SR] Cannot repair member file [l:14{7}]"msi.dll" of Microsoft-Windows-Installer-Engine, Version = 6.3.9600.17198, pA = PROCESSOR_ARCHITECTURE_IA32_ON_WIN64 (10), Culture neutral, VersionScope = 1 nonSxS, PublicKeyToken = {l:8 b:31bf3856ad364e35}, Type neutral, TypeName neutral, PublicKey neutral in the store, hash mismatch

However if I run sfc /scanfile=c:\windows\syswow64\msi.dll (or in fact specify any filename, even a file that doesn't exist) from an elevated cmd, the error message appears immediately in the console window:

Windows Resource Protection could not perform the requested operation.

and then there is a 5-second pause before the command prompt appears.

As suggested on various websites, I checked that "Windows Modules Installer" is "Manual" and "Running" in the Services, and it is. I tried to stop and restart this service , but it never Stopped (it just stayed in the state "Stopping" until my next reboot).

If I boot into recovery console command prompt and try sfc it gives an error that it cannot do this because a scan is pending (sorry, I didn't write down the exact error message).

I am wary of doing a System Restore as it may also roll back other changes, I'd prefer to find a way just to fix the one file (and the handful of other files mentioned in the CBS.log) rather than take that drastic step.


Update: As suggested in a comment I have unpacked msi.dll from KB2918614 wow64_microsoft-windows-installer-engine_31bf3856ad364e35_6.3.9600.17198_none_fe869f30bbe12810.

However, copying that file over C:\Windows\SysWOW64\msi.dll gives an error "You require permission from TrustedInstaller".

Copying the file into C:\Windows\WinSxS\wow64_microsoft-windows-installer-engine_31bf3856ad364e35_6.3.9600.17198_none_fe869f30bbe12810\msi.dll after taking ownership as described here succeeds, however that does not cause the version in SysWOW64 to update (and so MS Outlook, which reads the version in SysWOW64, still fails to run saying that msi.dll is corrupted).

How do I successfully get the SysWOW64 version updated with the new file?

M.M
  • 522
  • 5
  • 19
  • The `msi.dll` file version `6.3.9600.17198` is included with the [KB2918614](http://support.microsoft.com/kb/2918614/en-us) security update released on August 12, 2014. Here's a related/possible duplicate question: [How to Repair Corrupt System Files from a Installation Disc](http://superuser.com/q/718805/289138). Still, before proceeding, **make sure you have a backup of any important data**. Also, check the disk health using the official diagnostic tool provided by the disk manufacturer. To check whether the file system is okay, run `chkdsk %systemdrive% /r` from and elevated command prompt. – and31415 Sep 01 '14 at 11:20
  • If I try to install KB2916814 it says it's already installed. If I try to uninstall it , it says that it failed to uninstall. I will try the Manual Repair process on the linked thread. – M.M Sep 01 '14 at 11:42
  • @and31415 I have obtained the right version of msi.dll now but cannot figure out how to install it, see my post update – M.M Sep 01 '14 at 12:07
  • @and31415 I copied the file into SysWOW64 by using reboot to command prompt... problem all fixed now, thanks for your assistance. I will write up an answer detailing what I did. – M.M Sep 01 '14 at 12:30
  • run **DISM** to repair corrupted files: http://blogs.technet.com/b/joscon/archive/2012/09/26/fixing-component-store-corruption-in-windows-8-and-windows-server-2012.aspx – magicandre1981 Sep 01 '14 at 15:58
  • possible duplicate of [Windows cant repair even with sfc /scannow](http://superuser.com/questions/755680/windows-cant-repair-even-with-sfc-scannow) – magicandre1981 Sep 01 '14 at 16:00
  • @magicandre1981 my error message from SFC is different to that one. I didn't try DISM but seeing as the problem was not that it could not find the fixed file, but that SFC could not actually access the service it uses to apply the repair. – M.M Sep 01 '14 at 22:02

0 Answers0