powerkeks
Goto Top

NET 4.8 Installation scheitert auf Server 2016

Hallo, ich habe einen Server 2016 Essentials auf Blech zu laufen. Der update Stand ist aktuell. Das Gerät läuft bis dato unauffällig. Nun sollte am Freitag eine Client-Serveranwendung aktualisiert werden die dotNet 4.8 voraussetzt. Die alte Version läuft auf dem Server mit dotNet 4.7.2.
Die Installation von dotNet 4.8 bricht mit der Fehlermeldung „.NET Framework 4.8 wurde aus folgendem Grund nicht installiert: Der Komponentenspeicher wurde beschädigt.“ ab.

Im Log steht dann:
OS Version = 10.0.14393, SP = 0.0, Platform 2
OS Description = Future OS - x64
MSI = 5.0.14393.4169
Windows servicing = 10.0.14393.0
CommandLine = D:\1e1877533bcee4a623e6aa06dfe1ec\\Setup.exe /x86 /x64 /redist
TimeZone = Mitteleuropäische Zeit
Initial LCID = 1031
Using Simultaneous Download and Install mechanism
Operation: Installing
Package Name = Microsoft .NET Framework 4.8 Setup
Package Version = 4.8.03928
User Experience Data Collection Policy: Disabled
Number of applicable items: 6
Exe (D:\1e1877533bcee4a623e6aa06dfe1ec\SetupUtility.exe) succeeded.
Exe (D:\1e1877533bcee4a623e6aa06dfe1ec\SetupUtility.exe) succeeded.
Exe (D:\1e1877533bcee4a623e6aa06dfe1ec\x64-Windows10.0-KB4486129-x64.cab) failed with 0x3712 - Der Komponentenspeicher wurde beschädigt. .
Exe Log File: CBS.log
Final Result: Installation failed with error code: (0x00003712), "Der Komponentenspeicher wurde beschädigt. " (Elapsed time: 0 00:02:02).

sfc /scannow bricht ab mit
Überprüfung 80 % abgeschlossen.
Vom Windows-Ressourcenschutz wurden beschädigte Dateien gefunden, und
einige davon konnten nicht repariert werden.

Dism /Online /Cleanup-Image /RestoreHealth
Erzeugt die Fehlermeldung 0x800f081f
Auch das bereitstellen eines Installationsdatenträgers bzw. das Mounten der install.wim ändert nichts an der Fehlermeldung.

Mir sind jetzt die Lösungsansätze ausgegangen.
Wie bekomme ich den Komponentenspeicher wieder bereinigt?
Wer kann weiterhelfen?
Danke - Gruss Christian Diem

PS: Wie kann ich die Logs (CBS.LOG & DISM.LOG) hier hochladen?

Content-ID: 644610

Url: https://administrator.de/contentid/644610

Ausgedruckt am: 25.11.2024 um 00:11 Uhr

schicksal
schicksal 25.01.2021 um 16:04:06 Uhr
Goto Top
sfc /scannow bricht ab mit
Überprüfung 80 % abgeschlossen.
Vom Windows-Ressourcenschutz wurden beschädigte Dateien gefunden, und
einige davon konnten nicht repariert werden.

mmm wenn das nicht geht dann Check mal deine Festplatten bzw. Schau mal ob du im Eventlog was mit "Disk" oder NTFS findest.
Auch ein CHKDSK wäre mal ein dringender Ansatz.
powerkeks
powerkeks 25.01.2021 um 16:13:01 Uhr
Goto Top
CHKDSK hat keine Fehler festgestellt. Hatte ich schon überprüft.
beidermachtvongreyscull
beidermachtvongreyscull 25.01.2021 aktualisiert um 16:17:37 Uhr
Goto Top
Mahlzeit!

Aus einem anderen Forum eine vielleicht brauch- und anwendbare Idee (für Server 2012):

Die Datei COMPONENTS im Verzeichnis c:/windows/system32/config war beschädigt.

Diese wurde gelöscht.

