In Windows 11 we can no longer deploy a custom Start Menu layout as we could in Windows 10. We don’t have any “Partial” managed option either as we had in Windows 10. The Group Policy “Start Layout” can still be used to deploy a custom Taskbar layout, HOWEVER the end user can no longer pin apps to the Start Menu if it’s deployed to the client, more on that topic here: Modify Windows 11 Taskbar during OSD, Intune and GPO – CCMEXEC.COM – Enterprise Mobility
What can we do if we are not using Intune then? There is an option for OEMs to pin applications to the Start Menu by using a “LayoutModification.json” file. The functionality is a bit limited, but we can use it to pin apps per default during OSD. More information can be found here: Customize the Windows 11 Start menu | Microsoft Docs
What can we do then? These are the rules of the LayoutModification.json.
If we look at the Start Menu this is what the apps we place in the different sections ends up. When we have tested this is what we have observed so far:
- Edge is always pinned first
- Word, Excel, PowerPoint are automatically pinned if installed
- Outlook is NOT pinned per default
- If we add one of these apps in our Layoutmodification.json they will not move but they will take up one of the items that we can pin in the file.
- Teams cannot be pinned as it isn’t installed for all users and not installed when the user logs on.
Here is my sample LayoutModification.json that can be used for testing. It can also be downloaded from here: https://github.com/Ccmexec/MEMCM-OSD-Scripts/tree/master/Windows11
{
"primaryOEMPins": [
{
"desktopAppLink": "%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\7-Zip\\7-Zip File Manager.lnk"
},
{
"desktopAppLink": "%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\Microsoft Endpoint Manager\\Configuration Manager\\Software Center.lnk"
},
{
"desktopAppLink": "%ALLUSERSPROFILE%\\Microsoft\\Windows\\Start Menu\\Programs\\Outlook.lnk"
},
{
"packagedAppId": "Microsoft.WindowsTerminal_8wekyb3d8bbwe!App"
}
],
"secondaryOEMPins": [
{
"packagedAppId": "Microsoft.WindowsCamera_8wekyb3d8bbwe!App"
},
{
"packagedAppId": "Microsoft.WindowsSoundRecorder_8wekyb3d8bbwe!App"
},
{
"packagedAppId": "Microsoft.SecHealthUI_8wekyb3d8bbwe!SecHealthUI"
}
],
"firstRunOEMPins": [
{
"packagedAppId": "Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe!App"
}
]
}
The result will look like this, Start will be divided in two:
During OSD I run a PowerShell script that copies the LayoutModification.json to the correct location.
My source files:
The PowerShell script:
Copy-Item -Path $PSScriptRoot'\LayoutModification.json' -Destination $env:SystemDrive'\Users\Default\Appdata\Local\Microsoft\Windows\Shell'
It is not perfect, but we can at least pin some default apps. If we should do that is up to you!
Thanks to my amazing colleague Sassan Fanai who helped a lot with testing all this out.
I hope you find it useful!
Awesome work!
Hi Jörgen, any ideas on why this might not work for me? I can see the import script run during OSD without errors, I´ve used your sample file but also tried to export my own .json but after OSD the startmenu is just default..
HI,
I have uploaded the script and the laytoutmodification.json sample to Gitub https://github.com/Ccmexec/MEMCM-OSD-Scripts/tree/master/Windows11
Tested it now and it works just fine, could be a copy and paste issue.
Regards,
Jörgen
Same problem here. 🙁
Hi,
Is there a way to remove some icons via JSON such as the Windows Store, Alarms & clocks, etc…?
Regards.
Hi, I’m using your RemoveApps script and Startmenu layout script, it works, but why there are Solitaire, Xbox, Spotify, Disney+, PrimeVideo, TikTok, Instagram, Facebook still in the Start menu? Is there anyway to remove these? Thanks.
Hi, any ideas how to remove promotional apps like Spotify, Facebook, Instagram in Start menu even after using the script?
Using the script provided (RemoveApps and json file) but the promotional apps like Facebook, Amazon… still exist in Start menu, any ideas how to remove them too?
Hi, What windows sku are you using?
Regards,
Jörgen
Windows 11 Pro, OS Build 22000.258. Another note, the Startmenu layout seems to apply to the FIRST profile when logged on, meaning it is working. But when log in with another new profile, the Start menu go back to the ‘OEM’ one, meaning all the Facebook, Spotify, Solitaire, etc. reappearing right back? I really dont understand why the default settings does not apply to ALL users? any helps really appreciated.
hello
do you know if there is any way to setup taskbar alignment as well ? with this modification, we always end up with default middle position
Hi, Yes I have written about it here: https://ccmexec.com/2021/10/modifying-windows-11-start-button-location-and-taskbar-icons-during-osd-autopilot/
Regards,
Jörgen
This works for us for Group Policy managed devices…
https://imgur.com/a/22dUhkh
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Start
ConfigureStartPins
{“pinnedList”:[{“desktopAppId”:”Microsoft.SoftwareCenter.DesktopToasts”},{“desktopAppId”:”MSEdge”}]}
We use just use GP to create a registry entry in the following locations and it will build the custom start menu for any new user. My only gripe with this new start menu style is that you can’t “lock” the pinned tiles like you could in W10.
Hi Jorgen,
I created my custom .json file and tried your script for the Start Menu layout but the file is not copied over to the Users\Default\Appdata\Local\Microsoft\Windows\Shell location.
My .json file is stored on a “Packages” folder on my site server. I also tried editing the PS script and replacing the -Path $PSScriptRoot with the UNC path to my “Packages” folder.
Appreciate any assistance you can provide.
Thanks