Friday, 25 October 2013

Customising the Windows 8 Start Screen Layout

I've spent considerable time recently trying to work out how to deploy a custom start screen layout for some Windows 8 tablets we're deploying to a large UK retailer and have finally got it working.

Having investigated several options I kept bouncing between OblyTile and Ben Hunter's Deployment Guys post (

I very much struggle to understand why Microsoft haven't made this an easy to configure option given how much value a properly customised Start screen will add to users. From reading all the information out there it seemed that the device would need to be sysprepped before obtaining the AppsFolderLayout.bin file or an unattend.xml file would work. Either way the start screen wouldn't have the high quality tiles OblyTile is able to help create.

I've since managed to get this working in a much simpler way where the files can be created by one user and then using simple copy commands or a simple batch file used to copy the files to the Default User account.

Note: I'm not sure whether this will work on the newly released Windows 8.1.


Step 1: Log in to a Windows 8 tablet using any domain account.

Step 2: Remove the read only flag on the following file:
C:\Users\{Account Name}\AppData\Local\Microsoft\Windows\appsFolder.itemdata-ms

Step 3: Launch the OblyTile application (version 0.9.1 or later) elevated. Click the Settings icon and ensure the tiles are created for All Users. Select the name, icon image and URL links as appropriate. Create the tiles. In the modern interface start screen rearrange the tiles into the order desired. Zoom out to rename/name groups.

Step 4: Copy the C:\Users\{Account Name}\AppData\Local\Microsoft\Windows\appsFolder.itemdata-ms file to USB:\Tiles\AppsFolder\appsFolder.itemdata-ms

Step 5: Copy the contents of C:\Program Files\OblyTile to USB:\Tiles\OblyTile

Step 6: Copy the contents of C:\ProgramData\Microsoft\Windows\Start Menu to USB:\Tiles\OblyTile

Step 7: Create a batch file called runme.cmd at USB:\Tiles\Runme.cmd with the following contents:

@echo off
xcopy ProgramData\*.* "C:\ProgramData\Microsoft\Windows\Start Menu" /s /y
REM attrib -r "C:\Users\Default\AppData\Local\Microsoft\Windows\appsFolder.itemdata-ms.bak"
attrib -r "C:\Users\Default\AppData\Local\Microsoft\Windows\appsFolder.itemdata-ms"
xcopy AppsFolder\*.* "C:\Users\Default\AppData\Local\Microsoft\Windows" /s /y
if not exist "C:\Program Files\OblyTile" md "C:\Program Files\OblyTile"
xcopy OblyTile\*.* "C:\Program Files\OblyTile" /s /y
attrib +r "C:\Users\Default\AppData\Local\Microsoft\Windows\appsFolder.itemdata-ms"
REM attrib +r "C:\Users\Default\AppData\Local\Microsoft\Windows\appsFolder.itemdata-ms.bak"

Step 8: The USB:\Tiles\Runme.cmd file should be run at an elevated command prompt on any tablet to update the Start Screen layout for all new users logging on to the tablet or add as a deployment task in MDT / SCCM.


  1. HI Matt,

    Quick question, were these machines sysprepped using the copy profile method at all. I have tried you solution but only receive the default layout. i believe this is because of the appfolderlayout.bin that is generated by the copyprofile sysprep method is overriding anything in the imported appsFolder.itemdata-ms file, even if i remove the bin file from the default user.

  2. Hi Andy,

    They were originally sysprepped but the copy profile method had not been used. So there was no appfolderlayout.bin file to conflict in my scenario. I'd be interested to hear if you find anything more. If I get chance I'll try it but it could be a while.



  3. Any successful tests with 8.1?