Como reparar msi.dll

0

Windows 8, laptop Acer Aspire M.

O arquivo C:\Windows\SysWOW64\msi.dll foi corrompido (visualizando com um editor hexadecimal, os primeiros 0x4000 bytes são zero). Isto é provavelmente devido a um erro no disco rígido. Este arquivo corrompido impede a execução de vários outros programas, por exemplo, MS Outlook.

Como restauro uma versão funcional deste arquivo?

A execução de sfc /scannow percebe o problema, mas diz que não foi possível corrigi-lo; o arquivo CBS.log mostra:

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

No entanto, se eu executar sfc /scanfile=c:\windows\syswow64\msi.dll (ou, de fato, especificar qualquer nome de arquivo, mesmo um arquivo que não exista) de um cmd elevado, a mensagem de erro será exibida imediatamente na janela do console:

Windows Resource Protection could not perform the requested operation.

e depois há uma pausa de 5 segundos antes do prompt de comando aparecer.

Como sugerido em vários sites, verifiquei que "Windows Modules Installer" é "Manual" e "Running" nos Serviços, e é. Eu tentei parar e reiniciar este serviço, mas nunca parou (ele só ficou no estado "Parando" até a próxima reinicialização).

Se eu inicializo no prompt de comando do console de recuperação e tento sfc , ocorre um erro de que ele não pode fazer isso porque uma varredura está pendente (desculpe, não gravei a mensagem de erro exata).

Eu tenho receio de fazer uma Restauração do Sistema, pois ela também pode reverter outras alterações. Eu preferiria encontrar uma maneira de corrigir apenas um arquivo (e um punhado de outros arquivos mencionados no CBS.log) em vez de dê esse passo drástico.

Atualização: conforme sugerido em um comentário, descompactei msi.dll de KB2918614 wow64_microsoft-windows-installer-engine_31bf3856ad364e35_6.3.9600.17198_none_fe869f30bbe12810 .

No entanto, copiar esse arquivo em C: \ Windows \ SysWOW64 \ msi.dll fornece um erro "Você requer permissão do TrustedInstaller".

Copiando o arquivo em C:\Windows\WinSxS\wow64_microsoft-windows-installer-engine_31bf3856ad364e35_6.3.9600.17198_none_fe869f30bbe12810\msi.dll depois de assumir a propriedade, conforme descrito aqui é bem-sucedido, mas isso não faz com que a versão do SysWOW64 seja atualizada (e, portanto, o MS Outlook, que lê a versão no SysWOW64, ainda falha ao executar dizendo que o msi.dll está corrompido).

Como obtenho com sucesso a versão do SysWOW64 atualizada com o novo arquivo?

    
por M.M 01.09.2014 / 13:06

0 respostas

Tags