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
  • Look at my answer to similar question – qewg Dec 15 '18 at 17:37
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.

3

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.

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. – Scott Feb 14 '19 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 '20 at 15:31

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.