Windows 10 1809 In-Place Upgrade SCCM
Windows 10 1809 In-Place Upgrade using SCCM
I recently configured a Windows 10 1809 upgrade at a time when Microsoft had placed a block on the upgrade release due to driver issues among other issues. Whilst on my endeavour to get an upgrade working from 1803 to 1809 I came across issues which could possible save you time.
The upgrade process is fairly simple.
- Extract your Windows 10 ISO
- IMPORTANT, you must have at least the November 2018 CU for Windows 10 1809 KB4467708. Without this CU your in-place upgrade will fail. DISM the latest cumulative updates into the image, see my post on how to do this, click HERE.
- DISM any other settings you require such as language packs or removal of APPX packages. Note that if you already removed appx packages they will not re-install when you upgrade, however there are two new appx packages in 1809 that will install.
- Places the extracted files into a folder which SCCM can access.
- Add your 1809 OS to SCCM. Click Software Updates > Operating Systems > Operating System Upgrade Package
- Distribute the OS Upgrade package.
- Create a new Upgrade task sequence and keep the options as default.
Issues encountered
0x80004005 – this is an generic error code and does not tell us much. You have to check the following log files:
- SMSTS log file located in C:\Windows\CCM\Logs\SMSTS.log
- C:\$Windows.~BT\Sources\Panther\CompatData_…xml
- C:\$Windows.~BT\Sources\Panther\setupact.log
When investigating the log files I found the below error. It states that their is a mismatch in the language packs. In essence the Windows 10 ISO comes with English US language. However on my device I had only English UK. The device and OS media must match with the language. I therefore had to dism my language pack into the Windows 10 media. Ensure you generate a lang.ini file when you dism the language packs. I will write a post on how to correctly dism language packs.
<HardwareItem HardwareType=”Setup_MismatchedLanguage”><CompatibilityInfo BlockingType=”Hard”/><Action Name=”Setup_MismatchedLanguage” ResolveState=”Hard”/></HardwareItem>
That’s all for now folks. Let me know how you get on in the comments below.
Thanks
Kam
Kam is a Azure and Microsoft Modern Desktop Certified Administrator and Udemy Intructor. He is a solution architect and served clients ranging from educational, private and government establishments in the UK. Kam has worked within the IT industry for the last 7 years building his experience over a variety of products such as DirectAccess, Always On VPN, SCCM, Hyper-V and now focusing on Azure and Modern Desktop/Mobile Device Management.