20 KiB
title, description, ms.topic, ms.date, zone_pivot_groups, appliesto
title | description | ms.topic | ms.date | zone_pivot_groups | appliesto |
---|---|---|---|---|---|
Customize the Start layout | Learn how to customize the Windows Start layout, export its configuration, and deploy the customization to other devices. | how-to | 03/04/2024 | windows-versions-11-10 |
Customize the Start layout
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 pins, 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.
Note
If you are looking for OEM information, see the article Customize the Start layout.
Customization process
To customize the Windows Start layout and deploy its configuration to other devices, follow these steps:
- From a reference device, configure the Start layout to meet your requirements
- 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 screen 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'll 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:
::: zone pivot="windows-10"
- **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 then 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.
::: zone-end
::: zone pivot="windows-11"
- **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 then 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
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.
::: zone-end
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.
::: zone pivot="windows-10" The exported customization consists of an XML file containing a list of tiles that define the Start layout. The XML file must adhere to an XML schema definition (XSD). Here's a link to the XSD: Start XML Schema Definition (XSD).
Note
The Start layout is located by default at
C:\Users\%USERNAME%\AppData\Local\Microsoft\Windows\Shell\
.
Important
If you include secondary Microsoft Edge tiles (tiles that link to specific websites in Microsoft Edge), see Add custom images to Microsoft Edge secondary tiles for instructions.
To export the Start layout to an .xml file:
-
While signed in with the same account that you used to customize Start, right-click Start, and select Windows PowerShell.
-
Run
Export-StartLayout
with the switch-UseDesktopApplicationID
. For example:Export-StartLayout -UseDesktopApplicationID -Path layout.xml
In the previous command,
-path
is a required parameter that specifies the path and file name for the export file. You can specify a local path or a UNC path (for example,\\FileServer01\StartLayouts\StartLayoutMarketing.xml
).Use a file name of your choice—for example, StartLayoutMarketing.xml. Include the .xml file name extension. The Export-StartLayout cmdlet doesn't append the file name extension, and the policy settings require the extension.
-
(Optional) Edit the .xml file to add a taskbar configuration or to modify the exported layout. When you make changes to the exported layout, be aware that the order of the elements in the .xml file is critical.
Important
If the Start layout that you export contains tiles for desktop (Win32) apps or .url links, Export-StartLayout will use DesktopApplicationLinkPath in the resulting file. Use a text or XML editor to change DesktopApplicationLinkPath to DesktopApplicationID. See Specify Start tiles for details on using the app ID in place of the link path.
Note
All clients that the start layout applies to must have the apps and other shortcuts present on the local system in the same location as the source for the Start layout.
For scripts and application tile pins to work correctly, follow these rules:
- Executable files and scripts should be listed in \Program Files or wherever the installer of the app places them.
- Shortcuts that will pinned 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 will not pin to Start.
- Start on Windows 10 does not support subfolders. We only support one folder. For example, \ProgramData\Microsoft\Windows\Start Menu\Programs\Folder. If you go any deeper than one folder, Start will compress the contents of all the subfolder to the top level.
- Three additional shortcuts are pinned to the start menu after the export. These are shortcuts to %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs, %APPDATA%\Microsoft\Windows\Start Menu\Programs, and %APPDATA%\Microsoft\Windows\Start Menu\Programs\System Tools.
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.
Configure a partial Start layout
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.
:::image type="content" source="images/windows-10-partial-layout.png" alt-text="Screenshot of the Windows 10 Start menu with partial layout.":::
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.
When a partial Start layout is applied to a device that already has a StartLayout.xml 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:
-
Open the layout XML file. There is a
<DefaultLayoutOverride>
element. AddLayoutCustomizationRestrictionType="OnlySpecifiedGroups"
to the DefaultLayoutOverride element as follows:<DefaultLayoutOverride LayoutCustomizationRestrictionType="OnlySpecifiedGroups">
::: zone-end
::: zone pivot="windows-11"
-
Create a folder to save the
.json
file. For example, create theC:\Layouts
folder -
Open Windows PowerShell
-
Run the following cmdlet:
Export-StartLayout -Path "C:\Layouts\LayoutModification.json"
The exported customization consists of a JSON file containing a list of pins that define the Start layout.
- Open the
LayoutModification.json
file in a JSON editor, such as Visual Studio Code or Notepad - The
pinnedList
section includes all of the pinned apps. Copy thepinnedList
content in the JSON file
In your JSON file, you can add more apps to this section using the following keys:
Key | Description |
---|---|
packagedAppID | Use this option for Universal Windows Platform apps. To pin a UWP app, use the app's AUMID. |
desktopAppID | Use this option for unpackaged Win32 apps. To pin a Win32 app, use the app's AUMID. If the app doesn't have an AUMID, then enter the desktopAppLink instead. |
desktopAppLink | Use this option for unpackaged Win32 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. |
You can update the JSON file to:
- Change the order of existing apps. The apps in the JSON file are shown on Start in the same order
- Add more apps by entering the app ID
::: zone-end
Start layout example
Here you can find an example of Start layout that you can use as a reference:
[!INCLUDE example-start-layout]
Deploy the Start layout configuration
::: zone pivot="windows-10"
:::image type="icon" source="../images/icons/intune.svg"::: Intune/CSP
Warning
When a full Start layout is applied with this method, the users cannot pin, unpin, or uninstall apps from Start. Users can view and open all apps in the All Apps view, but they cannot pin any apps to Start. When a partial Start layout is applied, the contents of the specified tile groups cannot be changed, but users can move those groups, and can also create and customize their own groups.
Two features enable Start layout control:
-
The Export-StartLayout cmdlet in Windows PowerShell exports a description of the current Start layout in .xml file format.
Note
To import the layout of Start to a mounted Windows image, use the Import-StartLayout cmdlet.
Note
Don't include XML Prologs like <?xml version="1.0" encoding="utf-8"?> in the Start layout XML file. The settings may not be reflected correctly.
:::image type="icon" source="../images/icons/provisioning-package.svg"::: PPKG
You can use a provisioning package that you create with Windows Configuration Designer to deploy a customized Start and taskbar layout to users. No reimaging is required, and the Start and taskbar layout can be updated by overwriting the .xml file that contains the layout. The provisioning package can be applied to a running device. This enables you to customize Start and taskbar layouts for different departments or organizations, with minimal management overhead.
Important
If you use a provisioning package to configure the taskbar, your configuration will be reapplied each time the explorer.exe process restarts. If your configuration pins an app and the user unpins that app, the user's change will be overwritten the next time the configuration is applied. To apply a taskbar configuration and allow users to make changes that will persist, apply your configuration by using Group Policy.
Three features enable Start and taskbar layout control:
-
The Export-StartLayout cmdlet in Windows PowerShell exports a description of the current Start layout in .xml file format.
Note
To import the layout of Start to a mounted Windows image, use the Import-StartLayout cmdlet.
Prepare the Start layout XML file
The Export-StartLayout cmdlet produces an XML file. Because Windows Configuration Designer produces a customizations.xml file that contains the configuration settings, adding the Start layout section to the customizations.xml file directly would result in an XML file embedded in an XML file. Before you add the Start layout section to the customizations.xml file, you must replace the markup characters in your layout.xml with escape characters.
- Copy the contents of layout.xml into an online tool that escapes characters
- During the procedure to create a provisioning package, you will copy the text with the escape characters and paste it in the customizations.xml file for your project
PPKG
- Expand Runtime settings > Policies > Start, and click StartLayout.
:::image type="icon" source="../images/icons/group-policy.svg"::: GPO
You can use a Group Policy Object (GPO) to deploy a customized Start and taskbar layout to users in a domain. No reimaging is required, and the layout can be updated simply by overwriting the .xml file that contains the layout. This enables you to customize Start and taskbar layouts for different departments or organizations, with minimal management overhead.
Warning
When a full Start layout is applied with this method, the users cannot pin, unpin, or uninstall apps from Start. Users can view and open all apps in the All Apps view, but they cannot pin any apps to Start. When a partial Start layout is applied, the contents of the specified tile groups cannot be changed, but users can move those groups, and can also create and customize their own groups. When you apply a taskbar layout, users will still be able to pin and unpin apps, and change the order of pinned apps.
Three features enable Start and taskbar layout control:
- The Export-StartLayout cmdlet in Windows PowerShell exports a description of the current Start layout in .xml file format.
Note
To import the layout of Start to a mounted Windows image, use the Import-StartLayout cmdlet.
- You can modify the Start .xml file to include
<CustomTaskbarLayoutCollection>
or create an .xml file just for the taskbar configuration.
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.
Important
If you disable Start Layout policy settings that have been in effect and then re-enable the policy, users will not be able to make changes to Start, however the layout in the .xml file will not be reapplied unless the file has been updated. In Windows PowerShell, you can update the timestamp on a file by running the following command:
(ls <path>).LastWriteTime = Get-Date
::: zone-end
::: zone pivot="windows-11"
Important
The JSON file can be applied to devices using the Start layout policy CSP only. It's not possible to apply the JSON file using group policy.
[!INCLUDE tab-intro]
:::image type="icon" source="../images/icons/intune.svg"::: Intune/CSP
To configure devices with Microsoft Intune, create a Settings catalog policy and use one of the following settings:
Category | Setting name | Value |
---|---|---|
Start | Configure Start Pins | Content of the JSON file |
Start | Configure Start Pins (User) | Content of the JSON file |
[!INCLUDE intune-settings-catalog-2]
Alternatively, you can configure devices using a custom policy with the [Start CSP][CSP-1]. Use one of the following settings:
Setting |
---|
- OMA-URI: ./User/Vendor/MSFT/Policy/Config/Start/ ConfigureStartPins- String: - Value: content of the JSON file |
- OMA-URI: ./Device/Vendor/MSFT/Policy/Config/Start/ ConfigureStartPins- Data type: - Value: content of the JSON file |
[!INCLUDE intune-custom-settings-2]
:::image type="icon" source="../images/icons/provisioning-package.svg"::: PPKG
[!INCLUDE provisioning-package-1]
- Path:
Policies/Start/ConfigureStartPins
- Value: content of the JSON file
[!INCLUDE provisioning-package-2]
::: zone-end
User experience
After the settings are applied, sign in to the device. You'll see the Start layout that you configured:
::: zone pivot="windows-10" :::image type="content" source="images/windows-10.png" alt-text="Screenshot of the Windows 10 Start menu." border="false":::
Note
When you apply the policy setting, it results in a complete replacement of the existing layout, unless a partial Start layout is configured. This means users can't modify the Start layout once it's set by policy settings. If you want to allow users to modify the layout, use a partial Start layout instead.
::: zone-end
::: zone pivot="windows-11" :::image type="content" source="images/windows-11.png" alt-text="Screenshot of the Windows 11 Start menu." border="false":::
Note
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 itmes. When a user signs in again, the Start layout specified in the policy setting is reapplied, without retaining any user changes.
::: zone-end
Start layout configuration errors
If your Start layout customization isn't applied as you expect, open the Event Viewer. Go to Applications and Services Log > Microsoft > Windows > ShellCommon-StartLayoutPopulation > Operational. Look for the following events:
- Event 22: The XML is malformed. The specified file isn't valid XML. This event can happen if the file has extra spaces or unexpected characters. Or, if the file isn't saved in the UTF8 format.
- Event 64: The XML is valid, and has unexpected values. This event can happen when the configuration isn't understood, elements aren't in the required order, or source isn't found, such as a missing or misspelled
.lnk
.