Ich habe die Datei COMPONENTS dann von einem anderen Windows 2012 Essential Server geholt und in dieses Verzeichnis eingespielt. Ich denke, wenn man eine aktuelle Datensicherung gehabt hätte wäre das damit auch gegangen, die Datei daraus zu holen.

- regedit
In der Registry Computer\HKEY_LOCAL_MASCHINE\COMPONENTS die Struktur COMPONENTS gelöscht.

- CMD als Admin gestartet

- sfc /scannow
Dadurch wurde der COMPONENTS Eintrag in der Registry wieder aufgebaut.

und

- zweites CMD als Admin gestartet

- Dism /Online /Cleanup-Image /ScanHealth

wurden gleichzeitig ausgeführt

Danach konnte ein Update eingespielt werden, aber dann kam wieder der bekannte Fehler.

Server wurde noch einmal neugestartet
- shutdown /R /T 0

und dann

- CMD als Admin gestartet
- Dism /Online /Cleanup-Image /RestoreHealth
ausgeführt

Das ist leider mit Fehlern durchgelaufen.

- CMD als Admin gestartet
- net stop bits
- net stop wuauserv
- net stop trustedinstaller
- rd /q /s c:\windows\softwaredistribution\
- rd /q /s c:\windows\system32\catroot2

Den Server einmal neugestartet
- shutdown /R /T 0

Dann
net start trustedinstaller

Dann Windows Updates starten und „Nach Updates suchen"

Das dauert erst einmal sehr lange

OK, am Ende standen 188 Updates zur Verfügung.


Quelle: https://www.mcseboard.de/topic/207051-der-komponentenspeicher-wurde-besc ...
schicksal
schicksal 25.01.2021 um 16:33:14 Uhr
Goto Top
Weiteres was mir einfällt:
Installierst du das Framework mit einem Offline oder Online Paket.
Wenn würde ich auch mal das Offline Paket probieren.

Weiters was ist derzeit der Updatestand vom Server.
Ist dieser aktuell oder werden Updates geblockt?
powerkeks
powerkeks 25.01.2021 um 16:53:45 Uhr
Goto Top
Update stand ist aktuell, es wird nichts geblockt.
Online und Offline-Installation probiert, gleicher Fehler.
powerkeks
powerkeks 25.01.2021 um 16:57:34 Uhr
Goto Top
Hallo beidermachtvongreyscull

Danke für den Link, die Idee den Komponentenspeicher neu aufzubauen hatte ich auch schon.
Ich finde die Produkte welche angemeckert werden nicht in der Registry, bzw weis ich nicht wo ich suchen muss,
da es den Punkt Components ja nicht mehr gibt.
departure69
departure69 25.01.2021 aktualisiert um 17:28:26 Uhr
Goto Top
@powerkeks:

Hhmm, da hast Du aber schon einiges durch.

Eins fällt mir noch ein, das ist aber leider nicht die mildeste, sondern zweithärteste Maßnahme:

Betriebssystem-Inplace-Upgrade auf die gleiche Serverversion, also von 2016 Ess. nach 2016 Ess.!

Normalerweise bleibt alles erhalten (das ist auswählbar, ähnlich wie bei W10), aber Systemfehler werden geradegerückt/repariert.

Mach' vorher direkt ein Backup und probier's mal.

Die härteste Maßnahme wäre natürlich, komplett neu zu installieren und alles wieder neu einzurichten - Alptraum!

Viele Grüße

von

departure69
beidermachtvongreyscull
beidermachtvongreyscull 25.01.2021 um 17:48:41 Uhr
Goto Top
Den gibt es schon, nur der ist in 2016 umgezogen.

Schau mal dort nach:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages

Diese Struktur ist (sollte!) komplementär zum berühmten C:\Windows\WinSxS sein.
Wenn Du in der CBS.log das defekte Paket finden kannst, so muss es im Ordner und in der Registry drin sein.

Ich kann bei der Arbeit an beidem nur zur Vorsicht raten. Ein Server kann hier leicht geschrottet werden!!

