Oder auch: Was zur Hölle – Fehler 0xc1900101-0x30018

Ich habe nun ungefähr 3 Tage lang damit verbracht, mein Lenovo ThinkPad von Windows 10 1903 nach 2004 zu migrieren. Leider kam die Installation nach dem zweiten Reboot nicht über die 60% hinaus und führte dann jedesmal ein Rollback der alten Version aus.
Der Fehlercode, den ich dann als Grund für’s Scheitern bekam, ist leider ziemlich vielfältig und kann alles Mögliche sein – von veralteten Treibern, inkompatibler Software, bis hin zu Hardwareproblemen oder zu altem Bios. Also habe ich mich drangemacht, den Bösewicht einzugrenzen, indem ich die Schritte aus dieser netten Aufzählung durchgegangen bin.

Doch leider…

…führten diese Dinge noch nicht zum Erfolg, obwohl es sicher eine gute Sache war, mal sein System mit aktuellen Treibern und BIOS zu versorgen und etwas aufzuräumen.
Die Ursache war viel banaler. Die Betriebssystem-Historie auf meinem Rechner hat schon einige Jahre auf dem Buckel, ich hatte mich immer gescheut, eine Neuinstallation zu machen. So habe ich mich seit Windows 7 immer mit Inplace-Upgrades zur nächsten Version gerettet.
Aber was war jetzt das Problem? Die Migration legt ja auch immer recht aussagekräftige Logfiles an. Also schaute ich dort mal genauer rein.

Jäger der verlorenen Logfiles

Unter C:\$Windows.~BT\Sources\Rollback gibt es dabei zwei relevante: Setupact.log und Setuperr.log. Auch unter C:\$Windows.~BT\Sources\Panther mit gleichem Namen und wenn es konkret der Fehlercode 0xC1900101-0x30018 ist, der einem zu schaffen macht, dann ist auch noch das C:\Windows.~bt\Sources\Rollback\setupapi\setupapi.dev.log relevant.

In der Setuperr.log fand ich ziemlich weit unten den Grund, weswegen das Rollback durchgeführt wurde –

DDSet_Error: CConfigEntry::RefreshConfigFile could not load _spConfigDoc path=C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\config\WSFAAE6.tmp isSuccessful=0 Error code: 0x1
DDSet_Error: CFxInstaller::SetupExtensions extensionElement.Initialize failed.  cswMachineConfigPath=C:\WINDOWS\Microsoft.NET\Framewo[gle=0x80004005]
2020-08-xx 14:44:51, Error                 CSI    rk64\v2.0.50727\config\WSFAAE6.tmp. Error code: 0x80004005
DDSet_Error: CFxInstaller::SetupBaseComponents SetupExtensions failed. Error code: 0x80004005
DDSet_Error: Setup failed. Error code: 0x80004005

Ich schaute danach mal in die Systemsteuerung -> Programme und Features und lies mir die installierten Features anzeigen. Dort deaktivierte ich alle .NET-Komponenten (2.0 und 4.0); keine Ahnung, wofür ich die mal benötigt hatte.

Ein anschließender Neuversuch des Updates von einer gemounteten .ISO war dann erfolgreich – heureka!
Es ist also sinnvoll, vor einem Upgrade einmal die installierten Features durchzugehen und zu schauen, welche wirklich noch sinnvoll sind. Alle anderen sollte man deinstallieren und damit die Fehlerquellen verringern.