Как восстановить msi.dll

Как восстановить msi.dll

Windows 8, ноутбук Acer Aspire M.

Файл C:\Windows\SysWOW64\msi.dllповрежден (просмотр в шестнадцатеричном редакторе, первые 0x4000 байт равны нулю). Вероятно, это произошло из-за ошибки жесткого диска. Этот поврежденный файл не позволяет запуститься другим программам, например MS Outlook.

Как восстановить рабочую версию этого файла?

Running sfc /scannowзамечает проблему, но сообщает, что не может ее исправить; CBS.logфайл показывает:

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

Однако если я запускаю sfc /scanfile=c:\windows\syswow64\msi.dll(или фактически указываю любое имя файла, даже несуществующего) из-под повышенных привилегий cmd, сообщение об ошибке немедленно появляется в окне консоли:

Windows Resource Protection could not perform the requested operation.

и затем следует 5-секундная пауза, прежде чем появится командная строка.

Как предлагалось на разных сайтах, я проверил, что "Windows Modules Installer" находится в состоянии "Ручной" и "Работает" в Службах, и это так. Я попытался остановить и перезапустить эту службу, но она так и не остановилась (она просто оставалась в состоянии "Остановка" до следующей перезагрузки).

Если я загружаюсь в командную строку консоли восстановления и пытаюсь выполнить sfcкоманду, выдается ошибка, что это невозможно сделать, поскольку ожидается сканирование (извините, я не записал точное сообщение об ошибке).

Я опасаюсь выполнять восстановление системы, поскольку это может также откатить другие изменения. Я бы предпочел найти способ исправить только один файл (и несколько других файлов, упомянутых в CBS.log), а не прибегать к столь радикальному шагу.


Обновление: Как и было предложено в комментарии, я msi.dllраспаковал KB2918614 wow64_microsoft-windows-installer-engine_31bf3856ad364e35_6.3.9600.17198_none_fe869f30bbe12810.

Однако копирование этого файла в C:\Windows\SysWOW64\msi.dll приводит к ошибке «Вам требуется разрешение от TrustedInstaller».

Копирование файла C:\Windows\WinSxS\wow64_microsoft-windows-installer-engine_31bf3856ad364e35_6.3.9600.17198_none_fe869f30bbe12810\msi.dllпосле получения права собственности, как описаноздесьпроходит успешно, однако это не приводит к обновлению версии в SysWOW64 (и поэтому MS Outlook, который считывает версию в SysWOW64, по-прежнему не запускается, сообщая, что msi.dll поврежден).

Как успешно обновить версию SysWOW64 с помощью нового файла?

Связанный контент