[Из песочницы] Удаление встроенных приложений Windows 10 после неудачной команды Get-AppXPackage

Заранее хочу предупредить — если система после нижеследующих манипуляций накроется совсем, то лучше их даже не начинайте.

Однажды у меня перестало открываться меню пуск (или что там вместо него в Windows 10). В интернете рекомендуют выполнить команду в открытой с правами администратора консоли powershell:

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml”}

Однако, как оказалось впоследствии, после одного из обновлений (ноябрьского — ?), выполнив такую команду можно добиться открытия меню обратно, но вот неприятность — все эти приложения приобретают следующий вид:

image

«Ну ладно, они все равно не нужны, удалю» — думаю я. Не тут-то было.
Выполняем, например:

Get-AppxPackage *messaging* | Remove-AppxPackage

И получаем портянку:

Remove-AppxPackage : Сбой развертывания с HRESULT: 0x80073CF6, Не удалось зарегистрировать пакет. Ошибка 0x80070003: не удалось прочесть манифест из расположения AppxManifest.xml. Сбой: Системе не удается найти указанный путь.

ПРИМЕЧАНИЕ. Чтобы получить дополнительные сведения, найдите [ActivityId] 24a44cdb-6261–0001-eabb-a4246162d101 в журнале событий или введите в командной строке Get-AppxLog -ActivityID 24a44cdb-6261–0001-eabb-a4246162d101.

строка 1 знак 31:

+ Get-AppxPackage *messaging* | Remove-AppxPackage
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo: WriteError: (Microsoft.Messa…__8wekyb3d8bbwe: String) [Remove-AppxPackage], IOException
+ FullyQualifiedErrorId: DeploymentError, Microsoft.Windows.Appx.PackageManager.Commands.RemoveAppxPackageCommand


Что же делать? Мусор в меню пуск, надо же убрать! Переустанавливать систему — варварство, все можно исправить руками. Смотрим лог, как рекомендуют в портянке (копируем команду, которая указана в «ПРИМЕЧАНИЕ» в эту же консоль):

Get-AppxLog -ActivityID 24a44cdb-6261-0001-eabb-a4246162d101

Помимо всего прочего в ответе будет строка такого вида:

Ошибка 0x80070002: не удалось прочесть манифест из расположения C:\ProgramData\Microsoft\Windows\AppRepository\Microsoft.Messaging_1.10.22012.0_neutral_split.language-ru_8wekyb3d8bbwe.xml. Сбой: Не удается найти указанный файл.

Вот она то нас и интересует. Файл, указанный здесь, назовем «файлом 1».

Идем в папку C:\ProgramData\Microsoft\Windows\ (Что, нет ProgramData? Я правда должен рассказывать, как настроить показ скрытых папок?)

А вот в папку AppRepository пускать не будет. Но это не проблема, идем в правую кнопку мыши над этой папкой — Свойства — Безопасность — Дополнительно. Там нам скорее всего скажут, что владельца определить не удалось — в любом случае жмем изменить владельца — Дополнительно — Поиск (это тот который между Столбцы и Стоп) — выбираем своего юзера — ОК — ОК — ОК.

Если и после этого не пускает, то там, где мы жали на «изменить», есть таблица «Элементы разрешений» — туда надо добавить своего юзера по такой же схеме, с правами Полный доступ. Менять права на всё вложенное не обязательно.

Теперь возвращаемся к «файлу 1». Его в этой папке не будет. Если он есть — закрывайте этот мануал — я не знаю, что делать. Нет файла — сделаем! Нет, правда. Для этого открываем любой другой файл из этой папки (не дает — меняем ему владельца и/или права доступа), имя которого заканчивается на neutral_split.language-ru_какиетобуквы.xml, берем все содержимое, создаем новый файл, вставляем его туда и меняем пару мест. В моем случае подвернулся файл Microsoft.WindowsCamera_2016.128.10.0_neutral_split.language-ru_8wekyb3d8bbwe.xml с содержимым:


truems-resource:///Resources/AppStoreNameMicrosoft CorporationAssets\WindowsIcons\StoreLogo.png


Видите Name=«Microsoft.WindowsCamera»? Вот его надо заменить на Name=«Microsoft.Messaging», или что вы там удаляете. Видите Version=»2016.128.10.0»? Меняем значение на 1.10.22012.0 (оно в имени «файла 1»).

Сохраняем с именем «файла 1» в этой самой папке. Я вообще жал правой кнопкой создать текстовый файл и переименовывал его вместе с тхт расширением, а потом вставлял код.

Ок! Теперь снова выполняем команду на удаление. Снова получаем портянку:

Remove-AppxPackage : Сбой развертывания с HRESULT: 0x80073CF6, Не удалось зарегистрировать пакет.
Ошибка 0x80070003: не удалось прочесть манифест из расположения AppxManifest.xml. Сбой: Системе не удается найти указанный путь.
.
ПРИМЕЧАНИЕ. Чтобы получить дополнительные сведения, найдите [ActivityId] 24a44cdb-6261-0001-1ec1-a4246162d101 в журнале событий или введите в командной строке Get-AppxLog -ActivityID 24a44cdb-6261-0001-1ec1-a4246162d101.
строка:1 знак:31
+ Get-AppxPackage *messaging* | Remove-AppxPackage
+ ~~~~~~~~~~~~~~~~~~
+ CategoryInfo : WriteError: (Microsoft.Messa...__8wekyb3d8bbwe:String) [Remove-AppxPackage], IOException
+ FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.RemoveAppxPackageCommand


И спрашиваем: «Автор, ты зачем нас заставлял делать столько всего, ничего ж не работает?»

Я вот тоже сначала расстроился. Но логи придумали очень умные люди. Поэтому открываем логи (строка из примечания, не опять, а снова).

Ошибка 0x80070002: не удалось прочесть манифест из расположения C:\ProgramData\Microsoft\Windows\AppRepository\Microsoft.Messaging_1.10.22012.0_neutral_split.scale-150_8wekyb3d8bbwe.xml. Сбой: Не удается найт
и указанный файл.

Файл другой! Microsoft.Messaging_1.10.22012.0_neutral_split.scale-150_8wekyb3d8bbwe.xml. Знаете, что надо делать? Правильно, пойдем в злополучную папку и создадим! Дальше ищем похожий существующий, в моем случае это был Microsoft.WindowsStore_2015.7.1.0_neutral_split.scale-125_8wekyb3d8bbwe.xml.

Содержимое копируем:


truems-resource:StoreTitleMicrosoft CorporationAssets\Logo.png


Вот тут уже меняем не только имя и версию, но и цифру у scale. Хотя я не уверен, что оно надо, но я менял 125 на 150. И, в который раз, PS C:\WINDOWS\system32> Get-AppxPackage *messaging* | Remove-AppxPackage. А ответ: PS C:\WINDOWS\system32>

Все, нету ошибок! И в меню пуск теперь:

image

Видите? Нету Messaging, People первая строчка.

В заключение хочу сказать, что такие манипуляции придется проделать со ВСЕМ списком мусора из раздела «Другое». Зато его не будет. А вот как вернуть — не знаю. Даже WindowsStore как вернуть — не знаю. Сможете — напишите свою статью.

Используемая литература? Какая такая литература? Я своими руками свой комп ломаю — хуже уже не будет!

© Habrahabr.ru