Windows 10 Upgrade reboot loop or error 0xC1900101- 0x20017

Recently I spent time troubleshooting a device unable to upgrade from the November Update (1511) of Windows 10 to the latest Anniversary Update (1607).

Setup would progress until the near end, after which it would reboot and remain stuck in a reboot loop. It's difficult to troubleshoot these situations, first thing to do is:

  1. Boot from alternate media, I used an USB stick with Windows 10 Anniversary Update media on it
  2. Hit "Install Now" and then choose "Repair your computer" on the bottom left corner
  3. Choose "Troubleshoot" and "Go build to the previous build"

Windows will roll-back and within minutes you should be able to logon the older operating system.
Next grab the setupact.log and setuperr.log located underneath the C:\Windows\Panther directory.

The thing that moved us into the right direction were the following log entries:

2016-10-24 11:08:47, Info                  [msoobe.exe] Added IOOBEGlobalSettingsCacheListener RecommendedSettings Plugin
2016-10-24 11:08:47, Info                  [msoobe.exe] Loading OOBE plugin Region Plugin
2016-10-24 11:08:47, Error                [msoobe.exe] Failed to Initialize plugin [Region Plugin] [hr=0x80070057]
2016-10-24 11:08:47, Error                [msoobe.exe] Failed create OOBE plugin from key Region Plugin [hr=0x80070057]
2016-10-24 11:08:47, Error                [msoobe.exe] Failed to load OOBE plugins with hr=0x80070057
2016-10-24 11:08:47, Info                  [msoobe.exe] Wrote End-of-OOBE Timestamp to Registry
2016-10-24 11:08:47, Info                  [msoobe.exe] License for msoobe-FirstLogonAnim-MayBeDisabled is false
2016-10-24 11:08:47, Error                [msoobe.exe] Failed to run OOBE Host with hr=0x800700572016-10-24 11:08:47,

The device would go through all upgrade phases and fail during the Microsoft Out Of Box Experience (msoobe) after loading the Region Plugin.
Further troubleshooting can be difficult. We ended up connecting the device to a network and use a remote Windows Debugger to step through msoobe initializing. This is where we realized that a local of "en-150" was used where we typically see "en-US" or different locale. "en-150" relates to a locale "English (Europe)", a new option introduced in the first release of Windows 10 (1507). Further debugging revealed that the Out Of Box Experience would crash due to a missing value with E_INVALIDARG [0x80070057].

Workaround

The workaround is to not use the "English (Europe)" locale, technically it could also be a different locale. In our case the "English (Europe) was used. Use the following steps to change this for all accounts:

  • Go to Regional Settings
  • Change the Format to English (United States) - or anything other than “English (Europe)” or the one you are currently using.
    • You can also select a different language or change any of the date/time formats per your needs
  • Select the Administrative tab and hit Copy Settings
  • Select the bottom two checkboxes and hit OK.
  • Reboot the PC and start the Windows Anniversary Update. Windows should upgrade.

We need to get this fixed, in the meantime the workaround hopefully helps you upgrade.
In case this post helped you - consider leaving a reply.