So reparieren Sie msi.dll

So reparieren Sie msi.dll

Windows 8, Acer Aspire M-Laptop.

Die Datei C:\Windows\SysWOW64\msi.dllist beschädigt (beim Anzeigen mit einem Hex-Editor sind die ersten 0x4000 Bytes Null). Dies liegt wahrscheinlich an einem Festplattenfehler. Diese beschädigte Datei verhindert die Ausführung verschiedener anderer Programme, z. B. MS Outlook.

Wie stelle ich eine funktionierende Version dieser Datei wieder her?

Beim Ausführen sfc /scannowwird das Problem zwar erkannt, es wird jedoch angezeigt, dass es nicht behoben werden konnte. In der CBS.logDatei wird Folgendes angezeigt:

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

Wenn ich jedoch sfc /scanfile=c:\windows\syswow64\msi.dlleine erhöhte Berechtigung ausführe (oder tatsächlich einen beliebigen Dateinamen angebe, sogar eine Datei, die nicht existiert) cmd, wird die folgende Fehlermeldung sofort im Konsolenfenster angezeigt:

Windows Resource Protection could not perform the requested operation.

und dann gibt es eine 5-sekündige Pause, bevor die Eingabeaufforderung erscheint.

Wie auf verschiedenen Websites vorgeschlagen, habe ich überprüft, ob „Windows Modules Installer“ in den Diensten auf „Manuell“ und „Wird ausgeführt“ eingestellt ist, und das stimmt. Ich habe versucht, diesen Dienst zu stoppen und neu zu starten, aber er wurde nie gestoppt (er blieb einfach im Status „Wird gestoppt“ bis zu meinem nächsten Neustart).

Wenn ich in die Eingabeaufforderung der Wiederherstellungskonsole boote und es versuche, sfcwird eine Fehlermeldung angezeigt, dass dies nicht möglich ist, da ein Scan aussteht (entschuldigen Sie, ich habe die genaue Fehlermeldung nicht aufgeschrieben).

Ich bin vorsichtig, wenn ich eine Systemwiederherstellung durchführe, da dadurch möglicherweise auch andere Änderungen rückgängig gemacht werden. Ich würde lieber einen Weg finden, nur diese eine Datei (und die Handvoll anderer Dateien, die in der Datei CBS.log erwähnt werden) zu reparieren, als diesen drastischen Schritt zu unternehmen.


Update: Wie in einem Kommentar vorgeschlagen, habe ich msi.dllausgepackt KB2918614 wow64_microsoft-windows-installer-engine_31bf3856ad364e35_6.3.9600.17198_none_fe869f30bbe12810.

Beim Kopieren dieser Datei über C:\Windows\SysWOW64\msi.dll tritt jedoch die Fehlermeldung „Sie benötigen die Berechtigung von TrustedInstaller“ auf.

Kopieren der Datei C:\Windows\WinSxS\wow64_microsoft-windows-installer-engine_31bf3856ad364e35_6.3.9600.17198_none_fe869f30bbe12810\msi.dllnach Übernahme des Eigentums wie beschriebenHierist erfolgreich, führt jedoch nicht dazu, dass die Version in SysWOW64 aktualisiert wird (und MS Outlook, das die Version in SysWOW64 liest, kann weiterhin nicht ausgeführt werden und gibt an, dass msi.dll beschädigt ist).

Wie aktualisiere ich die SysWOW64-Version erfolgreich mit der neuen Datei?

verwandte Informationen