Why does a ProfileUnity drive mapping take 25 to 30 seconds at logon, but only for users who are local administrators?
On Windows 11 24H2 and 25H2, a ProfileUnity drive mapping can stall for about 30 seconds at logon for users who are members of the local Administrators group. The same mapping is instant for standard users. This article explains the cause, how to confirm it, and how to resolve it.
The underlying Windows problem is described in Microsoft KB5072911: Explorer, the Start menu, and other XAML-dependent apps might not start or close unexpectedly on some enterprise devices.
📄 Contents
Symptoms
- Logon pauses on the ProfileUnity splash at Drive Mapping for 25 to 30 seconds.
- The ProfileUnity log
client_DriveMapping_Logon_*.logshows a longStop DriveMappingModule.Connect(for example00:00:30.0474444) followed byconnect completed = True. The mapping succeeds; it is only slow. - Only users who are local administrators are affected. Removing the user from the local Administrators group makes the mapping fast.
- The share itself responds quickly:
DriveMappingModule.EnsurePathExistscompletes in milliseconds, and other drives to the same file server map instantly. - The Application event log shows Event ID 1000 for
ShellHost.exewith faulting moduleControlCenter.dlland exception code0xc0000409, around 30 to 40 seconds after logon. Quick Settings (Win+A) may not open right after logon.
Cause
Three conditions together cause the delay:
-
ShellHost.exe hangs at logon. On affected Windows 11 24H2 and 25H2 builds, the Windows package
Microsoft.UI.Xaml.CBSis not registered for the user in time. ShellHost (Quick Settings / Control Center) keeps retrying, stops responding, and crashes after about 30 seconds. Microsoft documents this in KB5072911. - ProfileUnity maps drives with elevated rights. For a local administrator, the ProfileUnity elevation service runs the logon client with the user's linked (elevated) UAC token. The drive is therefore created in the user's elevated logon session.
-
EnableLinkedConnections is enabled. ProfileUnity sets
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLinkedConnections = 1at startup, so that drives mapped in the elevated session are also visible in Explorer. In this linked-connection path, the elevated mapping call does not return until ShellHost responds. With a hung ShellHost, that is when ShellHost crashes.
Standard users have no linked token, so the linked-connection path is not used and the mapping is immediate.
Liquidware reproduced this on Windows 11 25H2 by suspending ShellHost.exe and mapping a drive with the same API ProfileUnity uses:
| User and context | EnableLinkedConnections | Mapping time |
|---|---|---|
| Standard user | 1 |
0.006 s |
| Local administrator, not elevated | 1 |
0.007 s |
| Local administrator, elevated (as ProfileUnity) | 1 |
✗ 29.7 s |
| Local administrator, elevated | 0 |
0.008 s |
How to Confirm
Log on with an affected administrator account, wait one minute, and check the following.
In the ProfileUnity log folder (%TEMP%\ProfileUnity), find the duration of the slow mapping:
Select-String -Path "$env:TEMP\ProfileUnity\client_DriveMapping_Logon_*.log" -Pattern 'Stop DriveMappingModule.Connect'
Check the Application event log for ShellHost crashes in the last 15 minutes:
Get-WinEvent -FilterHashtable @{LogName='Application'; Id=1000; StartTime=(Get-Date).AddMinutes(-15)} |
Where-Object Message -match 'ShellHost' | Select-Object TimeCreated, Message
The issue is confirmed when the mapping takes 25 to 30 seconds and a ShellHost.exe / ControlCenter.dll crash is logged around the same time.
Resolution
The fix is on the Windows side: make sure ShellHost does not hang at logon. Start with step 1, and use step 2 only if the issue remains after the update.
1. Install the latest Windows cumulative update
Microsoft states in KB5072911 that the issue is addressed in Windows updates released from June 23, 2026, and that the resolution is rolled out gradually. Install the latest cumulative update on one test device, restart, and log on twice with an administrator account. The first logon after an update can differ. Then verify the result as described in step 3.
2. Register the shell XAML packages at logon
If ShellHost still crashes after the update, apply the workaround from KB5072911: register the three shell packages for the user at every logon, before the drive mappings run. In ProfileUnity, add a User Defined Script that runs in the Logon > Pre phase (before the other modules) with Wait for completion enabled.
Executable: powershell.exe. Arguments (adjust the share path):
-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File "\\server\share\Register-ShellXamlPackages.ps1"
Content of Register-ShellXamlPackages.ps1. It only registers packages that are not yet registered for the user and writes a log to %TEMP%\Register-ShellXamlPackages.log:
$log = Join-Path $env:TEMP 'Register-ShellXamlPackages.log'
$packages = @{
'MicrosoftWindows.Client.CBS' = 'MicrosoftWindows.Client.CBS_cw5n1h2txyewy'
'Microsoft.UI.Xaml.CBS' = 'Microsoft.UI.Xaml.CBS_8wekyb3d8bbwe'
'MicrosoftWindows.Client.Core' = 'MicrosoftWindows.Client.Core_cw5n1h2txyewy'
}
foreach ($name in $packages.Keys) {
if (Get-AppxPackage -Name $name) { "$(Get-Date -f s) skip $name (registered)" | Add-Content $log; continue }
$manifest = "$env:SystemRoot\SystemApps\$($packages[$name])\appxmanifest.xml"
try {
Add-AppxPackage -Register -Path $manifest -DisableDevelopmentMode -ErrorAction Stop
"$(Get-Date -f s) OK $name registered" | Add-Content $log
} catch {
"$(Get-Date -f s) ERROR $name : $($_.Exception.Message)" | Add-Content $log
}
}
ShellHost may already be running when the Pre phase starts. The script does not restart it; ShellHost retries every few seconds and should pick up the registration on its next attempt. Always verify the result (step 3) on a test group before you roll the script out to all users.
3. Verify the result
Log on with an administrator account and repeat the checks from How to Confirm:
-
Stop DriveMappingModule.Connectis under one second. - No Event ID 1000 for
ShellHost.exe/ControlCenter.dllat logon. - Quick Settings (Win+A) opens immediately.
- If you used step 2: the script log shows OK or skip for each package and no ERROR lines.
When ShellHost no longer hangs at logon, the elevated drive mapping no longer waits, and administrators get their drives as fast as standard users.
What Not to Do
Setting
EnableLinkedConnections to 0 removes the delay, but drives mapped by ProfileUnity are then no longer visible in Explorer for local administrators. ProfileUnity also sets the value back to 1 at every startup.
Removing users from the local Administrators group also avoids the delay, but it is an organizational decision rather than a fix.
Troubleshooting
- If a drive mapping is slow for all users, or no ShellHost crash is logged, this article does not apply. Check name resolution, Kerberos and access to the share first.
- For the Windows issue itself, see Microsoft KB5072911.
- If the issue remains after steps 1 and 2, collect a ProfileUnity Client Diagnostic bundle from an affected logon (with the logon user still signed in) and contact Liquidware Support.
| Product | Liquidware ProfileUnity |
| Applies To | ProfileUnity 6.9.5 on Windows 11 24H2 and 25H2 (observed on builds 26100.9445 and 26200.9445) |
| Updated | October 19, 2026 |