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

Question:

I will try to edit the Windows 8.1 StartScreen in a more comfortable and not user dependent way.

I know this is not the Microsoft way of using their OS, but in an enterprise environment there must be a way to customize the StartScreen. F.e. if I deploy a new software package there should be the icon on the StartScreen (in the right group, on the pre-defined position).

So, I found the files appsFolder.itemdata-ms and appsFolder.itemdata-ms.bak both are binary encoded. If I open them in a hex editor there are several group names and links visible but not in a dump format. There is also no way to edit this tiles in the hexeditor in the way it is needed.

Part of appsFolder.itemdata-ms

I tried to write a decoder (used C#), with no success, everything can be viewed but only like it was in the hex editor.

Tried the PowerShell command Export-StartLayout -as xml everything was exported in the right way, groups, tiles, positions to:

export.xml

But the Import-StartLayout does not work as expected, with this command the previously exported layout can not be applied to the current user (only by using gpo, but then the startscreen is locked).

I also took ILSpy to inspect the PowerShell Cmt-Lets but this ended in unmanaged code parts.

To cut a long story short, is there a way to decode the binary files to edit them (maybe a third party tool?) and write them back to apply the changes to the current user?

Answer:

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).

Source:

Customize Windows 8.1 StartScreen by decoding “*.itemdata-ms” binary data file (Windows 8.1, StartScreen, C#) by licensed under CC BY-SA | With most appropriate answer!

Leave a Reply