Ask the Architect

Sync the Windows 10 Start Menu in VDI


NOTE: This is for Windows 10 builds before 1703.  Windows 10 1703 changes the storage location for the Start Menu. Learn more here

Windows 10 VDI. Of course it works. But one of the annoying things that really bothers me is not being able to customize my start menu.

My IT team created a standard start menu. It has 3 browsers,, Notepad, Windows Media Player, plus much more stuff I never use.  I really, really, really want to customize this thing

So why can’t we roam the start menu between VDI sessions?

With Windows 10, the start menu is contained within an always active database file %localappdata%\TileDataLayer\Database\vedatamodel.edb. I tried using Citrix User Profile Management to sync the file, but it fails because the file is always active.

And then I was listening to Syn302 –  Keys to a Successful XenApp and XenDesktop User Experience where Shane Smith talked about customizing the Windows 10 start menu.  He said it is possible. And he said you just have to configure Citrix User Profile Management to sync the file %localappdata%\TileDataLayer\Database\vedatamodel.edb.

Really?  I tried that. It doesn’t work! Feller getting ANGRY

I reached out to Shane and he said he has it working. He sent me his policy so I could match it with my own. I tried again and again and again. Here are my results

Wait… What? Success?  What did I do differently?

On test 1, 2, 3 and 5, I modified the start menu and then told my Windows 10 virtual desktop to shut down. On test 4, I modified the start menu and told my Windows 10 virtual desktop to sign me out. So signing out works, but shutdown does not. Why?

My assumption is that even though I have my XenDesktop catalog configured to reboot after logoff, there is a slight delay between when my sign out completes and before the XenDesktop controller issues the shutdown command.  That delay is enough time for the start menu database file to not be active and to sync to my roaming profile.

Of course, this all happens fairly quickly.  In production, will there be enough time to sync the file before the desktop reboots?  I wonder if we can delay the reboot of a desktop by a few seconds after logoff. If so, I’m betting it will be configured with PowerShell.

I ran the following command: Get-BrokerDesktopGroup -Name “Windows 10 Desktop – Office Productivity”

And I found the following entry

SettlementPeriodBeforeAutoShutdown    : 00:00:00

Increasing this to 00:00:15 added the 15 second reboot delay I was looking for.

Want to try yourself? You need to do the following:

Daniel (Follow on Twitter @djfeller)
Citrix XenApp and XenDesktop 7.6 VDI Handbook
XenApp Best Practices
XenApp Video