Let’s have a quick look at the Windows 10 In-Place Upgrade Process via Setupact.log and some notes about MigNeo setup options from the real world. As per my testing with real-world devices and WVD VMs, I have noticed two things:
- Took NEO path ➡ The physical machines took the NEO path and hence skipped the Safe OS phase -> ~25 minutes of OFFLINE time.
- Log Entry – SKIPBOOTTRACK(SAFEOS): Skip Boot Validator: Will proceed with SafeOS boot removal.
- Skipped Neo Path ➡ The setup uses the internet to connect to one setting and finds whether the Neo path can be taken for Azure VMs used for WVD or not –> Azure VM didn’t take NEO path and have around ~50 minutes of OFFLINE time.
- MOUPG SetupHost: OneSettings Initialized -> [Yes]
- MOUPG OneSettings: Found [MIGNEOENABLED] -> [False]
I’m not aware of any Windows update for business(WUfB) policy configuration switches to enable/disable MigNeo. I thought enabling MigNeo (MigNeo /Enable switch) might help to speed-up Windows 10 in-place upgrade for WVD VMs.
NOTE! – NEO stands for Non-event Objective, a multi-release effort to reduce feature update offline time, including a single reboot for most users. This option is available in Windows 10, version 1803, and later.
I don’t think the below sequence of phases is followed in Windows Update for Business(WUfB) Windows 10 upgrade process. I have seen only one reboot for WVD VMs.
Getting Things Ready
Getting Things Ready phase is the first step toward Windows 10 upgrade.
- Windows 10 devices are configured with Windows Update for Business policies.
- Devices scan against Windows Update cloud services.
- Windows Update cloud services start delivering Windows 10 update configurations and the content.
Download
This is the download phase where users can work on Windows 10 devices. In this phase, the software update agent downloads the Windows 10 2004 content from the Software Update cloud service.
Installing
Once the Windows 10 2004 content is downloaded, the Software Update agent starts the installation process. Users can normally work during the installation phase.
NOTE! – I have seen some performance hit during the installation phase.
Windows 10 Update Restart Prompt
This is the phase where users get prompted to restart the device to complete the Windows 10 in-place upgrade process.
Once you restart the device, the rest of the upgrade of Windows 10 happens offline.
Setupact.log Process Flow
Now, you need to look into the Panther logs. There are two log files named Setupact.log and Setuperr.log from the following path C:\$Windows.~BT\Sources\Panther.
- Setupact.log
- Setuperr.log
========================Setup Host=========================
- 2021-01-25 15:09:24, Error CONX Windows::Compat::Shared::UtcLogger::End (281): Error starting service: [0x80070422].[gle=0x80070422]
- 2021-01-25 15:09:24, Info MOUPG **************** SetupHost Logging End ****************
- 2021-01-25 15:46:40, Info MOUPG *************** SetupHost Logging Begin ***************
- 2021-01-25 15:46:40, Info MOUPG SetupHost::Initialize
======================ESD File Location=============================
- 2021-01-25 15:46:42, Info MOUPG SetupManager: ActionList InstallFile Path [C:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\professional_en-us.esd]
=======================Action List============================
- 2021-01-25 15:46:42, Info MOUPG SetupManager: Setting latent acquisiton ActionList path: [C:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\ActionList.xml]
=======================Adding Drivers===========================
- 2021-01-25 15:47:15, Info MIG BuildDriverFilesList: adding c:\windows\inf\acpi.inf
==================Loading replacement manifest data=======================
- 2021-01-25 15:47:18, Info MIG Loading replacement manifest data for Microsoft-ActiveDirectory-WebServices
=======================Environment Variables========================
- 2021-01-25 15:50:58, Info [0x0803a0] MIG Dumping SYSTEM environment
- 2021-01-25 15:50:58, Info [0x08024c] MIG %ALLUSERSAPPDATA% <-> C:\ProgramData
- 2021-01-25 15:50:58, Info [0x08024c] MIG %ALLUSERSPROFILE% <-> C:\ProgramData
- 2021-01-25 15:50:58, Info [0x08024c] MIG %COMMONPROGRAMFILES% <-> C:\Program Files\Common Files
- 2021-01-25 15:50:58, Info [0x08024c] MIG %COMMONPROGRAMFILES(X86)% <-> C:\Program Files (x86)\Common Files
- 2021-01-25 15:50:58, Info [0x08024c] MIG %COMPUTERNAME% <-> V-UKGOS017-0
========================Setup Logging End========================
- 2021-01-25 15:51:34, Info MOUPG **************** SetupHost Logging End ****************
====================Execution Phase===========================
- 2021-01-25 15:52:13, Info SP Executing phase [Safe OS]
- 2021-01-25 15:52:13, Info Initializing diagnostics helper; data file = F:\$WINDOWS.~BT\Sources\Diagnostics\diagnostics.dat
========================Different Phases======================
- 2021-01-25 15:52:13, Info SP Phase: Downlevel
- 2021-01-25 15:52:13, Info SP Phase: Pre-Finalize
- 2021-01-25 15:52:13, Info SP Phase: Finalize
- 2021-01-25 15:52:13, Info SP Phase: Safe OS
- 2021-01-25 15:52:13, Info SP Phase: Pre First Boot
- 2021-01-25 15:52:13, Info SP Phase: Pre SysPrep
- 2021-01-25 15:52:13, Info SP Phase: Post SysPrep
- 2021-01-25 15:52:13, Info SP Phase: Post First Boot
- 2021-01-25 15:52:13, Info SP Phase: Pre OOBE Boot
- 2021-01-25 15:52:13, Info SP Phase: Pre OOBE
- 2021-01-25 15:52:13, Info SP Phase: Post OOBE
- 2021-01-25 15:52:13, Info SP Phase: Post OOBE Boot
- 2021-01-25 15:52:13, Info SP Phase: End
- 2021-01-25 15:52:13, Info SP DISKSPACEQUERY: Calculating disk space needed:
- 2021-01-25 15:52:13, Info SP Executing operation: Boot WinPE
- 2021-01-25 15:52:13, Info SP Executing operation: Prepare SafeOS for rollback
- 2021-01-25 15:52:13, Info SP Executing operation: Set SafeOS boot entry as the default boot entry
- 2021-01-25 15:52:13, Info SP Executing operation: Enable Page File in SafeOS
- 2021-01-25 15:52:14, Info SP Executing operation: Apply WIM file PathForNewOSFile, index 3 to F:\$WINDOWS.~BT\NewOS
- 2021-01-25 16:13:43, Info SP Executing operation: Complete new OS apply
- 2021-01-25 16:13:43, Info SP Executing operation: Apply EAs for F:\$WINDOWS.~BT\NewOS
- 2021-01-25 16:13:43, Info SP Executing operation: Enable telemetry for F:\$WINDOWS.~BT\NewOS
- 2021-01-25 16:13:45, Info SP Executing operation: Add [1] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\Windows10.0-KB4598481-x64.cab
- 2021-01-25 16:14:31, Info SP Executing operation: Apply Optional Component status
- 2021-01-25 16:14:49, Info SP Executing operation: Apply Drivers
- 2021-01-25 16:14:53, Info SP Executing operation: Prepare the recovery image
- 2021-01-25 16:17:00, Info SP Executing operation: Create file F:\$WINDOWS.~BT\NewOS\ProgramData\Microsoft\Windows\ClipSVC\GenuineTicket\GenuineTicket.xml on the new system
- 2021-01-25 16:17:00, Info SP Executing operation: Create file F:\$WINDOWS.~BT\NewOS\Windows\Setup\LatentAcquisition\ActionList.xml on the new system
- 2021-01-25 16:17:00, Info SP Executing operation: Set boot command %SYSTEMDRIVE%\$WINDOWS.~BT\Sources\SetupPlatform.exe /postoobe for phase DismPostOobe
- 2021-01-25 16:17:02, Info SP Executing operation: Set boot command %SYSTEMDRIVE%\$WINDOWS.~BT\Sources\SetupPlatform.exe /presysprep for phase DismPreSysprep
- 2021-01-25 16:17:04, Info SP Executing operation: Set boot command %SYSTEMDRIVE%\$WINDOWS.~BT\Sources\SetupPlatform.exe /postsysprep for phase DismPostSysprep
- 2021-01-25 16:17:06, Info SP Executing operation: Set boot command %SYSTEMDRIVE%\$WINDOWS.~BT\Sources\SetupPlatform.exe /preoobe for phase DismPreOobe
- 2021-01-25 16:17:07, Info SP Executing operation: Set boot command %SYSTEMDRIVE%\$WINDOWS.~BT\Sources\SetupPlatform.exe /onerror for phase DismOnError
- 2021-01-25 16:17:09, Info SP Executing operation: Set entropy for F:\$WINDOWS.~BT\NewOS
- 2021-01-25 16:17:09, Info SP Executing operation: Add [1] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\Microsoft-Windows-Client-LanguagePack-Package_en-gb~31bf3856ad364e35~amd64~en-gb~.esd
- 2021-01-25 16:19:36, Info SP Executing operation: Add [1] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\amd64_Microsoft-Windows-LanguageFeatures-Basic-en-gb-Package~~amd64~~10.0.19041.1
- 2021-01-25 16:19:42, Info SP Executing operation: Add [3] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\Microsoft-Windows-PowerShell-ISE-FOD-Package~~amd64~en-US~10.0.19041.1
- 2021-01-25 16:19:47, Info SP Executing operation: Add [3] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\Microsoft-Windows-MSPaint-FoD-Package~~amd64~en-US~10.0.19041.1
- 2021-01-25 16:19:51, Info SP Executing operation: Add [3] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\Microsoft-Windows-Notepad-FoD-Package~~amd64~en-US~10.0.19041.1
- 2021-01-25 16:19:56, Info SP Executing operation: Add [1] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\amd64_Microsoft-Windows-LanguageFeatures-OCR-en-gb-Package~~amd64~~10.0.19041.1
- 2021-01-25 16:20:01, Info SP Executing operation: Add [3] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\Microsoft-Windows-StepsRecorder-Package~~amd64~en-US~10.0.19041.1
- 2021-01-25 16:20:06, Info SP Executing operation: Add [1] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\Microsoft-Windows-Printing-WFS-FoD-Package~~amd64~en-US~10.0.19041.1
- 2021-01-25 16:20:10, Info SP Executing operation: Add [3] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\Microsoft-Windows-WordPad-FoD-Package~~amd64~en-US~10.0.19041.1
- 2021-01-25 16:20:15, Info SP Executing operation: Add [1] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\Microsoft-Windows-Printing-PMCPPC-FoD-Package~~amd64~en-US~10.0.19041.1
- 2021-01-25 16:20:19, Info SP Executing operation: Add [1] package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\Windows10.0-KB4598242-x64.cab
- 2021-01-25 16:47:03, Info SP Executing operation: Complete servicing operations
NOTE! – The KB article installation took most of the time in this example. But, in a normal scenario, these KBs should already be installed before Windows 10 in-place upgrade. There will be improvements on Windows 10 updates whenever the device can take any NEO path and hence skipped the Safe OS phase.
- 2021-01-25 16:47:04, Info SP Executing operation: Migrate framework (Full)
- 2021-01-25 16:48:17, Info SP Executing operation: Set product key
- 2021-01-25 16:48:22, Info SP Executing operation: Run sysprep specialization offline on F:\$WINDOWS.~BT\NewOS
- 2021-01-25 16:48:29, Info SP Executing operation: Add Appx package F:\windows\SoftwareDistribution\Download\4eea2720b7c97f1951f7f50d8bc94544\LanguageExperiencePack.en-gb.Neutral.appx
- 2021-01-25 16:48:52, Info SP Executing operation: Offline portion of first and oobe boot apply operations
- 2021-01-25 16:52:12, Info SP Executing operation: Add boot entry for F:\$WINDOWS.~BT\NewOS\WINDOWS. Locale = en-US
- 2021-01-25 16:52:12, Info SP Executing operation: Prepare the new OS for first boot
- 2021-01-25 16:52:13, Info SP Executing operation: Ensure suspended services are stopped
- 2021-01-25 16:56:53, Info SP Executing operation: Create registry key HKLM\System\CurrentControlSet\Services\i8042prt\Parameters (value name: PollingIterations) on the new system
- 2021-01-25 16:56:53, Info SP Executing operation: Create registry key HKLM\System\Setup\Upgrade (value name: DownlevelBuildNumber) on the new system
- 2021-01-25 16:56:53, Info SP Executing operation: OOBE boot apply
- 2021-01-25 17:03:42, Info SP Executing operation: Refresh localized strings
- 2021-01-25 17:03:44, Info SP Executing operation: Execute provisioning migration
- 2021-01-25 17:03:48, Info SP Executing operation: Gather end install, scope: EVERYTHING
- 2021-01-25 17:04:06, Info SP Executing operation: Start suspended services
- 2021-01-25 17:04:11, Info SP ExecuteOperations: Successfully processed execution phase Pre OOBE
- 2021-01-25 17:04:35, Info SP OPERATIONTRACK ExecuteOperations: Start execution phase Post OOBE
- 2021-01-25 17:04:35, Info SP ExecuteOperations: Successfully processed execution phase Post OOBE
- 2021-01-25 17:04:35, Info SP OPERATIONTRACK ExecuteOperations: Start execution phase Post OOBE Boot
- 2021-01-25 17:04:35, Info SP ExecuteOperations: Successfully processed execution phase Post OOBE Boot
- 2021-01-25 17:04:35, Info SP OPERATIONTRACK ExecuteOperations: Start execution phase End
- 2021-01-25 17:04:35, Info SP ExecuteOperations: Successfully processed execution phase End
- 2021-01-25 17:04:35, Info SP Phase: Pre-Finalize
- 2021-01-25 17:04:35, Info SP Phase: Finalize
- 2021-01-25 17:04:35, Info SP Phase: Safe OS
- 2021-01-25 17:04:35, Info SP Phase: Pre First Boot
- 2021-01-25 17:04:35, Info SP Phase: Pre SysPrep
- 2021-01-25 17:04:35, Info SP Phase: Post SysPre
- 2021-01-25 17:04:35, Info SP Phase: Post First Boot
- 2021-01-25 17:04:35, Info SP Phase: Pre OOBE Boot
- 2021-01-25 17:04:35, Info SP Phase: Pre OOBE
- 2021-01-25 17:04:35, Info SP Phase: Post OOBE
- 2021-01-25 17:04:35, Info SP Phase: Post OOBE Boot
- 2021-01-25 17:04:35, Info SP Phase: End
- 2021-01-25 17:07:40, Info CBS Trusted Installer is shutting down because: SHUTDOWN_REASON_AUTOSTOP
================== Started Applying image=============================
- 2021-01-25 15:52:49, Info SP SPWIMCallback: Image apply. Progress: 0
- 2021-01-25 16:13:42, Info SP SPWIMCallback: Image apply. Progress: 100
- 2021-01-25 16:13:43, Info SP Executing operation: Complete new OS apply
===================Complete New OS Apply================
- 2021-01-25 16:13:43, Info SP 41|Complete new OS apply
======================DPX Phase======================
- 2021-01-25 16:20:34, Info DPX Started DPX phase: Resume and Download Job
- 2021-01-25 16:26:13, Info DPX Ended DPX phase: Apply Deltas Provided In File
- 2021-01-25 16:49:16, Warning Mig::CUpgradeTransportStreamProxy::CreateFolder: Error while setting short name MICROS~1 for \\?\F:\$WINDOWS.~BT\NewOS\Program Files\Microsoft Update Health Tools. Error: 0xC0000035
Resources
- Upgrade to Windows 10 2004 Using SCCM | ConfigMgr | Servicing
- Difference Between Windows Patch Management Using Intune Vs. ConfigMgr | SCCM | Software Updates
Author
Anoop is Microsoft MVP! He is a Solution Architect in enterprise client management with more than 20 years of experience (calculation done in 2021) in IT. He is a blogger, Speaker, and Local User Group HTMD Community leader. His main focus is on Device Management technologies like SCCM 2012, Current Branch, and Intune. E writes about ConfigMgr, Windows 11, Windows 10, Azure AD, Microsoft Intune, Windows 365, AVD, etc…