Wenn der Komponentenspeicher defekt ist, so liegt das höchst wahrscheinlich an einem der beiden oben erwähnten Punkte. Zumindest kann sich dort die Ursache drin verstecken.

Ich habe das einmal händisch auf die Reihe gebracht und danach nicht nochmal machen wollen.
powerkeks
powerkeks 25.01.2021 um 18:11:02 Uhr
Goto Top
Hallo departure69

ist in der Tat eine letzten möglichkeiten die ich machen möchte, da da einiges dran hängt.

Vieleicht hat ja jemand noch DEN tip.
chgorges
chgorges 25.01.2021 um 20:11:34 Uhr
Goto Top
Moin,
wenn sfc /scannow und dism im Livebetrieb abbrechen, dann aus der WinRE heraus machen. Passiert nicht selten, dass was in Benutzung ist und dann nicht repariert werden kann.

VG
powerkeks
powerkeks 25.01.2021 um 20:12:55 Uhr
Goto Top
Ich dachte schon ich hätte es gefunden.

Das ist die Fehlermeldung aus dem CBS.LOG

2021-01-25 19:58:09, Info CSI 0000c1a3 [SR] Cannot repair member file [l:41]'System.Windows.Presentation.resources.dll' of System.Windows.Presentation.resources, version 4.0.15552.17062, arch msil, culture [l:5]'de-de', versionScope neutral, pkt {l:8 b:b77a5c561934e089} in the store, file is missing
2021-01-25 19:58:09, Info CSI 0000c1a4 [SR] This component was referenced by [l:79]'Package_2_for_KB4054596~31bf3856ad364e35~amd64~~10.0.1.2053.4054596-330_neutral'
2021-01-25 19:58:09, Error CSI 0000c1a5 (F) STATUS_OBJECT_NAME_NOT_FOUND #24248000# from Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysCreateFile(flags = (AllowSharingViolation), handle = {provider=NULL, handle=0, name= ("null")}, da = (SYNCHRONIZE|FILE_READ_ATTRIBUTES), oa = @0xa900f7afc0->OBJECT_ATTRIBUTES {s:48; rd:NULL; on:[120]'\??\C:\Windows\WinSxS\msil_system.windows.presentation.resources_b77a5c561934e089_4.0.15552.17062_de-de_8fba2e4546e413f1'; aface-sadOBJ_CASE_INSENSITIVE)}, iosb = @0xa900f7afa0, as = (null), fa = 0, sa = (FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE), cd = FILE_OPEN, co = (FILE_SYNCHRONOUS_IO_NONALERT|0x00004000), eab = NULL, eal = 0, disp = Invalid)
[gle=0xd0000034]
2021-01-25 19:58:09, Error CSI 0000c1a6@2021/1/25:18:58:09.963 (F) onecore\base\wcp\sil\merged\ntu\ntsystem.cpp(2898): Error STATUS_OBJECT_NAME_NOT_FOUND originated in function Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysCreateFile expression: (null)
[gle=0x80004005]
2021-01-25 19:58:09, Info CBS Added C:\Windows\Logs\CBS\CBS.log to WER report.
2021-01-25 19:58:09, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20210124221633.log to WER report.
2021-01-25 19:58:09, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20210124113037.log to WER report.
2021-01-25 19:58:09, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20210123145049.log to WER report.
2021-01-25 19:58:09, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20210121230328.log to WER report.
2021-01-25 19:58:09, Info CBS Added C:\Windows\Logs\CBS\CbsPersist_20210121204459.log to WER report.
2021-01-25 19:58:09, Info CBS Could not get active session for current session file logging [HRESULT = 0x80004003 - E_POINTER]
2021-01-25 19:58:09, Info CBS Not able to add pending.xml to Windows Error Report. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2021-01-25 19:58:09, Info CBS Not able to add pending.xml.bad to Windows Error Report. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2021-01-25 19:58:09, Error CSI 0000c1a7 (F) STATUS_OBJECT_NAME_NOT_FOUND #24247999# from Windows::Rtl::SystemImplementation::CDirectory::OpenExistingDirectory(...)[gle=0xd0000034]
2021-01-25 19:58:09, Error CSI 0000c1a8 (F) STATUS_OBJECT_NAME_NOT_FOUND #24247998# from Windows::Rtl::SystemImplementation::CDirectory_IRtlDirectoryTearoff::OpenExistingDirectory(flags = 0, da = (SYNCHRONIZE), oa = @0xa900f7b9e0->SIL_OBJECT_ATTRIBUTES {s:40; on:"msil_system.windows.presentation.resources_b77a5c561934e089_4.0.15552.17062_de-de_8fba2e4546e413f1"; aface-sadOBJ_CASE_INSENSITIVE)}, sa = (FILE_SHARE_READ|FILE_SHARE_WRITE|FILE_SHARE_DELETE), oo = (FILE_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_NONALERT|FILE_OPEN_FOR_BACKUP_INTENT), dir = NULL, disp = Invalid)
[gle=0xd0000034]
2021-01-25 19:58:09, Error CSI 0000c1a9 (F) STATUS_OBJECT_NAME_NOT_FOUND #24247994# from CFileInstaller::DoComponentOperation(...)[gle=0xd0000034]
2021-01-25 19:58:09, Error CSI 0000c1aa (F) STATUS_OBJECT_NAME_NOT_FOUND #24247993# from PrimitiveInstaller::CCoordinator::RepairComponent(Component = System.Windows.Presentation.resources, version 4.0.15552.17062, arch msil, culture [l:5]'de-de', versionScope neutral, pkt {l:8 b:b77a5c561934e089})[gle=0xd0000034]

