In-place upgrade from 1803 to 1909 fails because roaming user profile removed during logoff

ittech 1 Reputation point

I have a task sequence (SCCM) which runs an in-place upgrade from Windows 10 1803 Enterprise to Windows 10 1909, but if it's run while a domain user is logged on then it fails and rolls Windows back. I narrowed down the cause, after reviewing the setupact.log, to a group policy setting "delete cached copies of roaming profiles". What it looks like is happening is that: setup tries to migrate the user profile of the logged-on user, but when it tries, the user has already been logged off because of the reboot to WinPE and therefore the cached copy of the roaming profile is gone, and setup can't find it so the whole upgrade fails.

This is from the setupact.log:

Error                        Mig::CUpgradeTransportPlatform::SetUserContext: Store platform failed to find the user with ID: USER00000000, SID: S-1-5-21-**********-**********-**********-*****
(I verified the starred SID is for my user account which was logged on when the upgrade task sequence started)
Error                        MigApply caught exception: Win32Exception: Can't switch to requested user context: USER00000000.: A device attached to the system is not functioning. [0x0000001F] int __cdecl Mig::CKnowledgeManager::Apply(class Mig::CPlatform *,class Mig::CPlatform *,class Mig::CPlatform *,class Mig::CUserMappingList *,class UnBCL::Hashtable<class UnBCL::String *,class UnBCL::String *> *,class Mig::CAgentManager *,class Mig::CMigrationLogger *,int *,struct IMigExecuteProgress *)
Error                 SP     ExecuteOperations: Failed execution phase Post First Boot. Error: 0x8007001F
Info                  SP     Execution phase [Post SysPrep] exiting with HRESULT [0x8007001F]

Note: When I start the task sequence with my test user account logged on, which doesn't have a roaming profile, the in-place upgrade succeeds.

Now I'm wondering what my options are to get this to succeed on a larger scale, because as it is right now, it will fail on most computers because of users being logged on.

  • Is there a way to get setup to not migrate roaming profiles during the in-place upgrade? However, I'm hesitant about this option because we have a relatively small number of domain accounts without roaming profiles and I would not want their desktop/documents/data to get lost during the IPU.
  • Disable the group policy to remove cached copies of roaming profiles, temporarily, while we do the in-place upgrade for the organization.
  • ?? More options ??



Microsoft Configuration Manager Deployment
Microsoft Configuration Manager Deployment
Microsoft Configuration Manager: An integrated solution for for managing large groups of personal computers and servers.Deployment: The process of delivering, assembling, and maintaining a particular version of a software system at a site.
601 questions
{count} votes

2 answers

Sort by: Most helpful
  1. Fiona Yan-MSFT 2,296 Reputation points

    Hi ittech,

    Thanks for posting in Q&A.

    1. Could we add another steps, such as capturing user files and settings, restoring user files and settings? In this way, our task sequence sequence process should be:capture-upgrade-restore.
      As the image shown below:
      Here is a detailed guide to capture and restore USMT on our SCCM:
      Note: This link is non official article of Microsoft just for your reference.
    2. Maybe we need to disable the group policy temporarily for our test requirement.

    If the response is helpful, please click "Accept Answer" and upvote it.

    No comments

  2. Gary Blok 1,716 Reputation points

    Can you restart the computer before the Upgrade OS step, so there are no logged on users? Sorry, I know it sounds simple and was probably already ruled out for some reason, but I didn't see you mention it.

    No comments