10

I'm trying to create a layout template on Windows 10 using the Export/Import-StartLayout commands.

Here's what I've done.

  1. Open an admin PowerShell window.
  2. Run Export-StartLayout -Path layout.xml.
  3. Unpin some tiles from my start menu
  4. Run Import-StartLayout -LayoutPath layout.xml -MountPath C:\

When I look at my start menu now, the tiles I remove haven't come back. The Import command gives me no errors.

Am I using the commands wrong? Is there something else I need to do before/afterwards?

Here's the contents of layout.xml

<LayoutModificationTemplate Version="1" xmlns="http://schemas.microsoft.com/Start/2014/LayoutModification">
  <DefaultLayoutOverride>
    <StartLayoutCollection>
      <defaultlayout:StartLayout GroupCellWidth="6" xmlns:defaultlayout="http://schemas.microsoft.com/Start/2014/FullDefaultLayout">
        <start:Group Name="" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout">
          <start:DesktopApplicationTile Size="2x2" Column="4" Row="0" DesktopApplicationID="C:\Users\Jozsef\AppData\Roaming\Spotify\Spotify.exe" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="2" DesktopApplicationID="{6D809377-6AF0-444B-8957-A3773F02200E}\NetBeans 8.0.2\bin\netbeans64.exe" />
          <start:DesktopApplicationTile Size="2x2" Column="2" Row="0" DesktopApplicationID="{6D809377-6AF0-444B-8957-A3773F02200E}\HeidiSQL\heidisql.exe" />
          <start:DesktopApplicationTile Size="2x2" Column="0" Row="0" DesktopApplicationID="{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Notepad++\notepad++.exe" />
          <start:Tile Size="2x2" Column="2" Row="2" AppUserModelID="Microsoft.WindowsCalculator_8wekyb3d8bbwe!App" />
        </start:Group>
        <start:Group Name="" xmlns:start="http://schemas.microsoft.com/Start/2014/StartLayout">
          <start:Tile Size="2x2" Column="0" Row="0" AppUserModelID="microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.mail" />
        </start:Group>
      </defaultlayout:StartLayout>
    </StartLayoutCollection>
  </DefaultLayoutOverride>
</LayoutModificationTemplate>
1
  • If I understand correctly, importing the layout will only modify the default user. As such, changes wouldn’t affect existing user profiles.
    – Daniel B
    Aug 24, 2016 at 13:36

3 Answers 3

13

The Import-StartLayout command only works in the default user profile. It is used for creating and deploying windows 10 system images. It does not work in the current users profile or any other already created profiles.

Source and prior experience.

3
  • 1
    After baging my head (hard) against the same issue, I can confirm that Export-StartLayout + Import-StartLayout works with the default profile only. I'm looking for an alternative: superuser.com/questions/1194556/… Apr 1, 2017 at 13:27
  • After using Import-StartLayout to set a default start menu layout in the default profile, when a new user creates a profile, and that default start menu layout is applied, can the user make further changes to the start menu layout? or is it locked and set in stone for them?
    – Baodad
    Jul 5, 2018 at 15:09
  • 1
    @Baodad - The user can make changes as and when they choose
    – Joe Taylor
    Jul 9, 2018 at 13:22
2

Simplest method is to use Backup Start Menu Layout


Another way:

Export:

  1. Open an admin PowerShell window
  2. Run Export-StartLayout -Path layout.xml

Import for current user:

  1. Import layout.xml via Group Policy
  2. Kill explorer.exe
  3. Start explorer.exe
  4. Disable Group Policy
  5. Kill explorer.exe
  6. Start explorer.exe
  7. You are done :-) You now have layout imported from xml file

Without step 4 Menu Start tiles will be locked

1
  • Don't know if this is outdated but both solutions seem to not work. Dec 9, 2020 at 13:29
0

This worked for me to update the current user Start layout (I am using version 1909): I think it is similar to what is suggested by the previous answer but everything is done programmatically. Pete7346_solution

Here is the code I have used, assuming the XML file with the layout to import resides in 'C:\StartLayout.xml'

$StartLayoutPath = "C:\StartLayout.xml"

Import-StartLayout -LayoutPath $StartLayoutPath -MountPath 'C:\'
New-Item -Path HKCU:\SOFTWARE\Policies\Microsoft\Windows -Name Explorer -ErrorAction SilentlyContinue
Reg Add "HKCU\SOFTWARE\Policies\Microsoft\Windows\Explorer" /V LockedStartLayout /T REG_DWORD /D 1 /F
Reg Add "HKCU\SOFTWARE\Policies\Microsoft\Windows\Explorer" /V StartLayoutFile /T REG_EXPAND_SZ /D $StartLayoutPath /F
Stop-Process -ProcessName explorer
Start-Sleep -s 10
#sleep is to let explorer finish restart b4 deleting reg keys
Remove-ItemProperty -Path "HKCU:\SOFTWARE\Policies\Microsoft\Windows\Explorer" -Name "LockedStartLayout" -Force
Remove-ItemProperty -Path "HKCU:\SOFTWARE\Policies\Microsoft\Windows\Explorer" -Name "StartLayoutFile" -Force
Stop-Process -ProcessName explorer

Hope it helps.

1
  • While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. - From Review Jan 3 at 13:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.