During our recent Windows 10 feature update deployment from 1809 to 20H2, we ran in to an issue on some clients where they reported back error 0XC190012E to ConfigMgr.
The error code its self is just a generic code and I couldn’t find it in either
Windows update error code list
Windows Update error code list by component – Windows Deployment | Microsoft Docs
or the Windows 10 upgrade errors doc
Get help with Windows 10 upgrade and installation errors (microsoft.com)

We first checked the temporary location that feature update deploys to c:\$Windows.~BT, to check if there was any issue in the compatibility xml file or in the setup logs under sources\panther, but there was no folders other than sources.

Since there was no files I though this might be a space issue so ran some remote WMI commands to check the disk space available. I used the below PowerShell using Get-WMIObject.
Get-WmiObject Win32_logicaldisk -ComputerName RemoteComputerName | Select-Object @{Name="Drive";E={$_.DeviceID}},
@{Name="Size(GB)";E={[math]::Round($_.size/1gb)}},
@{Name="Free Space(GB)";E={[math]::Round($_.freespace/1gb)}},
@{Name="%Free Space";E={"{0:N2}" -f (($_.freespace/$_.size)*100)}}

In this case it wasn’t disk space a there was over 100GB free.
There wasn’t much online about the error other than the usually run scf /scannow, diskcheck and run the update troubleshooter but none of these worked.
Then found this post on the Microsoft forms that pointed to an issue with the setupconfig.ini
Generic 0xc190012e trying to upgrade Windows 10 1909 to 20H2 – Microsoft Community
C:\Users\Default\AppData\Local\Microsoft\Windows\WSUS

We aren’t using any custom setting in the setupconfig.ini so there was no issue for me to remove this.
Once I removed the file and kicked off the feature update again it now completes without issue.
I don’t know how the setupconfig.ini file was created on only a few devices but it was a quick fix once we found the issue was the config file.
Thanks so much, that was the easiest solution I found and it worked!!! You are my hero of the day! 🙂 Martin
LikeLike
Leave it to Microsoft to let an empty .ini file somehow blow an upgrade. I’ve worked in IT for 20+ years now, and I still can’t imagine how long it would have taken me to track this one down myself (if I was even able to), so I’m very appreciative of this article, especially as it was the second search result on Google, and it appears most or all of the other results were the typical “run the system file checker, delete temp files, etc” junk that gets posted as a supposed solution to EVERY Windows-related problem.
I my case, I was getting this error as soon as the update download hit 100%. After deleting the .ini file, it went to 100%, then the download started over again from scratch (and much more slowly, so I’m guessing it actually re-downloaded the entire thing where it wasn’t doing that again on previous attempts), and then installed properly.
So, problem solved, and quickly–thanks “SleepyAdmin”!
LikeLiked by 1 person
Worked! Thanks!
LikeLike
Muchas gracias por esta publicación.
He buscado desde el día de ayer solución al error de esta actualización y gracias a que llegue a tu blog pude solucionarlo.
Saludos desde Argentina.
LikeLike
Thank you so much!! I would never have found it …
SHame on MS that this is still an issue (21H1) ….
Mischa
LikeLike
Great Thanks, it works!
LikeLike
Great! In my case the HD has was decrypted before. In the file .ini contain any information for driver encrypted.
LikeLike
I’m on an enterprise SCCM system and this was my issue. Thanks for the post!
LikeLike
Great!!! Its work!!!
LikeLike
Same error and solution when updating 1909 to 20H2
LikeLike
Thx for sharing!
Saved my evening and unblocked the failing update to 20H2.
Embarrassing how this could happen in the 1st place 🙂
LikeLike
Hey man, thanks for this solution, fixed the issue I had with one of my clients’ workstations. Simple, yet very effective! Thanks again!
LikeLike
Still works. Upgrading from ancient 1803 to 21H2, kudos.
LikeLike
Still works on 22H2!
LikeLike