5

I'm looking for a way to export the Start menu layout (the right side of the Start menu, not the all app section on the left) from one PC and import said layout to another PC + keep a backup copy for future use.

Export-StartLayout + Import-StartLayout is useless because it only applies to the default profile, and I need a way to work with currents, already-created profiles.

So I'm trying to work with %LocalAppData%\TileDataLayer\Database\vedatamodel.edb and/or with the whole Database directory.

Since this is a system-used file, this is how I'm backing it up:

@echo off
echo Taskkill Windows Explorer...
taskkill /im explorer.exe /f

echo Stop staterepository...
net stop staterepository /y

echo Copy database...
robocopy "%LocalAppData%\TileDataLayer\Database" "%UserProfile%\Desktop\TLI_Start_Backup" /mir

echo Restart Windows Explorer...
explorer.exe

pause

This works as expected, but when I try to restore.... it doesn't restore anything. The copy works, but no Start layout is restored.

What am I doing wrong? Any other way to backup the Start layout?

1

4 Answers 4

5

I found out where the issue lies. Microsoft has deprecated Tile Data Layer in Windows 10 1703 (the one I was using when I posted the question) and removed it in 1709.

Since Windows 10 1703, there are 3 folders + 1 reg key that hold the Start menu data (source):

"%LocalAppData%\Microsoft\Windows\CloudStore"
"%LocalAppData%\Microsoft\Windows\Caches"
"%LocalAppData%\Microsoft\Windows\Explorer"

I've created a script to backup and restore it correctly: StartTileBackup. Feedback and pull request are very welcome on Github.

4

The correct procedure to export and import the Start menu layout in Windows 10 is described below.

Exporting

After the Start menu has the configuration that you want to deploy, you have to run the following PowerShell command:

Export-StartLayout -Path C:\tmp\start.xml

This exports the current Start menu configuration to an XML file.

Importing via PowerShell

Run the following PowerShell command:

Import-StartLayout -LayoutPath .\start.xml -MountPath C:\tmp

The C:\tmp folder should be replaced by another, non-temporary folder.

Importing via Group Policy

One can deploy the settings via Group Policy.

At the target computer, press Win + R, type gpedit and hit Enter.

The policy can be found at User Configuration > Administrative Templates > Start Menu and Taskbar. The same policy is also available under Computer Configuration.

image

Double-click Start Layout, click Enabled and type the path to the file:

enter image description here

Click OK to finish. Logout/Login may be required.

A downside of this method might be that the Start menu will be locked. That is, the user can no longer pin or unpin tiles. However, perhaps this is just what you want.

If you want to update the fixed Start Menu layout, you will need to update the imported XML file. You can replace it with another XML file, but make sure the file name and path remains the same.

1
  • gpedit only supports the professional version. For the Windows home version, you can try this
    – Carson
    May 3, 2023 at 6:27
3
Export-StartLayout -Path C:\tmp\start.bin
Import-StartLayout -LayoutPath C:\temp\start.bin -MountPath C:\tmp

It should work, but only for the currently logged on user, and it will be standard for all the subsequent logons.  So let’s assume that there are three users on the system.  Whoever was logged on when this was run, his start menu will become standard for the remaining two users.

2
  • I don’t understand what you’re saying. Does this “work, but only for the currently logged on user”, or does it affect all users? … … … … … … … … … … … … … … … … Please do not respond in comments; edit your answer to make it clearer and more complete. Feb 14, 2019 at 21:05
  • Just to be clear, this is not correct. The *-StartLayout Cmdlets ONLY change the default layout for new users only (ie. ones who have not already logged in (or has a profile created).
    – pauby
    Dec 29, 2020 at 15:31
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

I have also shared this in another post, both questions are quite similar. Hope it helps.

2
  • Please, don't post twice the same answer.
    – Toto
    Jan 3, 2022 at 13:26
  • 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, 2022 at 13:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .