LayoutModification XML

IT admins can provision the Start layout using a LayoutModification.xml file. This file supports several mechanisms to modify or replace the default Start layout and its tiles. The easiest method for creating a LayoutModification.xml file is by using the Export-StartLayout cmdlet; see Customize and export Start layout for instructions.

Required order

The XML schema for LayoutModification.xml 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

Comments are not supported in the LayoutModification.xml file.

Supported elements and attributes

Note

To make sure the Start layout XML parser processes your file correctly, follow these guidelines when working with your LayoutModification.xml file:

Do not leave spaces or white lines in between each element.

Do not add comments inside the StartLayout node or any of its children elements.

Do not add multiple rows of comments.

The following table lists the supported elements and attributes for the LayoutModification.xml file.

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 pin a Web link through a Microsoft Edge secondary tile. Note that AppUserModelID is case-sensitive.

TopMFUAppsParent:LayoutModificationTemplate

n/a

Use to add up to 3 default apps to the frequently used apps section in the system area.Note: Only applies to versions of Windows 10 earlier than version 1709. In Windows 10, version 1709, you can no longer pin apps to the Most Frequently Used apps list in Start.

TileParent:TopMFUApps

AppUserModelID

Use with the TopMFUApps tags to specify an app with a known AppUserModelID. Note: Only applies to versions of Windows 10 earlier than version 1709. In Windows 10, version 1709, you can no longer pin apps to the Most Frequently Used apps list in Start.

DesktopApplicationTileParent:TopMFUApps

LinkFilePath

Use with the TopMFUApps tags to specify an app without a known AppUserModelID.Note: Only applies to versions of Windows 10 earlier than version 1709. In Windows 10, version 1709, you can no longer pin apps to the Most Frequently Used apps list in Start.

Use to add a specific Download Office tile to a specific location in StartDo not use this tag with AppendOfficeSuite

LayoutOptions

New devices running Windows 10 for desktop editions will default to a Start menu with 2 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 1 column in the Start menu:

Devices being upgraded from Windows 7 will default to a Start menu with 1 column.

Devices being upgraded from Windows 8.1 or Windows 8.1 Upgrade will default to a Start menu with 2 columns.

RequiredStartGroups

The RequiredStartGroups tag contains AppendGroup tags that represent groups that you can append to the default Start layout.

Important

For Windows 10 for desktop editions, you can add a maximum of two (2) 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 are 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 that will be appended to Start. There is a maximum of two AppendGroup tags allowed per RequiredStartGroups tag.

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:

By using a path to a shortcut link (.lnk file) to a Windows desktop application.

Note

In Start layouts for Windows 10, version 1703, you should use DesktopApplicationID rather than DesktopApplicationLinkPath if you are using Group Policy or MDM to apply the start layout and the application was 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.

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 are 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".

By using the application's application user model ID, if this is known. If the Windows desktop application doesn't have one, use the shortcut link option.

You can use the Get-StartApps cmdlet on a PC that has the application pinned to Start to obtain the app ID.

To pin a Windows desktop application through this method, you must set the DesktopApplicationID attribute to the application user model ID that's associated with the corresponding app.

The following example shows how to pin the File Explorer Windows desktop application:

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 .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:

In Windows 10, version 1703, Export-StartLayout will use 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 any additional action 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:

The following table describes the other attributes that you can use with the start:SecondaryTile tag in addition to Size, Row, and Column.

Attribute

Required/optional

Description

AppUserModelID

Required

Must point to Microsoft Edge. Note that AppUserModelID is case-sensitive.

TileID

Required

Must uniquely identify your Web site tile.

Arguments

Required

Must contain the URL of your Web site.

DisplayName

Required

Must specify the text that you want users to see.

Square150x150LogoUri

Required

Specifies the logo to use on the 2x2 tile.

Wide310x150LogoUri

Optional

Specifies the logo to use on the 4x2 tile.

ShowNameOnSquare150x150Logo

Optional

Specifies whether the display name is shown on the 2x2 tile. The values you can use for this attribute are true or false.

ShowNameOnWide310x150Logo

Optional

Specifies whether the display name is shown on the 4x2 tile. The values you can use for this attribute are true or false.

BackgroundColor

Optional

Specifies the color of the tile. You can specify the value in ARGB hexadecimal (for example, #FF112233) or specify "transparent".

ForegroundText

Optional

Specifies the color of the foreground text. Set the value to either "light" or "dark".

Secondary Microsoft Edge tiles have the same size and location behavior as a Universal Windows app, Windows 8 app, or Windows 8.1 app.

TopMFUApps

Note

Only applies to versions of Windows 10 earlier than version 1709. In Windows 10, version 1709, you can no longer pin apps to the Most Frequently Used apps list in Start.

You can use the TopMFUApps tag to add up to 3 default apps to the frequently used apps section in the system area, which delivers system-driven lists to the user including important or frequently accessed system locations and recently installed apps.

You can use this tag to add:

Apps with an AppUserModelID attribute - This includes Windows desktop applications that have a known application user model ID. Use a Tile tag with the AppUserModelID attribute set to the app's application user model ID.

Apps without a AppUserModelID attribute - For these apps, you must create a .lnk file that points to the installed app and place the .lnk file in the %ALLUSERSPROFILE%\Microsoft\Windows\Start Menu\Programs directory. Use a DesktopApplicationTile tag with the LinkFilePath attribute set to the .lnk file name and path.

The following example shows how to modify your LayoutModification.xml file to add both kinds of apps to the system area in Start:

AppendOfficeSuiteChoice

This tag is added in Windows 10, version 1803. You have two options in this tag:

<AppendOfficeSuiteChoice Choice="DesktopBridgeSubscription"/>

<AppendOfficeSuiteChoice Choice="DesktopBridge"/>

Use Choice=DesktopBridgeSubscription on devices running Windows 10, version 1803, that have Office 365 preinstalled. This will set 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 running versions of Windows 10 earlier than version 1803, and on devices shipping with perpetual licenses for Office. This will set the heading of the Office suite of tiles to Create.

AppendDownloadOfficeTile

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:

Use Windows Provisioning multivariant support

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 provsioning 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.

Add the LayoutModification.xml file to the device

Once you have created your LayoutModification.xml file to customize devices that will run Windows 10 for desktop editions, you can use Windows ICD methods to add the XML file to the device.

In the Available customizations pane, expand Runtime settings, select Start and then click the StartLayout setting.

In the middle pane, click Browse to open File Explorer.

In the File Explorer window, navigate to the location where you saved your LayoutModification.xml file.

Select the file and then click Open.

This should set the value of StartLayout. The setting appears in the Selected customizations pane.

Note

There is currently no way to add the .url and .lnk files through Windows ICD.

Once you have created the LayoutModification.xml file and it is present in the device, the system overrides the base default layout and any Unattend settings used to customize Start.