Location:
State:
Carrier
Country
Status

Cumulative Update 1511 and Moved Users direcory


Hi All,

I've been looking around the Internet for a solution to "Cumulative Update for Windows 10 Version 1511 for x64-based Systems (KB3147458)" failing to update; and while there are a multitude of success stories out there, none of the solutions worked for me.

In researching an unrelated issue, it occurred to me that I may have a customization that might be interfering with this update, and the (now mandatory...sigh) Windows Update process:

I have moved my Users directory to a custom location using a junction (a symbolic link/shortcut).

There are many (unsupported) ways to do this, and a quick Google shows that a multitude of people are not happy with the standard "Users folder lives on the system disk and you can move libraries/directories using the System Settings" solution provided by Microsoft. This is especially common for folks who boot from an SSD, but have tons and tons of large files which wouldn't fit on that SSD; especially if you anticipate the need to create new user accounts but don't want to write a script or hand-configure each new account to move the directories to the secondary volume via the available System Settings.

My method (as found online) was to robocopy my initial Users folder just after a clean install of Windows 10, and then create a junction at C:Users which pointed to D:Users (which is my large HDD).

This causes a problem with some updates when they need to make adjustments to files stored within Users.

Windows Update looks at the registry to find the location of the Users directory, and also the UsersDefault and UsersPublic directories (if an update requires changes to them). In my case, Windows update could not locate the Users directory because I had moved it, and Windows Update does not (always) follow junctions.

The Solution: Tell Windows where to go
Windows holds the location of the Users, UsersDefault, and UsersPublic directories in some registry entries under the following key:
Code:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionProfileList
Now, while this key has sub-keys, it's the four string values (REG_EXPAND_SZ) we are interested in. They are:

  1. Default (Note: Not "(Default)", but "Default")
  2. ProfilesDirectory
  3. ProgramData
  4. Public


All of these contain paths to the respective directory locations beginning with the Environment Variable %SystemDrive%, which normally expands to "C:" (unless you use a different drive letter for Windows, which I do not). That means, for example, that when looking for the Default profile directory, Windows Update attempts to access "C:UsersDefault". For whatever reason, Windows Update will NOT resolve the junction at C:Users pointing to my D:Users and, by extension, will not find D:UsersDefault. I fixed this by replacing %SystemDrive% with "D:" for the appropriate paths so that Windows Update had a direct path to the built-in profiles and Users directory. The update then worked on the first try!

If you have been pulling your hair out over this one and have tried everything else (The Windows Update repair tool, etc) and nothing seems to work and you have made this modification to your system and have NOT already updated your registry to reflect the new location of your profiles, this may be exactly what you are looking for - and may also prevent this problem in the future should another update touch something in the profiles (probably tweaking something in UsersDefault so that new users created have the fix already applied).

Please note that I have NOT tried anything else after doing this (creating accounts, etc) so TRY THIS AT YOUR OWN RISK, and please TEST, TEST, TEST. If I run into any issues I will report back to this thread. Hope that saved a headache!

Again a good example why links and junctions should not be used to locate Users folder outside the system drive. For the functionality of Windows, %systemprofile%should always point to Windows system drive, usually the C: drive.

The only reasonable method to move the Users is to use Sysprep for relocation. It automatically changes the values of those environment variables related with user profiles (%userprofile%, %appdata%, %localappdata%, %temp% and so on) but does not require changing system wide variables (%systemdrive%, %windir%, %programfiles% and so on)..

The process requires no manual editing of registry, no links or junctions, and is fast and easy to do either when installing Windows, or later on for existing Windows installation. It also allows updating and upgrading Windows without any whatsoever issues.

Users Folder - Move Location in Windows 10 - Windows 10 blog

Kari

Kari,

Your tutorial on this is wonderful - I must admit when I set up my data folders on a secondary disk, it was after a crash (caused by Windows 10 updates!) and I was in a bit of a panic. I didn't really have a computer to create the XML file with at the time (well, I had a laptop but I had no functionality on my main machine where the install was taking place with fresh new drives).

My question is: If I already have things set up as they are (junction to D:Users) and I want to use this method on my existing install to ensure my setup is configured correctly, are there any risks of losing data in the current accounts? What extra steps to I need to take to remove the junction and then run the SysPrep so there are no conflicts (or is this not an issue)?

You must be sure you have removed absolutely all junctions before using the sysprep method. To remove links simply delete them as you would delete any file or folder. Be sure not to delete the original files and / or folders!

Cumulative Update 1511 and Moved Users direcory