Implementing a customized Start layout across your organization's devices empowers administrators with direct control over the Start menu configuration. With this capability, you can specify a tailored set of pinned applications, arranged according to preference. Utilize this feature to strategically pin desired apps, eliminate default pinned apps, and organize the application display to align with operational requirements.
This article describes how to customize the Start layout, export its configuration, and deploy the customization to other devices.
To customize the Windows Start layout and deploy its configuration to other devices, follow these steps:
Configure the Start layout to meet your requirements from a reference device
Export the Start layout configuration to a configuration file
Deploy the configuration file using one of the available options
Tip
While you can create your own configuration file, it's easier and faster to export the layout from an existing device.
Customize the Start layout on a reference device
To prepare a Start layout for export, customize the Start layout on a reference device. To prepare a reference device:
Set up a device on which to customize the Start layout, which should have the operating system that is installed on the users' devices
Install all apps and services that the Start layout should display
Create a new user account that you use to customize the Start layout
To customize Start:
Sign in to the reference device with the user account that you created
Customize the Start layout as you want users to see it by using the following techniques:
Pin apps to Start. From Start, type the name of the app. When the app appears in the search results, right-click the app and select Pin to Start
To view all apps, select All apps. Right-click any app, and pin or unpin it from Start
Unpin apps that you don't want to display. To unpin an app, right-click the app, and then select Unpin from Start
Drag existing apps on Start to reorder or group them
Resize tiles. To resize tiles, right-click the tile and then select Resize
Create your own app groups. Drag the apps to an empty area. To name a group, select above the group of tiles and then type the name in the Name group field that appears above the group
Important
If the Start layout includes tiles for apps that are not installed on the target device, the tiles for those apps will be blank. The blank tiles persist until the next time the user signs in, at which time the blank tiles are removed.
Sign in to the reference device with the user account that you created
Customize the Pinned section of the Start layout as you want users to see it by using the following techniques:
Pin apps to Start. From Start, type the name of the app. When the app appears in the search results, right-click the app and select Pin to Start
To view all apps, select All apps. Right-click any app, and pin or unpin it from Start
Unpin apps that you don't want to display. To unpin an app, right-click the app, and then select Unpin from Start
Drag existing apps on Start to reorder them
Important
If the Start layout includes pins for apps that aren't installed on the target device, the pins for those apps aren't created until the apps are installed.
Export the Start layout configuration
Once the Start layout is configured to meet your requirements, use the Windows PowerShell Export-StartLayout cmdlet to export the existing layout to a configuration file.
The exported customization consists of an XML file containing a list of tiles that define the Start layout.
Note
You can find the default Start layout template in %LOCALAPPDATA%\Microsoft\windows\Shell\DefaultLayouts.xml.
To export the Start layout to an XML file:
While signed in with the same account that you used to customize Start, create a folder to save the .xml file. For example, create the C:\Layouts folder
(Optional) Edit the XML file to add a taskbar configuration or to make any modifications to the Start layout
The exported customization consists of a JSON file containing a list of pins that define the Start layout.
To export the Start layout to a JSON file:
While signed in with the same account that you used to customize Start, create a folder to save the .json file. For example, create the C:\Layouts folder
When you make changes to the exported layout, be aware that the XML file must adhere to an XML schema definition (XSD).
The XML file requires the following order for tags directly under the LayoutModificationTemplate node:
LayoutOptions
DefaultLayoutOverride
RequiredStartGroupsCollection
AppendDownloadOfficeTile - OR - AppendOfficeSuite (only one Office option can be used at a time)
AppendOfficeSuiteChoice
TopMFUApps
CustomTaskbarLayoutCollection
InkWorkspaceTopApps
StartLayoutCollection
Comments are not supported in the LayoutModification.xml file.
Note
RequiredStartGroupsCollection and AppendGroup syntax only apply when the Import-StartLayout method is used for building and deploying Windows images.
You can edit the XML file to make any modifications to the Start layout. For example, you can include <CustomTaskbarLayoutCollection> to include the Taskbar customization.
If the Start layout that you export contains tiles for desktop apps or URL links, Export-StartLayout uses DesktopApplicationLinkPath in the resulting file. Use a text or XML editor to change DesktopApplicationLinkPath to DesktopApplicationID.
For scripts and application tile pins to work correctly, follow these rules:
Executable files and scripts should be listed in %ProgramFiles% or wherever the installer of the app places them
Shortcuts that pin to Start should be placed in %ProgramData%\Microsoft\Windows\Start Menu\Programs
If you place executable files or scripts in the %ProgramData%\Microsoft\Windows\Start Menu\Programs folder, they don't pin to Start
Note
All devices that you apply the Start layout to, must have the apps and other shortcuts present on the local system in the same location as the source for the Start layout.
After you export the layout, decide whether you want to apply a full Start layout or a partial Start layout:
When a full Start layout is applied, the users can't pin, unpin, or uninstall apps from Start. Users can view and open all apps in the All Apps view, but they can't pin any apps to Start
When a partial Start layout is applied, the contents of the specified tile groups can't be changed, but users can move those groups, and can also create and customize their own groups
Supported elements and attributes
Element
Description
LayoutModificationTemplate
Use to describe the changes to the default Start layout
Use to specify any of the following: - A Windows desktop application with a known AppUserModelID - An application in a known folder with a link in a legacy Start Menu folder - A Windows desktop application link in a legacy Start Menu folder - A Web link tile with an associated .url file that is in a legacy Start Menu folder
Use to add a specific Download Office tile to a specific location in Start
Do not use this tag with AppendOfficeSuite
LayoutOptions
New devices running Windows 10 for desktop editions default to a Start menu with two columns of tiles unless boot to tablet mode is enabled. Devices with screens that are under 10" have boot to tablet mode enabled by default. For these devices, users see the full screen Start on the desktop. You can adjust the following features:
Boot to tablet mode can be set on or off
Set full screen Start on desktop to on or off
To do this, add the LayoutOptions element in your LayoutModification.xml file and set the FullScreenStart attribute to true or false
Specify the number of columns in the Start menu to 1 or 2
To do this, add the LayoutOptions element in your LayoutModification.xml file and set the StartTileGroupsColumnCount attribute to 1 or 2
The following example shows how to use the LayoutOptions element to specify full screen Start on the desktop and to use one column in the Start menu:
The RequiredStartGroups tag contains AppendGroup tags that represent groups that you can append to the default Start layout.
The groups have the following constraints:
Two groups that are six columns wide, or equivalent to the width of three medium tiles
Two medium-sized tile rows in height. Windows ignores any tiles that are pinned beyond the second row
No limit to the number of apps that can be pinned. There's a theoretical limit of 24 tiles per group (four small tiles per medium square x three columns x two rows)
Important
You can add a maximum of two AppendGroup tags per RequiredStartGroups tag.
You can also assign regions to the append groups in the RequiredStartGroups tag's using the optional Region attribute or you can use the multivariant capabilities in Windows provisioning. If you're using the Region attribute, you must use a two-letter country code to specify the country/region that the append group(s) apply to. To specify more than one country/region, use a pipe (|) delimiter as shown in the following example:
<RequiredStartGroups
Region="DE|ES|FR|GB|IT|US">
If the country/region setting for the Windows device matches a RequiredStartGroups, then the tiles laid out within the RequiredStartGroups is applied to Start
If you specify a region-agnostic RequiredStartGroups (or one without the optional Region attribute), then the region-agnostic RequiredStartGroups is applied to Start
AppendGroup
AppendGroup tags specify a group of tiles to append to Start. There's a maximum of two AppendGroup tags allowed per RequiredStartGroups tag.
For Windows 10 for desktop editions, AppendGroup tags contain start:Tile, start:DesktopApplicationTile, or start:SecondaryTile tags.
You can specify any number of tiles in an AppendGroup, but you can't specify a tile with a Row attribute greater than one. The Start layout doesn't support overlapping tiles.
Specify Start tiles
To pin tiles to Start, partners must use the right tile depending on what you want to pin.
Tile size and coordinates
All tile types require a size (Size) and coordinates (Row and Column) attributes, regardless of the tile type that you use when prepinning items to Start.
The following table describes the attributes that you must use to specify the size and location for the tile.
Attribute
Description
Size
Determines how large the tile is.
- 1x1 - small tile - 2x2 - medium tile - 4x2 - wide tile - 4x4 - large tile
Row
Specifies the row where the tile appears.
Column
Specifies the column where the tile appears.
For example, a tile with Size="2x2", Row="2", and Column="2" results in a tile located at (2,2) where (0,0) is the top-left corner of a group.
start:Tile
You can use the start:Tile tag to pin a UWP app to Start. You must set the AppUserModelID attribute to the application user model ID (AUMID) of the corresponding app.
start:DesktopApplicationTile
You can use the start:DesktopApplicationTile tag to pin a Windows desktop application to Start. There are two ways you can specify a Windows desktop application:
Use a path to a shortcut link (.lnk file) to a Windows desktop application.
Note
Use DesktopApplicationID rather than DesktopApplicationLinkPath if the application is installed after the user's first sign-in.
To pin a Windows desktop application through this method, you must first add the .lnk file in the specified location when the device first boots.
The following example shows how to pin the Command Prompt:
You must set the DesktopApplicationLinkPath attribute to the .lnk file that points to the Windows desktop application. The path also supports environment variables.
If you're pointing to a third-party Windows desktop application and the layout is being applied before the first boot, you must put the .lnk file in a legacy Start Menu directory before first boot. For example, %APPDATA%\Microsoft\Windows\Start Menu\Programs\ or the all users profile %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\.
Use the AUMID, if this is known. If the Windows desktop application doesn't have one, use the shortcut link option.
You can also use the start:DesktopApplicationTile tag as one of the methods for pinning a Web link to Start. The other method is to use a Microsoft Edge secondary tile.
To pin a legacy .url shortcut to Start, you must create a .url file (right-click on the desktop, select New > Shortcut, and then type a Web URL). You must add this .url file in a legacy Start Menu directory before first boot; for example, %APPDATA%\Microsoft\Windows\Start Menu\Programs\ or the all users profile %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs\.
The following example shows how to create a tile of the Web site's URL, which you can treat similarly to a Windows desktop application tile:
Export-StartLayout uses DesktopApplicationLinkPath for the .url shortcut. You must change DesktopApplicationLinkPath to DesktopApplicationID and provide the URL.
start:SecondaryTile
You can use the start:SecondaryTile tag to pin a web link through a Microsoft Edge secondary tile. This method doesn't require more actions compared to the method of using legacy .url shortcuts (through the start:DesktopApplicationTile tag).
The following example shows how to create a tile of the Web site's URL using the Microsoft Edge secondary tile. Ensure to replace <--Microsoft Edge AUMID--> with the AUMID of Microsoft Edge (learn how to Find the Application User Model ID of an installed app):
Use Choice=DesktopBridgeSubscription on devices that have Office 365 preinstalled. This sets the heading of the Office suite of tiles to Office 365, to highlight the Office 365 apps that you've made available on the device.
Use Choice=DesktopBridge on devices shipping with perpetual licenses for Office. This sets the heading of the Office suite of tiles to Create.
You can use the AppendDownloadOfficeTile tag to append the Office trial installer to Start. This tag adds the Download Office tile to Start and the download tile will appear at the bottom right-hand side of the second group.
Note
The OEM must have installed the Office trial installer for this tag to work.
The following example shows how to add the AppendDownloadOfficeTile tag to your LayoutModification.xml file:
A partial Start layout enables you to add one or more customized tile groups to users' Start screens or menus, while still allowing users to make changes to other parts of the Start layout. All groups that you add are locked, meaning users can't change the contents of those tile groups, however users can change the location of those groups. Locked groups are identified with an icon, as shown in the following image.
When a partial Start layout is applied for the first time, the new groups are added to the users' existing Start layouts. If an app tile is in both an existing group and in a new locked group, the duplicate app tile is removed from the existing (unlocked) group.
If you apply a partial Start layout to a device with an existing Start layout applied, groups that were added previously are removed, and the groups in the new layout are added.
Note
If you remove the policy setting, the groups remain on the devices but become unlocked.
To configure a partial Start screen layout, modify the <DefaultLayoutOverride> element as follows:
You can edit the JSON file to make any modifications to the Pinned section of the Start layout. For example, you can change the order of the pinned elements, or add new apps.
Open the LayoutModification.json file in a JSON editor, such as Visual Studio Code or Notepad
The pinnedList section includes all the pins that are applied to the Start layout
You can add more apps to the section using the following keys:
Key
Description
packagedAppID
Used for Universal Windows Platform (UWP) apps. To pin a UWP app, use the app's AUMID.
desktopAppID
Used for desktop apps. To pin a desktop app, use the app's AUMID. If the app doesn't have an AUMID, use the desktopAppLink instead.
desktopAppLink
Used for desktop apps that don't have an associated AUMID. To pin this type of app, use the path to the .lnk shortcut that points to the app.
The content of the file must be entered as a single line in the Value field. Use a text editor to remove any line breaks from the XML file, usually with a function called join lines.
The Windows Provisioning multivariant capability allows you to declare target conditions that, when met, supply specific customizations for each variant condition. For Start customization, you can create specific layouts for each variant that you have. To do this, you must create a separate LayoutModification.xml file for each variant that you want to support and then include these in your provisioning package. For more information on how to do this, see Create a provisioning package with multivariant settings.
The provisioning engine chooses the right customization file based on the target conditions that were met, adds the file in the location that's specified for the setting, and then uses the specific file to customize Start. To differentiate between layouts, you can add modifiers to the LayoutModification.xml filename such as "LayoutCustomization1". Regardless of the modifier that you use, the provisioning engine will always output "LayoutCustomization.xml" so that the operating system has a consistent file name to query against.
For example, if you want to ensure that there's a specific layout for a certain condition, you can:
Create a specific layout customization file and then name it LayoutCustomization1.xml
Include the file as part of your provisioning package
Create your multivariant target and reference the XML file within the target condition in the main customization XML file
The following example shows what the overall customization file might look like with multivariant support for Start:
When the condition is met, the provisioning engine takes the XML file and places it in the location that the operating system has set and then the Start subsystem reads the file and applies the specific customized layout.
You must repeat this process for all variants that you want to support so that each variant can have a distinct layout for each of the conditions and targets that need to be supported. For example, if you add a Language condition, you can create a Start layout that has its own localized group.
To configure a device with group policy, use the Local Group Policy Editor. To configure multiple devices joined to Active Directory, create or edit a group policy object (GPO) and use one of the following settings:
Group policy path
Group policy setting
Value
Computer Configuration > Administrative Templates > Start Menu and Taskbar
Start Layout
Path to the XML file
User Configuration > Administrative Templates > Start Menu and Taskbar
The GPO applies the Start and taskbar layout at the next user sign-in. Each time the user signs in, the timestamp of the .xml file with the Start and taskbar layout is checked and if a newer version of the file is available, the settings in the latest version of the file are applied.
Note
You can apply a Start layout to a mounted Windows image, with the PowerShell Import-StartLayout cmdlet.
Don't include XML Prologs like <?xml version="1.0" encoding="utf-8"?> in the Start layout XML file.
Important
The JSON file can be applied to devices using the Start policy CSP only. It's not possible to apply the JSON file using group policy.
The content of the file must be entered as a single line in the Value field. Use a text editor to remove any line breaks from the JSON file, usually with a function called join lines.
After the settings are applied, sign in to the device. The Start layout that you configured is applied to the Start menu.
When a full Start layout is applied with policy settings, users can't pin, unpin, or uninstall apps from Start. Users can view and open all apps in the All Apps view, but they can't change the Start layout. When you apply a partial Start layout, the content of the specified tile groups can't be changed, but users can move the groups, and can create and customize their own groups.
When you configure the Start layout with policy settings, you overwrite the entire layout. Users can change the order of the pinned elements, pin, or unpin items. When a user signs in again, the Start layout specified in the policy setting is reapplied, without retaining any user changes.
Next steps
To learn more about the policy settings available to configure the Start menu using the Configuration Service Provider (CSP) and Group Policy (GPO), see Start menu policy settings.
This module describes how administrators can activate Windows clients at scale and use Group Policy and PowerShell to apply configuration settings to groups of Windows clients.