Dann habe ich mir das KB4054596 besorgt und mit
DISM.exe /Online /Add-Package /PackagePath:C:\service\cbs\KB4054596\x64-Windows10.0-KB4054596-x64.cab
eingefügt.

1 von 1 werden verarbeitet - Paket "Package_for_KB4054596~31bf3856ad364e35~amd64~~10.0.1.2053" wird hinzugefügt
[==========================100.0%==========================]
Der Vorgang wurde erfolgreich beendet.

soweit so gut!

Leider kommt immer noch die oben stehene Meldung im LOG.
Wer kann damit etwas anfangen?
beidermachtvongreyscull
beidermachtvongreyscull 25.01.2021 um 20:40:36 Uhr
Goto Top
Die Dateien pending.xml und pending.xml.bad stehen im SxS soweit ich das jetzt weiß.
Normalerweise werden die benutzt, um Updates, die mehrere Phasen haben nach dem Neustart zu triggern und fertigzustellen.

Entweder er kann sie nicht erstellen oder sie sind da und machen keinen Sinn.

Die Datei System.Windows.Presentation.resources.dll gehört zu einer .NET-Installation.

Mein Vorschlag wäre, die Mühle einmal durchstarten und dann im abgesicherten Modus das vorhandene .NET raus und wieder rein, nach Backup.

Ich habe den Verdacht, dass da der Hund begraben liegen könnte.
powerkeks
powerkeks 26.01.2021 um 07:37:22 Uhr
Goto Top
Nach einer langen Nacht geht es jetzt.
Neustart und sfc /scannow im Wiederherstellungsmodus hat nicht geholfen.
Er hat einfach die Datein nicht gefunden bzw. konnte sie nicht reparieren.

Also die Holzhammermethode angewendet.
Von einen anderen 2016er Server mit gleicher Anwendung drauf den Ordner WinSxS und die Registry verglichen und nachdem sicher war das die Dateien auch auf dem anderen Server nicht vorhanden waren, gelöscht.
Seit 7 Uhr ist dotNet 4.8 installiert!
Gleich noch ein paar Sicherheitsupdates hinterhergeschoben, klappt!

Danke an alle für die Denkansätze.

Gruß Christian und gute Nacht