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 ??
Sincerely,
Josh