Niemand da?
Hinzugefügter Post:
Habe nun dies gefunden, verstehe aber nur Bahnhof.
Was muss genau gemacht werden?
Bearbeiten der Rechte in der Registierungsdatenbank
Nicht nur die Einträge in der Windows-Registrierungsdatenbank, sondern auch die mit den Einträgen gekoppelten Rechte sind bedeutsam.
Eine Fehlermeldung wie: "Ein Ereignis konnte keinen Abonnenten aufrufen.", mit der Fehlernummer 0x80040201 beim Aufruf von "msiexec /regserver" oder die Fehlermeldung "Zugriff verweigert" mit der Fehlernummer 0x80070005 beim Versuch Software zu installieren können darauf hindeuten, dass die Zugriffsrechte auf die Registierungsdatenbank unzureichend gesetzt sind.
Zur Überprüfung können die Programme regedit und regmon eingesetzt werden. Zum Bearbeiten bzw. Korrigieren der Rechte kann neben regedit auch das SubInACL-Werkzeug eingesetzt werden.
Ein Beispiel:
Eine Software wie ein ServicePack oder Programmpaket kann nicht installiert werden. Das Logfile des Setups der Software oder ein PopUp-Fenster mit "Zugriff verweigert" deutet darauf hin, dass es am WindowsInstaller (MSI) liegt.
WindowsInstaller-KB893803-v2-x86.exe /passive /norestart /log:c:\msifile.log macht das Problem deutlich:
DoRegistryUpdates:UpdSpInstallFromInfSection Failed for MSI.Reg.Install: 0x5
Also kann der WindowsInstaller nicht korrekt in die Registry schreiben.
Abhilfe könnte das SubInACL tool schaffen.
Download das SubInACL tool von Microsoft. Installation mit der alten
MSI-Version: D:\dump\ms> msiexec /i subinacl.msi
In einem cmd tippe:
D:\dump\ms> cd /d "%ProgramFiles%\Windows Resource Kits\Tools"
C:\Programme\Windows Resource Kits\Tools> notepad reset.cmd
um im Install-Verzeichnis reset.cmd zu erzeugen mit folgendem Inhalt:
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=administrators=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=administrators=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=administrators=f
subinacl /subdirectories %SystemDrive% /grant=administrators=f
subinacl /subkeyreg HKEY_LOCAL_MACHINE /grant=system=f
subinacl /subkeyreg HKEY_CURRENT_USER /grant=system=f
subinacl /subkeyreg HKEY_CLASSES_ROOT /grant=system=f
subinacl /subdirectories %SystemDrive% /grant=system=f
Nach Speichern rufe dieses reset.cmd auf und warte einige Minuten Nach erfolgreichem Abschluss dieses cmd-batchjobs sind alle Rechte in der Windows-Registrierungsdatenbank (sowie auf dem System-Laufwerk) so, dass ein "Zugriff verweigert"-Fehler unwahrscheinlich ist, und eine Installation mit Erfolg abschließt.