Die Installation von Windows 11 ist fehlgeschlagen / Windows 11 Installation has failed
.
English version below
Ich hatte bei einem Kunden das Problem dass Windows 10 pro 22H2 sich durch ein Inplace-Upgrade nicht auf Windows 11 pro 25H2 aktualisieren lies und diese „super detaillierte und hilfreiche Fehlermeldung“ erschein
Folgendes hatte ich bereits ausgetestet was ich in Reddit gelesen habe, dies hat aber bei mir den Fehler nicht behoben von daher hier die Links nur zur Info:
https://www.reddit.com/r/Windows11/comments/18fllqq/windows_11_stuck_on_46_ive_tried_everything/?tl=de
https://www.reddit.com/r/SCCM/comments/15tutvf/comment/k0iz2em/
darunter waren folgende Tipps:
1) Deaktivieren des HD Audio Devices im Geräte-Manager — KEIN Erfolg
2) Deinstallieren des Virenscanners (hier ESET) — KEIN Erfolg
3) sfc /scannow — hat zwar einen Fehler gefunden trotzdem — KEIN Erfolg
4) Dism /Online /Cleanup-Image /RestoreHealth — KEIN Erfolg
Dann habe ich im Ordner in dem das Windows 11-Setup die Protokolle ablegt die Datei diagerr.xml gefunden und diese einfach mal durch die Google Gemini KI gejagt was zu folgender Antwort führte
Die Datei diagerr.xml wird nach einem fehlgeschlagenen Windows-Upgrade-Versuch typischerweise in den temporären Protokollordnern des Setups abgelegt.
Sie finden die Datei in folgendem Verzeichnis:
C:\$WINDOWS.~BT\Sources\Panther\
Hier eine kurze Erklärung zu den Ordnern:
C:\$WINDOWS.~BT\: Dies ist der temporäre Ordner, den Windows für die Speicherung der Installationsdateien und Protokolle während des Upgrades erstellt.Sources\Panther\: Dieser Unterordner enthält die wichtigsten Setup-Protokolldateien, einschließlich derdiagerr.xmlund der Hauptprotokolldateisetupact.log.
Das hier ist das komplette diagerr.xml Log-File / Complete diagerr.xml Log-File:
|
<xml xmlns:s=“uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882″ xmlns:dt=“uuid:C2F41010-65B3-11d1-A29F-00AA00C14882″ xmlns:rs=“urn:schemas-microsoft-com:rowset“ xmlns:z=“#RowsetSchema“> <s:Schema id=“RowsetSchema“> <s:ElementType name=“row“ content=“eltOnly“ rs:updatable=“true“> <s:AttributeType name=“Cls“ rs:number=“0″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Sev“ rs:number=“1″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Maj“ rs:number=“2″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Min“ rs:number=“3″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“LN“ rs:number=“4″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Fil“ rs:number=“5″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Fun“ rs:number=“6″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Uid“ rs:number=“7″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Msg“ rs:number=“8″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“PID“ rs:number=“9″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“TID“ rs:number=“10″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Con“ rs:number=“11″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Exe“ rs:number=“12″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Mod“ rs:number=“13″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Err“ rs:number=“14″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“MD“ rs:number=“15″> <s:datatype dt:type=“hexBinary“/> </s:AttributeType> <s:AttributeType name=“DT“ rs:number=“16″> <s:datatype dt:type=“dateTime“/> </s:AttributeType> </s:ElementType> </s:Schema> <rs:data> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“465″ Fil=““ Fun=“Windows::Compat::Appraiser::RegistryMarkerOutputter::InitializeIndicatorsToRemoveDuplicates“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::RegistryMarkerOutputter::InitializeIndicatorsToRemoveDuplicates (465): Failed to find list table of indicators to remove duplicates, swallowing: [0x80070490].“ PID=“3648″ TID=“4340″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147023728″ MD=““ DT=“2025-11-13T16:50:41″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“348″ Fil=““ Fun=“Windows::Compat::Appraiser::RegistryMarkerOutputter::Initialize“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::RegistryMarkerOutputter::Initialize (348): Failed to initialize indicators to remove duplicates, swallowing: [0x80070490].“ PID=“3648″ TID=“4340″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147023728″ MD=““ DT=“2025-11-13T16:50:41″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“465″ Fil=““ Fun=“Windows::Compat::Appraiser::RegistryMarkerOutputter::InitializeIndicatorsToRemoveDuplicates“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::RegistryMarkerOutputter::InitializeIndicatorsToRemoveDuplicates (465): Failed to find list table of indicators to remove duplicates, swallowing: [0x80070490].“ PID=“3648″ TID=“17124″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147023728″ MD=““ DT=“2025-11-13T16:50:46″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“348″ Fil=““ Fun=“Windows::Compat::Appraiser::RegistryMarkerOutputter::Initialize“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::RegistryMarkerOutputter::Initialize (348): Failed to initialize indicators to remove duplicates, swallowing: [0x80070490].“ PID=“3648″ TID=“17124″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147023728″ MD=““ DT=“2025-11-13T16:50:46″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“732″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset (732): Failed PicRetrieveFileInfo: [0x80004005].“ PID=“3648″ TID=“5480″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T16:51:11″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“634″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles (634): Failed to construct file asset [c]: [0x80004005]“ PID=“3648″ TID=“5480″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T16:51:11″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“732″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset (732): Failed PicRetrieveFileInfo: [0x80004005].“ PID=“3648″ TID=“5480″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T16:51:11″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“634″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles (634): Failed to construct file asset [c]: [0x80004005]“ PID=“3648″ TID=“5480″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T16:51:11″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“2312″ Fil=““ Fun=““ Uid=“34226176″ Msg=“Appraiser: ERROR,SdbpGetMatchingInfoBlocksInternal,2312,TAGREF array insufficient “ PID=“3648″ TID=“5896″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“0″ MD=““ DT=“2025-11-13T16:51:13″/> </rs:data> </xml> <xml xmlns:s=“uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882″ xmlns:dt=“uuid:C2F41010-65B3-11d1-A29F-00AA00C14882″ xmlns:rs=“urn:schemas-microsoft-com:rowset“ xmlns:z=“#RowsetSchema“> <s:Schema id=“RowsetSchema“> <s:ElementType name=“row“ content=“eltOnly“ rs:updatable=“true“> <s:AttributeType name=“Cls“ rs:number=“0″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Sev“ rs:number=“1″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Maj“ rs:number=“2″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Min“ rs:number=“3″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“LN“ rs:number=“4″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Fil“ rs:number=“5″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Fun“ rs:number=“6″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Uid“ rs:number=“7″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Msg“ rs:number=“8″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“PID“ rs:number=“9″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“TID“ rs:number=“10″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Con“ rs:number=“11″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Exe“ rs:number=“12″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Mod“ rs:number=“13″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Err“ rs:number=“14″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“MD“ rs:number=“15″> <s:datatype dt:type=“hexBinary“/> </s:AttributeType> <s:AttributeType name=“DT“ rs:number=“16″> <s:datatype dt:type=“dateTime“/> </s:AttributeType> </s:ElementType> </s:Schema> <rs:data> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“465″ Fil=““ Fun=“Windows::Compat::Appraiser::RegistryMarkerOutputter::InitializeIndicatorsToRemoveDuplicates“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::RegistryMarkerOutputter::InitializeIndicatorsToRemoveDuplicates (465): Failed to find list table of indicators to remove duplicates, swallowing: [0x80070490].“ PID=“8560″ TID=“804″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147023728″ MD=““ DT=“2025-11-13T17:04:12″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“348″ Fil=““ Fun=“Windows::Compat::Appraiser::RegistryMarkerOutputter::Initialize“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::RegistryMarkerOutputter::Initialize (348): Failed to initialize indicators to remove duplicates, swallowing: [0x80070490].“ PID=“8560″ TID=“804″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147023728″ MD=““ DT=“2025-11-13T17:04:12″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“732″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset (732): Failed PicRetrieveFileInfo: [0x80004005].“ PID=“8560″ TID=“5584″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T17:04:36″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“634″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles (634): Failed to construct file asset [c]: [0x80004005]“ PID=“8560″ TID=“5584″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T17:04:36″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“732″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset (732): Failed PicRetrieveFileInfo: [0x80004005].“ PID=“8560″ TID=“5584″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T17:04:36″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“634″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles (634): Failed to construct file asset [c]: [0x80004005]“ PID=“8560″ TID=“5584″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T17:04:36″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“2312″ Fil=““ Fun=““ Uid=“34226176″ Msg=“Appraiser: ERROR,SdbpGetMatchingInfoBlocksInternal,2312,TAGREF array insufficient “ PID=“8560″ TID=“13568″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“0″ MD=““ DT=“2025-11-13T17:04:38″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“1869″ Fil=““ Fun=“DU::CDUSession::Search“ Uid=“33882112″ Msg=“DU::CDUSession::Search: Failed to set WU internal configuration property for targeted scans. hr = 0x80070057″ PID=“8560″ TID=“1420″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“du.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:05:01″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“465″ Fil=““ Fun=“Windows::Compat::Appraiser::RegistryMarkerOutputter::InitializeIndicatorsToRemoveDuplicates“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::RegistryMarkerOutputter::InitializeIndicatorsToRemoveDuplicates (465): Failed to find list table of indicators to remove duplicates, swallowing: [0x80070490].“ PID=“8560″ TID=“14124″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147023728″ MD=““ DT=“2025-11-13T17:06:08″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“348″ Fil=““ Fun=“Windows::Compat::Appraiser::RegistryMarkerOutputter::Initialize“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::RegistryMarkerOutputter::Initialize (348): Failed to initialize indicators to remove duplicates, swallowing: [0x80070490].“ PID=“8560″ TID=“14124″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147023728″ MD=““ DT=“2025-11-13T17:06:08″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“732″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset (732): Failed PicRetrieveFileInfo: [0x80004005].“ PID=“8560″ TID=“6308″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T17:06:29″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“634″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles (634): Failed to construct file asset [c]: [0x80004005]“ PID=“8560″ TID=“6308″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T17:06:29″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“732″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::ConstructFileAsset (732): Failed PicRetrieveFileInfo: [0x80004005].“ PID=“8560″ TID=“6308″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T17:06:29″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“634″ Fil=““ Fun=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles“ Uid=“34226176″ Msg=“Windows::Compat::Appraiser::WicaApplicationInventory::AddAntiMalwareFiles (634): Failed to construct file asset [c]: [0x80004005]“ PID=“8560″ TID=“6308″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“-2147467259″ MD=““ DT=“2025-11-13T17:06:29″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“2312″ Fil=““ Fun=““ Uid=“34226176″ Msg=“Appraiser: ERROR,SdbpGetMatchingInfoBlocksInternal,2312,TAGREF array insufficient “ PID=“8560″ TID=“17388″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=““ Err=“0″ MD=““ DT=“2025-11-13T17:06:31″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“1000″ Fil=““ Fun=“Mig::COutOfProcPluginFactory::CreateInstanceInternal“ Uid=“34081023″ Msg=“ COutOfProcPluginFactory::CreateInstance: m_currentHostSurrogate->LoadDllServer(C:\$WINDOWS.~BT\Sources\ReplacementManifests\Microsoft-Windows-RasServer-MigPlugin\RasMigPlugin.dll, {D26AA4A5-92AD-48DB-8D59-95EF0DCE6939}, 1) failed, hr=[0x8007007f].“ PID=“8560″ TID=“16048″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“migcore.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:11:25″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“8559″ Fil=““ Fun=“Mig::CMXEXmlPlugin::CallPlugin_Discovery_Discover“ Uid=“34079623″ Msg=“ Failure while calling IDiscovery->Discover for Plugin={ServerPath="Microsoft-Windows-RasServer-MigPlugin\RasMigPlugin.dll", CLSID={D26AA4A5-92AD-48DB-8D59-95EF0DCE6939}, ThreadingModel=Apartment, ExceptionHandling=Default}. Error: 0x8007007F“ PID=“8560″ TID=“16048″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“migcore.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:11:25″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“2069″ Fil=““ Fun=“MigPlatformStartupOnline“ Uid=“33554432″ Msg=“ MigPlatformStartupOnline caught exception: Win32Exception: Duplicate profile detected for S-1-5-21-328979637-904797085-2580843701-1007. Abandoning.: Der angegebene Benutzer hat kein gültiges Profil. [0x000004E5] class Mig::CUserContext *__cdecl Mig::COnlineWinNTPlatform::AddUserContext(class Mig::CRegistryDataStore *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::Array<class UnBCL::String *> *,int,struct _FILETIME,int,int,int,class UnBCL::String *,class UnBCL::String *)“ PID=“8560″ TID=“16048″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“migcore.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:11:39″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“7336″ Fil=““ Fun=“pSPDoMainGather“ Uid=“34373632″ Msg=“ pSPDoMainGather: Engine initialization failed with error: 0x00000004″ PID=“8560″ TID=“16048″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:11:39″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“5007″ Fil=““ Fun=“CGatherData::DoExecute“ Uid=“34373632″ Msg=“ CGatherData: Migration phase failed. Status: 4″ PID=“8560″ TID=“16048″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:11:39″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“5252″ Fil=““ Fun=“COperationQueue::ExecuteOperationsInternal“ Uid=“34373632″ Msg=“Operation failed: Gather data, scope: EVERYTHING. Error: 0x8007001F“ PID=“8560″ TID=“16048″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“183″ MD=““ DT=“2025-11-13T17:11:39″/> </rs:data> </xml> <xml xmlns:s=“uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882″ xmlns:dt=“uuid:C2F41010-65B3-11d1-A29F-00AA00C14882″ xmlns:rs=“urn:schemas-microsoft-com:rowset“ xmlns:z=“#RowsetSchema“> <s:Schema id=“RowsetSchema“> <s:ElementType name=“row“ content=“eltOnly“ rs:updatable=“true“> <s:AttributeType name=“Cls“ rs:number=“0″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Sev“ rs:number=“1″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Maj“ rs:number=“2″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Min“ rs:number=“3″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“LN“ rs:number=“4″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Fil“ rs:number=“5″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Fun“ rs:number=“6″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Uid“ rs:number=“7″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Msg“ rs:number=“8″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“PID“ rs:number=“9″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“TID“ rs:number=“10″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“Con“ rs:number=“11″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Exe“ rs:number=“12″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Mod“ rs:number=“13″> <s:datatype dt:type=“string“/> </s:AttributeType> <s:AttributeType name=“Err“ rs:number=“14″> <s:datatype dt:type=“int“/> </s:AttributeType> <s:AttributeType name=“MD“ rs:number=“15″> <s:datatype dt:type=“hexBinary“/> </s:AttributeType> <s:AttributeType name=“DT“ rs:number=“16″> <s:datatype dt:type=“dateTime“/> </s:AttributeType> </s:ElementType> </s:Schema> <rs:data> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“746″ Fil=““ Fun=“InitDownlevelOCMode“ Uid=“33554432″ Msg=“ InitDownlevelOCMode caught exception: Win32Exception: Duplicate profile detected for S-1-5-21-328979637-904797085-2580843701-1007. Abandoning.: Der angegebene Benutzer hat kein gültiges Profil. [0x000004E5] class Mig::CUserContext *__cdecl Mig::COnlineWinNTPlatform::AddUserContext(class Mig::CRegistryDataStore *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::Array<class UnBCL::String *> *,int,struct _FILETIME,int,int,int,class UnBCL::String *,class UnBCL::String *)“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“migcore.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:48:20″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“197″ Fil=““ Fun=“OC::OCSaveStatusOnline“ Uid=“34078720″ Msg=“ OC Exception: OC::CDownlevelOCStore::CDownlevelOCStore: Engine's InitDownlevelOCMode failed.“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:48:20″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“201″ Fil=““ Fun=“COCValidator::ValidatePhase“ Uid=“34373632″ Msg=“ OC Validator: Failed to gather OC status. Errors are not ignored“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:48:20″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“2069″ Fil=““ Fun=“MigPlatformStartupOnline“ Uid=“33554432″ Msg=“ MigPlatformStartupOnline caught exception: Win32Exception: Duplicate profile detected for S-1-5-21-328979637-904797085-2580843701-1007. Abandoning.: Der angegebene Benutzer hat kein gültiges Profil. [0x000004E5] class Mig::CUserContext *__cdecl Mig::COnlineWinNTPlatform::AddUserContext(class Mig::CRegistryDataStore *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::String *,class UnBCL::Array<class UnBCL::String *> *,int,struct _FILETIME,int,int,int,class UnBCL::String *,class UnBCL::String *)“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“migcore.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“7336″ Fil=““ Fun=“pSPDoMainGather“ Uid=“34373632″ Msg=“ pSPDoMainGather: Engine initialization failed with error: 0x00000004″ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“5007″ Fil=““ Fun=“CGatherData::DoExecute“ Uid=“34373632″ Msg=“ CGatherData: Migration phase failed. Status: 4″ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“5252″ Fil=““ Fun=“COperationQueue::ExecuteOperationsInternal“ Uid=“34373632″ Msg=“Operation failed: Gather data, scope: EVERYTHING. Error: 0x8007001F“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“183″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“4086″ Fil=““ Fun=“COperationQueue::Sort“ Uid=“34373632″ Msg=“COperationQueue::Sort: Could not find an execution phase for 62″ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“2″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“4834″ Fil=““ Fun=“COperationQueue::ExecuteOperationsInternal“ Uid=“34373632″ Msg=“ExecuteOperations: Operations cannot be sorted. This is a fatal failure.“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“2″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“5711″ Fil=““ Fun=“COperationQueue::ExecuteOperations“ Uid=“34373632″ Msg=“ExecuteOperations: Main operation execution failed. Error: 0x8007000D“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“5732″ Fil=““ Fun=“COperationQueue::ExecuteOperations“ Uid=“34373632″ Msg=“ExecuteOperations: Failed execution phase Finalize. Error: 0x8007000D“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupPlatform.dll“ Err=“0″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“MoSetupPlatform: Finalize reported failure!“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“13″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“MoSetupPlatform: Using action error code: [0x8007001F]“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“13″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CDlpActionFinalize::ExecuteSetupPlatformFinalize(1359): Result = 0x8007001F“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“13″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CDlpActionFinalize::ExecuteRoutine(567): Result = 0x8007001F“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“13″ MD=““ DT=“2025-11-13T17:49:02″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CDlpActionImpl<class CDlpErrorImpl<class CDlpObjectInternalImpl<class CUnknownImpl<class IMoSetupDlpAction> > > >::Execute(503): Result = 0x8007001F“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“0″ MD=““ DT=“2025-11-13T17:49:03″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CDlpTask::ExecuteAction(3334): Result = 0x8007001F“ PID=“5032″ TID=“5380″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“0″ MD=““ DT=“2025-11-13T17:49:03″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CDlpTask::ExecuteActions(3487): Result = 0x8007001F“ PID=“5032″ TID=“1940″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“0″ MD=““ DT=“2025-11-13T17:49:03″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CDlpTask::Execute(1643): Result = 0x8007001F“ PID=“5032″ TID=“1940″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“0″ MD=““ DT=“2025-11-13T17:49:03″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CSetupManager::ExecuteTask(3267): Result = 0x8007001F“ PID=“5032″ TID=“1940″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“0″ MD=““ DT=“2025-11-13T17:49:03″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CSetupManager::ExecuteTask(3229): Result = 0x8007001F“ PID=“5032″ TID=“1940″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“0″ MD=““ DT=“2025-11-13T17:49:03″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CSetupManager::ExecuteFinalizeMode(11836): Result = 0x8007001F“ PID=“5032″ TID=“1940″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“0″ MD=““ DT=“2025-11-13T17:49:03″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CSetupManager::ExecuteDownlevelMode(688): Result = 0x8007001F“ PID=“5032″ TID=“1940″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“0″ MD=““ DT=“2025-11-13T17:49:03″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CSetupManager::Execute(389): Result = 0x8007001F“ PID=“5032″ TID=“1940″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“0″ MD=““ DT=“2025-11-13T17:49:38″/> <z:row Cls=“D“ Sev=“33554432″ Maj=“Def“ Min=“Def“ LN=“685″ Fil=““ Fun=“CSetupDiagnostics::LogString“ Uid=“34242560″ Msg=“CSetupHost::Execute(563): Result = 0x8007001F“ PID=“5032″ TID=“1940″ Con=““ Exe=“C:\$WINDOWS.~BT\Sources\SetupHost.Exe“ Mod=“SetupHost.Exe“ Err=“0″ MD=““ DT=“2025-11-13T17:49:38″/> </rs:data> </xml> |
Das war die Antwort von Gemini
Das Installationsprotokoll (diagerr.xml) deutet stark darauf hin, dass das Upgrade von Windows 10 22H2 auf Windows 11 25H2 aufgrund eines Problems mit einem Benutzerprofil fehlschlägt.
Hier sind die entscheidenden Fehlermeldungen und die daraus resultierenden empfohlenen Schritte:
🔍 Hauptursache der Fehlermeldung
Die kritischsten Zeilen im Protokoll sind:
Win32Exception: Duplicate profile detected for S-1-5-21-328979637-904797085-2580843701-1007. Abandoning.: Der angegebene Benutzer hat kein gültiges Profil. [0x000004E5](Dieses Problem ist an den Zeitstempeln 17:11:39, 17:48:20 und 17:49:02 zu sehen).Operation failed: Gather data, scope: EVERYTHING. Error: 0x8007001F(Dies ist der resultierende allgemeine Fehler für das Fehlschlagen der Datensammlung).- Der Fehlercode
0x8007001Fsteht für „Ein an das System angeschlossenes Gerät funktioniert nicht“ und ist oft ein Folgefehler, wenn die Migration (Daten-Sammelphase) fehlschlägt, was hier durch das Problem mit dem Benutzerprofil ausgelöst wurde.
- Der Fehlercode
Die Migration des Windows-Setups stößt auf ein Duplikat oder ein ungültiges Benutzerprofil (erkannt anhand der SID S-1-5-21...-1007), was die Migration stoppt, da das Setup nicht weiß, welches Profil es migrieren soll.
🛠️ Empfohlene Lösungsschritte
Um dieses Problem zu beheben, müssen Sie wahrscheinlich die registrierten Benutzerprofile in der Windows-Registrierung bereinigen.
1. Überprüfung und Bereinigung von Benutzerprofilen
- Öffnen Sie den Registrierungs-Editor: Drücken Sie die Windows-Taste + R, geben Sie
regeditein und drücken Sie ENTER (Eingabetaste). - Navigieren Sie zum Profil-Listenpfad:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
- Suchen Sie nach doppelten SID-Einträgen: (das hier war mein Problem!)
- In diesem Pfad sehen Sie mehrere Unterschlüssel, deren Namen mit
S-1-5-21-...beginnen (die Benutzer-SIDs). - Suchen Sie nach der SID
S-1-5-21-328979637-904797085-2580843701-1007(oder ähnlichen SIDs). - Suchen Sie insbesondere nach zwei Einträgen für dieselbe SID:
- Ein Eintrag ohne Endung.
- Ein Eintrag mit der Endung
.bak(z. B.S-1-5-21-...-1007.bak).
- In diesem Pfad sehen Sie mehrere Unterschlüssel, deren Namen mit
- Löschen oder Reparieren:
- Wenn Sie einen
.bak-Eintrag finden: Benennen Sie den Eintrag ohne.bakum (fügen Sie z. B..oldhinzu) und entfernen Sie dann die.bak-Endung des intakten Backups, sodass es der einzige Eintrag ohne Endung für diese SID ist. - Wenn Sie zwei identische Einträge (ohne
.bak) finden: Löschen Sie den Eintrag, der auf den falschen oder nicht vorhandenen Profilpfad verweist (den WertProfileImagePathüberprüfen).
(genau das hier war bei mir das Problem –> die SID´s sind natürlich bei jedem anders aber der Wert im ProfileImagePath war bei beiden Profilen identisch und zwar C:\Users\hui) - Vorsicht: Bevor Sie etwas löschen, exportieren Sie immer den Schlüssel
ProfileList(Rechtsklick aufProfileList–> Exportieren) als Backup.
- Wenn Sie einen
2. Deaktivieren von Drittanbieter-Antivirensoftware (Optional)
Das Protokoll zeigt auch Probleme bei der Inventarisierung von Anti-Malware-Dateien an (WicaApplicationInventory::AddAntiMalwareFiles, Fehlercode 0x80004005). Obwohl das Hauptproblem das Profil ist, kann eine installierte Drittanbieter-Antivirensoftware die Upgrade-Routine stören.
- **Deinstallieren Sie vorübergehend ** alle Antivirenprogramme von Drittanbietern (außer Windows Defender) und versuchen Sie das Upgrade erneut. Sie können diese nach dem erfolgreichen Upgrade neu installieren.
3. SFC und DISM ausführen
Führen Sie die folgenden Systemprüfungs-Tools aus, um sicherzustellen, dass keine beschädigten Systemdateien vorliegen, die das Setup beeinflussen:
- Öffnen Sie die Eingabeaufforderung als Administrator.
- Geben Sie ein und drücken Sie ENTER (Eingabetaste):sfc /scannow
- Warten Sie, bis der Vorgang abgeschlossen ist.
- Geben Sie dann ein und drücken Sie ENTER (Eingabetaste):Dism /Online /Cleanup-Image /RestoreHealth
- Starten Sie den PC neu und versuchen Sie das Upgrade erneut.
Folgendes könnte noch hilfreich sein bei der Behebung des Fehlers:
SetupDiag.exe und DISM für Treiberintegration in Win11-Installationsmedium (install.wim) …
Google-Gemini sagt:
Hallo! Das Bereitstellen von Treibern für ein Windows In-Place-Upgrade, damit das Setup diese während des Vorgangs verwendet, ist ein gängiger Schritt, insbesondere wenn spezielle Hardware-Treiber (z. B. für Massenspeicher oder Netzwerkadapter) benötigt werden, die nicht standardmäßig im Windows 11-Installationsmedium enthalten sind.
Der übliche Weg, um Treiber für die Installation in das Windows-Image (die Datei install.wim oder install.esd) zu integrieren, ist die Verwendung des Deployment Image Servicing and Management (DISM)-Tools.
Hier ist der generelle Ablauf, wie Sie Treiber in ein Windows-Installationsimage integrieren:
🛠️ Vorbereitung und DISM-Integration
1. Voraussetzungen
-
Eine Windows 11 ISO-Datei (oder der Inhalt der Installationsmedien).
-
Die benötigten Windows 11-Treiber (müssen als extrahierte
.inf-Dateien und zugehörige Dateien vorliegen, nicht als.exe-Installer). -
Administratorrechte für die Eingabeaufforderung (CMD) oder PowerShell.
-
Ausreichend Speicherplatz auf der Festplatte.
2. ISO-Inhalt kopieren
Kopieren Sie den gesamten Inhalt der Windows 11 ISO-Datei in einen lokalen Ordner, z. B. C:\Win11_Upgrade.
3. Treiberordner erstellen
Erstellen Sie einen Ordner für die hinzuzufügenden Treiber, z. B. C:\Treiber. Kopieren Sie die extrahierten Treiberdateien (.inf und die dazugehörigen Dateien) in diesen Ordner (Download aller Geräte-Treiber, meist sind das EXE-Files) und extrahiere diese via z.B. 7zip (alle markieren und dann entpacken in diesen Ordner).
4. Windows Image bereitstellen (Mounten)
Das Installationsimage ist normalerweise die Datei install.wim (oder install.esd) im Ordner sources. Sie müssen es mounten, um Änderungen vornehmen zu können.
-
Mount-Ordner erstellen: Erstellen Sie einen leeren Ordner für das Mount-Ziel, z. B.
C:\Mount. -
Indexnummer bestimmen: Die Datei
install.wimkann mehrere Windows-Editionen enthalten. Sie müssen den Index der Edition finden, die Sie ändern möchten (z. B. Windows 11 Pro).DOSDism /Get-WimInfo /WimFile:C:\Win11_Upgrade\sources\install.wim -
Image mounten: Verwenden Sie die Indexnummer (
X) der gewünschten Edition, um das Image zu mounten:DOSDism /Mount-Image /ImageFile:C:\Win11_Upgrade\sources\install.wim /Index:X /MountDir:C:\Mount(Ersetzen Sie
Xdurch die ermittelte Indexnummer).
5. Treiber hinzufügen
Fügen Sie die Treiber aus Ihrem Treiberordner (C:\Treiber) in das gemountete Image (C:\Mount) ein:
-
Einzelner Treiber:
DOSDism /Image:C:\Mount /Add-Driver /Driver:C:\Treiber\mein_treiber.inf -
Alle Treiber in einem Ordner (und Unterordnern) hinzufügen:
DOSDism /Image:C:\Mount /Add-Driver /Driver:C:\Treiber /Recurse
6. Änderungen speichern und Image trennen (Unmount)
Speichern Sie die Änderungen im Image und trennen Sie es vom Mount-Ordner:
Dism /Unmount-Image /MountDir:C:\Mount /Commit
🚀 Upgrade durchführen
Nachdem Sie die Treiber in das install.wim-Image integriert und die ISO-Dateien aktualisiert haben, können Sie das In-Place-Upgrade starten.
Starten Sie die setup.exe aus Ihrem geänderten Ordner (C:\Win11_Upgrade). Das Setup verwendet dann das von Ihnen angepasste Image und sollte die integrierten Treiber nutzen können.
Wenn Sie das Upgrade über die Kommandozeile starten, können Sie zusätzlich den Parameter /migratedrivers all verwenden, der alle Treiber vom vorhandenen System (Windows 10) in die neue Windows 11-Installation migrieren soll:
C:\Win11_Upgrade\setup.exe /auto upgrade /migratedrivers all
Fehler: Abbruch Windows 11 Upgrade bei 94% oder 95%
Gemini sagt:
Das ist ärgerlich. Ein Abbruch bei 95 % tritt typischerweise in der Phase der „zweiten Startphase“ (Second Boot Phase) auf, in der das System bereits mit den neuen Windows 11-Dateien hochgefahren ist und beginnt, Treiber, Einstellungen und Komponenten zu konfigurieren.
Um den Fehler einzugrenzen, benötige ich die relevanten Windows Setup Log-Dateien. Diese Dateien enthalten detaillierte Informationen darüber, welcher Prozess zuletzt ausgeführt wurde und welcher Fehlercode den Abbruch ausgelöst hat.
Hier sind die wichtigsten Log-Dateien, die Sie benötigen, sowie deren Speicherort:
📂 Die wichtigsten Log-Dateien für die Diagnose
Die Hauptprotokolldateien des Windows Setups befinden sich in einem versteckten Ordner. Um sie zu analysieren, sind in dieser Reihenfolge relevant:
🔍 Empfohlenes Vorgehen
Um die Fehlersuche zu vereinfachen und nicht Dutzende von Dateien manuell durchsuchen zu müssen, empfehle ich, das Microsoft SetupDiag-Tool zu verwenden.
1. SetupDiag-Tool verwenden (Empfohlen)
Das SetupDiag-Tool von Microsoft ist ein automatisiertes Diagnosetool, das alle relevanten Log-Dateien durchsucht, das Problem identifiziert und die Ergebnisse in einer einzigen, leicht lesbaren Datei zusammenfasst.
-
Herunterladen: Laden Sie das Tool
SetupDiag.exevon der offiziellen Microsoft-Seite herunter. https://learn.microsoft.com/de-de/windows/deployment/upgrade/setupdiag -
Ausführen: Speichern Sie die Datei in einem Ordner (z. B.
C:\SetupDiag) und führen Sie sie per Doppelklick aus. -
Ergebnis: Das Tool erstellt automatisch die Datei
SetupDiagResults.logim selben Ordner.
Teilen Sie mir den Inhalt der Datei SetupDiagResults.log mit. Dort steht in den meisten Fällen direkt, welcher Matching Rule gefunden wurde, und ein kurzer Grund für den Fehler (z.B. „Driver Migration Failure“ oder „Incompatible Software“).
2. Manuelle Suche (Falls SetupDiag nicht funktioniert)
Wenn Sie die Log-Dateien manuell prüfen müssen, gehen Sie wie folgt vor:
-
Öffnen Sie den Windows Explorer und geben Sie in der Adressleiste
%systemdrive%\$WINDOWS.~BT\Sources\Pantherein. -
Öffnen Sie die Datei
setuperr.logmit dem Editor. -
Scrollen Sie zum Ende der Datei. Der letzte Eintrag oder der Fehlercode (z. B.
0xC1900101oder0x800xxxx) unmittelbar vor dem Rollback-Befehl ist der entscheidende Hinweis.
—> ERFOLG !!!!!!!!!!!!
English version
I had a problem with a client where a Windows 10 Pro 22H2 system could not be updated to Windows 11 Pro 25H2 via an in-place upgrade, and I received this „super detailed and helpful error message.“
I had already tried the following steps, which I read on Reddit, but they did not fix the error for me, so the links are just for your information: https://www.reddit.com/r/Windows11/comments/18fllqq/windows_11_stuck_on_46_ive_tried_everything/?tl=de
https://www.reddit.com/r/SCCM/comments/15tutvf/comment/k0iz2em/
The tips included:
- Disabling the HD Audio Device in Device Manager — NO success
- Uninstalling the antivirus scanner (ESET, in this case) — NO success
sfc /scannow— found an error but still — NO successDism /Online /Cleanup-Image /RestoreHealth— NO success
I then found the diagerr.xml file in the folder where the Windows 11 setup stores the logs and simply ran it through the Google Gemini AI, which led to the following response:
The
diagerr.xmlfile is typically stored in the setup’s temporary log folders after a failed Windows upgrade attempt. You can find the file in the following directory:
C:\$WINDOWS.~BT\Sources\Panther\Here is a brief explanation of the folders:
C:\$WINDOWS.~BT\: This is the temporary folder that Windows creates to store the installation files and logs during the upgrade.Sources\Panther\: This subdirectory contains the main setup log files, includingdiagerr.xmland the primary log filesetupact.log.
Complete diagerr.xml Log-file see above (blue header)
This was the answer from Gemini
The installation log (diagerr.xml) strongly suggests that the upgrade from Windows 10 22H2 to Windows 11 25H2 is failing due to a problem with a user profile.
Here are the critical error messages and the resulting recommended steps:
🔍 Main Cause of the Error Message
The most critical lines in the log are:
Win32Exception: Duplicate profile detected for S-1-5-21-328979637-904797085-2580843701-1007. Abandoning.: The specified user does not have a valid profile. [0x000004E5] (This issue is visible at timestamps 17:11:39, 17:48:20, and 17:49:02).
Operation failed: Gather data, scope: EVERYTHING. Error: 0x8007001F (This is the resulting general error for the failure of data gathering). The error code 0x8007001F stands for „A device attached to the system is not functioning“ and is often a consequential error when the migration (data gathering phase) fails, which in this case was triggered by the user profile issue.
The Windows Setup migration is encountering a duplicate or invalid user profile (identified by the SID S-1-5-21…-1007), which stops the migration because Setup does not know which profile to migrate.
🛠️ Recommended Solution Steps
To resolve this issue, you likely need to clean up the registered user profiles in the Windows Registry.
1. Review and Cleanup of User Profiles
- Open the Registry Editor: Press the Windows key + R, type
regedit, and press ENTER. - Navigate to the Profile List Path:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList - Search for duplicate SID entries: (This was my problem!)
In this path, you will see several subkeys whose names start withS-1-5-21-...(the user SIDs). - Search for the SID
S-1-5-21-328979637-904797085-2580843701-1007(or similar SIDs). - Specifically, look for two entries for the same SID:
- An entry without an extension.
- An entry with the extension
.bak(e.g.,S-1-5-21-...-1007.bak).
- Delete or Repair:
- If you find a
.bakentry: Rename the entry without.bak(e.g., add.old) and then remove the.bakextension from the intact backup so it is the only entry without an extension for that SID. - If you find two identical entries (without
.bak): Delete the entry that points to the wrong or non-existent profile path (check theProfileImagePathvalue).
(This was exactly the problem for me –> the SIDs are naturally different for everyone but the value in ProfileImagePath was the same in both profiles C:\Users\hui)
- If you find a
- Caution: Before deleting anything, always export the
ProfileListkey (Right-click onProfileList$\rightarrow$ Export) as a backup.
2. Deactivate Third-Party Antivirus Software (Optional)
The log also shows issues with anti-malware file inventory (WicaApplicationInventory::AddAntiMalwareFiles, error code 0x80004005). Although the main problem is the profile, installed third-party antivirus software can interfere with the upgrade routine.
Temporarily uninstall all third-party antivirus programs (excluding Windows Defender) and try the upgrade again. You can reinstall them after the upgrade is successful.
3. Run SFC and DISM
Execute the following system check tools to ensure there are no corrupted system files affecting the setup:
- Open the Command Prompt as an administrator.
- Type and press ENTER:
sfc /scannow - Wait for the process to complete.
- Then type and press ENTER:
Dism /Online /Cleanup-Image /RestoreHealth - Restart the PC and attempt the upgrade again.
The following might also be helpful in resolving the error:
SetupDiag.exe and DISM for driver integration in the Win11 installation media (install.wim)…
Gemini says:
Providing drivers for a Windows in-place upgrade so that the setup uses them during the process is a common step, especially when special hardware drivers (e.g., for mass storage or network adapters) are needed that are not included by default in the Windows 11 installation media.
The usual way to integrate drivers for installation into the Windows image (the file install.wim or install.esd) is by using the Deployment Image Servicing and Management (DISM) tool.
Here is the general procedure for integrating drivers into a Windows installation image:
🛠️ Preparation and DISM Integration
1. Prerequisites
-
A Windows 11 ISO file (or the content of the installation media).
-
The required Windows 11 drivers (must be available as extracted
.inffiles and associated files, not as.exeinstallers). -
Administrator rights for the Command Prompt (CMD) or PowerShell.
-
Sufficient disk space on the hard drive.
2. Copy ISO Content
Copy the entire content of the Windows 11 ISO file into a local folder, for example, C:\Win11_Upgrade.
3. Create Driver Folder
Create a folder for the drivers to be added, for example, C:\Drivers. Copy the extracted driver files (.inf and associated files) into this folder.
4. Mount the Windows Image
The installation image is usually the file install.wim (or install.esd) located in the sources folder. You must mount it to make changes.
-
Create Mount Folder: Create an empty folder for the mount target, for example,
C:\Mount. -
Determine Index Number: The
install.wimfile can contain multiple Windows editions. You must find the index of the edition you want to modify (e.g., Windows 11 Pro).DOSDism /Get-WimInfo /WimFile:C:\Win11_Upgrade\sources\install.wim -
Mount Image: Use the index number (
X) of the desired edition to mount the image:DOSDism /Mount-Image /ImageFile:C:\Win11_Upgrade\sources\install.wim /Index:X /MountDir:C:\Mount(Replace
Xwith the determined index number).
5. Add Drivers
Insert the drivers from your driver folder (C:\Drivers) into the mounted image (C:\Mount):
-
Single Driver:
DOSDism /Image:C:\Mount /Add-Driver /Driver:C:\Drivers\my_driver.inf -
Add All Drivers in a Folder (and Subfolders):
DOSDism /Image:C:\Mount /Add-Driver /Driver:C:\Drivers /Recurse
6. Save Changes and Unmount Image
Save the changes to the image and detach it from the mount folder:
Dism /Unmount-Image /MountDir:C:\Mount /Commit
🚀 Perform the Upgrade
After integrating the drivers into the install.wim image and updating the ISO files, you can start the in-place upgrade.
Start the setup.exe from your modified folder (C:\Win11_Upgrade). The setup will then use the customized image and should be able to utilize the integrated drivers.
If you start the upgrade via the command line, you can optionally use the /migratedrivers all parameter, which is intended to migrate all drivers from the existing system (Windows 10) to the new Windows 11 installation:
C:\Win11_Upgrade\setup.exe /auto upgrade /migratedrivers all
Error: Windows 11 upgrade aborts at 94% or 95%
That is frustrating. A failure at 95% typically occurs in the „Second Boot Phase,“ where the system has already booted with the new Windows 11 files and begins to configure drivers, settings, and components.
To pinpoint the error, I need the relevant Windows Setup Log files. These files contain detailed information about which process was last executed and which error code triggered the failure.
Here are the most important log files you need, along with their location:
📂 The Most Important Log Files for Diagnosis
The main protocol files for Windows Setup are located in a hidden folder. To analyze them, the following are relevant, in this order:
Log File Location Description setuperr.logC:\$WINDOWS.~BT\Sources\PantherMost important file: Logs all errors and failure messages that occurred during the entire setup process. This often contains the direct reason for the rollback. setupact.logC:\$WINDOWS.~BT\Sources\PantherPrimary Protocol File: Logs all actions of the setup. It is very large and serves as context for the setuperr.log(What did the setup do before the error?).miglog.xmlC:\$WINDOWS.~BT\Sources\PantherContains details about the migration of drivers, settings, and user data. An error here often points to an incompatible driver or a data issue. setupapi.dev.logC:\Windows\PantherorC:\Windows\InfImportant for errors that occur during driver installation or the initialization of Plug and Play devices.
🔍 Recommended Procedure
To simplify troubleshooting and avoid manually searching dozens of files, I recommend using the Microsoft SetupDiag Tool.
1. Use the SetupDiag Tool (Recommended)
The SetupDiag tool from Microsoft is an automated diagnostic utility that searches all relevant log files, identifies the problem, and summarizes the results in a single, easy-to-read file.
Download: Download the
SetupDiag.exetool from the official Microsoft site. https://learn.microsoft.com/de-de/windows/deployment/upgrade/setupdiagExecute: Save the file to a folder (e.g.,
C:\SetupDiag) and run it by double-clicking.Result: The tool automatically creates the file
SetupDiagResults.login the same folder.Please share the content of the
SetupDiagResults.logfile with me. In most cases, it directly states which Matching Rule was found and a brief reason for the failure (e.g., „Driver Migration Failure“ or „Incompatible Software“).2. Manual Search (If SetupDiag fails)
If you need to check the log files manually, proceed as follows:
Open Windows Explorer and type
%systemdrive%\$WINDOWS.~BT\Sources\Pantherin the address bar.Open the file
setuperr.logwith Notepad.Scroll to the end of the file. The last entry or the error code (e.g.,
0xC1900101or0x800xxxx) immediately before the rollback command is the critical clue.
Question:
How to check the SID of the current user?
English Translation of the Answer:
The User ID of the currently logged-in Windows user is called the Security Identifier (SID). The SID is a unique, immutable alphanumeric code that Windows uses internally to identify users and manage permissions.
You can quickly find the SID and the associated username using the Command Prompt (CMD) or PowerShell.
💻 1. Method: Command Prompt (CMD)
This is the fastest method to see the SID of the currently logged-in user.
Open the Command Prompt (CMD) or Windows Terminal.
Type the following command and press Enter:
DOSwhoami /user▶️ Output:
Information Example Meaning USERNAME DESKTOP-PC\MaxMustermannThe name of the logged-in user (with computer/domain name) SID S-1-5-21-2000478354-...-1001The desired User ID (SID)
🚀 2. Method: PowerShell
With PowerShell, you can retrieve and filter the information of the currently logged-in user:
Open PowerShell (or Windows Terminal).
Type the following command and press Enter:
PowerShell(Get-CimInstance -ClassName Win32_ComputerSystem).UserNameThis command only provides the username (including domain/computer). To get the SID, use the following command:
PowerShellwhoami /user(The
whoamicommand also works in PowerShell and is the most efficient way to get the SID.)💡 List All Users and Their SIDs
If you want to see the SIDs of all user accounts existing on the computer (not just the currently logged-in one), use:
PowerShellGet-LocalUser | Select Name, SID
❓ What is the SID (Security Identifier)?
The SID is the foundation of Windows security. It looks like
S-1-5-21-XXX-YYY-ZZZ-RRRand consists of several components:
S-1-5: General structure identifier.
21: Identifier Authority (for NT Security).
XXX-YYY-ZZZ: The Domain/Computer identifier, which is the same for all accounts on this system.
RRR (Relative Identifier, RID): This is the actual, unique User ID part within the domain/computer. For example,
500is always the Administrator and501is the Guest, while normal user accounts usually start with1000,1001, etc.Windows uses the SID to assign permissions to files, folders, and registry entries, even if you change the username.

