Я попытаюсь отредактировать стартовый экран Windows 8.1 более удобным и не зависящим от пользователя способом.
Я знаю, что это не способ Microsoft использовать свою ОС, но в корпоративной среде должен быть способ настроить StartScreen. Ф.э. если я развертываю новый пакет программного обеспечения, на StartScreen должен быть значок (в правой группе, в заранее определенной позиции).
Итак, я обнаружил, что файлы appsFolder.itemdata-ms
и appsFolder.itemdata-ms.bak
имеют двоичную кодировку. Если я открою их в шестнадцатеричном редакторе, будет видно несколько имен групп и ссылок, но не в формате дампа. Также нет возможности отредактировать этот тайл в шестнадцатеричном редакторе так, как это необходимо.
Часть файла appsFolder.itemdata-ms
?%?????☺↔ ▼ ♠ S t o r e Y+↨♣♦?BGJ F 1SPS?w?
Пробовал писать декодер (использовал C#), безуспешно, все можно посмотреть, но только так, как было в hex-редакторе.
Пробовал команду PowerShell Export-StartLayout -as xml
все экспортировалось правильно, группы, тайлы, позиции в:
export.xml
<launcher version="2">
<view name="Start">
<group name="Desktop">
<tile FencePost="0" size="wide310x150" AppID="Microsoft.Windows.Desktop"/>
<tile FencePost="0" size="square150x150" AppID="Microsoft.InternetExplorer.Default"/>
<tile FencePost="0" size="square150x150" AppID="Chrome"/>
</group>
<group name="Entwicklung">
<tile FencePost="0" size="square150x150" AppID="{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Fiddler2\Fiddler.exe"/>
<tile FencePost="0" size="square150x150" AppID="{7C5A40EF-A0FB-4BFC-874A-C0F2E0B9FA8E}\Notepad++\notepad++.exe"/>
</group>
</view>
</launcher>
Но Import-StartLayout
не работает должным образом, с помощью этой команды ранее экспортированный макет не может быть применен к текущему пользователю (только с помощью gpo, но тогда блокируется стартовый экран).
Я также использовал ILSpy для проверки PowerShell Cmt-Let, но это закончилось неуправляемыми частями кода.
Короче говоря, есть ли способ декодировать двоичные файлы, чтобы отредактировать их (может быть, с помощью стороннего инструмента?) и записать их обратно, чтобы применить изменения к текущему пользователю?