Windows 8, Acer Aspire M-Laptop.
Die Datei C:\Windows\SysWOW64\msi.dll
ist 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 /scannow
wird das Problem zwar erkannt, es wird jedoch angezeigt, dass es nicht behoben werden konnte. In der CBS.log
Datei 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.dll
eine 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, sfc
wird 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.dll
ausgepackt 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.dll
nach Ü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?