The issue
On Windows 10 I created a default Start Menu layout. This way, the Start Menu of our users would not be filled with unwanted apps by default.
Recently Windows 11 was released and I decided to immediately try to create a Windows 11 deployment task sequence in the Microsoft Deployment Toolkit (MDT). One thing I noticed is that the way Windows 10 handles the Start Menu layout is not the same as Windows 11 does.
Windows 10 can export and import the Start Menu layout using the Export-StartLayout and Import-StartLayout PowerShell commands. On Windows 10 these commands export and import the Start Menu layout as an XML file. On Windows 11 the Start Menu layout is exported as a json file. The import command can’t be used with a json file on Windows 11.
The solution
So how do we import a default Start Menu layout on Windows 11 then? The only information I could find about this topic was an article on Microsoft Docs, with information for OEMs to add a couple of pinned apps, but there was no information about importing a default Start Menu layout… until I stumbled upon a tweet from Twitter user Albacore.
Apparently the Windows 11 Start Menu layout is stored in the folder %LocalAppdata%\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\LocalState as a file called start2.bin (previously called start.bin on Windows 11 21H2 and earlier). According to Albacore the file is encrypted and can be swapped across installs. I can confirm that this works fine indeed.
Exporting and deploying the Start Menu layout
Now that we know how to “export” the Start Menu layout, it is possible to deploy it to a fresh Windows 11 installation using the Microsoft Deployment Toolkit (MDT) for example.
- Pin apps to the Start Menu the way you like it.
- Go to %LocalAppData%\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\LocalState and copy the file start2.bin to a folder of your deployment solution.
- Add a command to your deployment Task Sequence to copy the file to the Default User profile, for example by using xcopy.
xcopy "%ScriptRoot%\Windows11\StartMenu\start2.bin" "%OSDisk%\Users\Default\AppData\Local\Packages\Microsoft.Windows.StartMenuExperienceHost_cw5n1h2txyewy\LocalState\" /y
Alternatively, you could mount the install.wim file and copy the file to the image.
When a new user logs in, the Start Menu layout will be applied once. If you want to overwrite the Start Menu layout of existing users, copy the file to the AppData folder of each user. After that, they need to log out and log in, or restart the Windows Explorer process. Alternatively, you could kill the SartMenuExperienceHost with the following command:
taskkill /F /IM StartMenuExperienceHost.exe