Customize Windows 8.1 StartScreen by decoding "*.itemdata-ms" binary data file (Windows 8.1, StartScreen, C#) Customize Windows 8.1 StartScreen by decoding "*.itemdata-ms" binary data file (Windows 8.1, StartScreen, C#) powershell powershell

Customize Windows 8.1 StartScreen by decoding "*.itemdata-ms" binary data file (Windows 8.1, StartScreen, C#)


No, it is not possible, and that is by-design (not that I agree with that design choice). I had several arguments with the Windows Product Group about this.

It is similar to the way Microsoft has locked down the Task Bar. See here:

"Note: Applications cannot programmatically pin themselves to the taskbar. That functionality is reserved strictly for the user."

Either:

  1. You set the Start Screen Tiles for all users via group policy or within the image. (locked down environment)
  2. You allow the users to customize their desktop as they wish (user defined environment).


I too am looking at ways to edit the Start Screen data file. I have got it to work via a GPO and I used .Net Reflector to analyse the Export-StartLayout cmdlet. It works by calling a method on a COM interface defined in the windows\system32\twinapi.dll so it is not easy to decode the data file format.

The xml file contains APP IDs which are defined in the registry and can be listed by the PS get-startapps cmdlet so it is possible to create an editor for this.

I work with schools and colleges so there is a heavy requirement to control the desktop. At the moment most of the schools I deal with are keeping away from Windows 8 because of problems like these. Seems the MS just don't listen to what people really need!


Ensure that you export the configuration file in binary format as Import-StartLayout won’t import XML files. Here’s the export command:

Export-StartLayout -As BIN -Path CustomStartScreenLayout.bin -Verbose