When you install a Windows 10/11 Feature Update, the setup process may go until 87% and close automatically with an exception error 0xc0000005 that is recorded in the setup logs. A crash dump file may also be generated.
Setupact.log (in the Panther directory) contains these entries:
Info SP BFSVC: Opening template from \Device\HarddiskVolume2\$WINDOWS.~BT\NewOS\WINDOWS\System32\config\BCD-Template. Info SP BFSVC: Reopening system store. FatalError SP Exception handler called! Details: FatalError SP Exception record: 0 FatalError SP Exception code: 0xc0000005 FatalError SP Exception flags: 0x0 FatalError SP Exception address: 00007FF91D4911DD FatalError SP Exception parameter 0: 0000000000000000 FatalError SP Exception parameter 1: 0000000000000000 Info SP SEH: Attempting to log exception Info MOUPG Action progress: [60%] Info MOUPG Task progress: [98%] Info MOUPG Overall progress: [98%] Info MOUPG Mapped Global progress: [98%] FatalError [0x090001] PANTHR Exception (code 0xC0000005: ACCESS_VIOLATION) occurred at 0x00007FF91D4911DD in C:\$WINDOWS.~BT\Sources\SetupPlatform.dll (+00000000003F11DD). Minidump attached (143379 bytes) to diagerr.xml and C:\$WINDOWS.~BT\Sources\Panther\mndC459.diagerr.mdmp.
Minidump
A minidump may be generated, and you may find something like below if you debug the dump file.
PROCESS_NAME: SetupPlatform.exe READ_ADDRESS: 0000000000000000 ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s. EXCEPTION_CODE_STR: c0000005 EXCEPTION_PARAMETER1: 0000000000000000 EXCEPTION_PARAMETER2: 0000000000000000 STACK_TEXT: 00000057`8614b0f0 00007ff9`c220156b : 00000000`00000000 00000000`00000000 00000057`8614b1c0 0000020b`e3ff1560 : SetupPlatform!BiSpacesUpdatePhysicalDevicePath+0x2d 00000057`8614b150 00007ff9`c2200a69 : 00000000`0000038c 00007ff9`0000002a 00007ff9`00000000 00000057`00000003 : SetupPlatform!BiUpdateEfiEntry+0x7f 00000057`8614b1f0 00007ff9`c2200bf9 : 0000020b`e3f65640 0000020b`00000000 0000020b`e3ff1560 00000000`0000038c : SetupPlatform!BiCreateEfiEntry+0xf9 00000057`8614b250 00007ff9`c21ff683 : 00000000`00000000 00000057`8614b310 00000000`00000290 00000057`8614b310 : SetupPlatform!BiExportBcdObjects+0x99 00000057`8614b290 00007ff9`c23495d6 : 00000000`00000000 00000000`00000000 00000000`00000002 00000000`00000013 : SetupPlatform!BiExportStoreToEfi+0x57 00000057`8614b2d0 00007ff9`c234902b : 00000000`00000000 00000000`00000001 00000000`0000033c 0000020b`e3f64c10 : SetupPlatform!BiImportStoreFromFile+0x18e 00000057`8614b340 00007ff9`c23054cf : 00000000`00000000 0000020b`e3f62718 0000020b`e3f62700 0000020b`e3fd54e8 : SetupPlatform!BcdImportStoreWithFlags+0x4b 00000057`8614b370 00007ff9`c230ddce : 00007ff9`c2509e90 0000020b`e3f89ce8 0000020b`e3fd54e8 00000000`00000001 : SetupPlatform!OSRollbackUtils::RestoreBCDDatabase+0x167 00000057`8614ba10 00007ff9`c2309001 : 0000020b`00000200 0000020b`e3f654e8 0000020b`00000047 00007ff9`c24782f8 : SetupPlatform!OSRollbackService::CBootFilesRestoreCheckpoint::Rollback+0x1c9e 00000057`8614bc50 00007ff9`c2309c55 : 00007ff9`c2309b4c 00007ff9`c2309b4c 00007ff9`c2309b4c 00000057`8614bde0 : SetupPlatform!OSRollbackService::CCheckpointImpressario::ExecuteRollbackSequence+0x305 00000057`8614bd30 00007ff9`c20a34e9 : 0000020b`e3f64828 00000000`00000000 00000000`00000001 0000020b`e3f2cc88 : SetupPlatform!OSRollbackService::CSetupRollbackService::RollbackExecuteSequence+0x151 00000057`8614bdf0 00007ff9`c204cc20 : 00007ff9`c204c77e 00000000`00000000 00007ff9`c204c77e 00000000`00000001 : SetupPlatform!CSetupPlatformRollback::Execute+0x79 00000057`8614be80 00007ff9`c2052457 : 0000020b`e3f2cc88 00000057`00000000 00000057`8614c420 00000000`00000001 : SetupPlatform!CSetupPlatformPrivate::RollbackOfflineCommon+0x9c4 00000057`8614bfd0 00007ff7`fae6394c : 00000000`00000001 00000000`00000000 00000000`00000001 00000000`00000001 : SetupPlatform!CSetupPlatformPrivate::Rollback+0x15a7 00000057`8614c2d0 00007ff7`fae691a9 : 00000000`00000001 00000000`00000001 00000000`00000000 00000000`00000000 : SetupPlatform_exe!wWinMain+0x20cc 00000057`8614f980 00007ff9`c7ef6fd4 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : SetupPlatform_exe!__wmainCRTStartup+0x1c9 00000057`8614fa40 00007ff9`c883cf31 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : kernel32!BaseThreadInitThunk+0x14 00000057`8614fa70 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x21 STACK_COMMAND: ~0s; .ecxr ; kb SYMBOL_NAME: SetupPlatform!BiSpacesUpdatePhysicalDevicePath+2d MODULE_NAME: SetupPlatform IMAGE_NAME: SetupPlatform.dll
Event Viewer
The following Event log entry may be recorded:
Faulting application name: SetupHost.exe, version: 10.0.19041.1138, time stamp: 0xcdb250a9 Faulting module name: SetupPlatform.dll, version: 1.60.19041.1138, time stamp: 0xfbb9a3ac Exception code: 0xc0000005 Fault offset: 0x00000000003f114d Faulting process id: 0x1bb4 Faulting application start time: 0x01d79d062c9c526c Faulting application path: C:\$WINDOWS.~BT\Sources\SetupHost.exe Faulting module path: C:\$WINDOWS.~BT\Sources\SetupPlatform.dll Report Id: e69dc087-4ef3-4a31-8917-349a0dc87008 Faulting package full name: Faulting package-relative application ID:
{Bootmgr} entry
When you run the bcdedit /enum bootmgr command-line, the {bootmgr} may look like below. The “device” entry may be missing.
Windows Boot Manager -------------------- identifier {bootmgr} path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager locale en-US inherit {globalsettings} flightsigning Yes default {current} resumeobject {b41548ef-ca44-11e9-a1e1-f8b46ab8194f} displayorder {current} toolsdisplayorder {memdiag} timeout 30
Cause
The SetupPlatform.dll error 0xc0000005 error/crash in procedure SetupPlatform!BiSpacesUpdatePhysicalDevicePath occurs when reading/writing to the BCD occurs because of the missing “device” value in the {Bootmgr} section of the BCD.
Resolution
It’s a BCD issue. Fixing it or rebuilding it should resolve the error in most cases.
(Create a USB setup disk and have it ready, just in case.)
Open an admin Command Prompt, and run these commands below.
diskpart
list vol
Note down the volume number of your EFI boot partition (on GPT-based systems) or the System Reserved partition on MBR-based systems. See How to Find if a Disk Uses MBR or GPT)
In this example, the disks are GPT. The EFI boot partition is always a FAT32 partition.
In the above output, you can see that the EFI boot partition is Volume 1 — i.e., HarddiskVolume1
.
Let’s run the following command to backup the BCD database.
bcdedit /export c:\bcd.bak
Then, add the “device” value under the {bootmgr} section of the BCD database. To do so, run the following command:
bcdedit /set {bootmgr} device partition=\Device\HarddiskVolume1
The bootmgr section in BCD should now look like below:
Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume1 <== we added this entry. path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager locale en-US inherit {globalsettings} flightsigning Yes default {current} resumeobject {b41548ef-ca44-11e9-a1e1-f8b46ab8194f} displayorder {current} toolsdisplayorder {memdiag} timeout 30
Re-run Setup. In case it fails, rebuild the BCD and try again.
That should resolve the setupplatform.dll exception error 0xc0000005 during Windows 10/11 Setup.
One small request: If you liked this post, please share this?
One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:- Pin it!
- Share it to your favorite blog + Facebook, Reddit
- Tweet it!