Удаление встроенных приложений Windows 10 после неудачной команды Get-AppXPackage
Однажды у меня перестало открываться меню пуск (или что там вместо него в Windows 10). В интернете рекомендуют выполнить команду в открытой с правами администратора консоли powershell:
Get-AppXPackage -AllUsers | Foreach
Однако, как оказалось впоследствии, после одного из обновлений (ноябрьского — ?), выполнив такую команду можно добиться открытия меню обратно, но вот неприятность — все эти приложения приобретают следующий вид:
«Ну ладно, они все равно не нужны, удалю» — думаю я. Не тут-то было.
Выполняем, например:
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\ (Не буду рассказывать, как настроить показ скрытых папок)
А вот в папку AppRepository пускать не будет. Но это не проблема, идем в правую кнопку мыши над этой папкой — Свойства — Безопасность — Дополнительно. Там нам скорее всего скажут, что владельца определить не удалось — в любом случае жмем изменить владельца — Дополнительно — Поиск (это тот который между Столбцы и Стоп) — выбираем своего юзера — ОК — ОК — ОК.
Если и после этого не пускает, то там, где мы жали на «изменить», есть таблица «Элементы разрешений» — туда надо добавить своего юзера по такой же схеме, с правами Полный доступ. Менять права на всё вложенное не обязательно.
Теперь возвращаемся к «файлу 1». Его в этой папке не будет. Если он есть — этот мануал вам не подходит. Нет файла — сделаем! Я говорю это совершенно серьезно — создаем файл, который Windows ищет, ведь он же ищет его, чтобы удалить. Для этого открываем любой другой файл из этой папки (не дает — меняем ему владельца и/или права доступа), имя которого заканчивается на neutral_split.language-ru_какиетобуквы.xml, берем все содержимое, создаем новый файл, вставляем его туда и меняем пару мест. В моем случае подвернулся файл Microsoft.WindowsCamera_2016.128.10.0_neutral_split.language-ru_8wekyb3d8bbwe.xml с содержимым:
Видите 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.
Вот тут уже меняем не только имя и версию, но и цифру у scale. Хотя я не уверен, что оно надо, но я менял 125 на 150. И, в который раз, PS C:\WINDOWS\system32> Get-AppxPackage *messaging* | Remove-AppxPackage. А ответ: PS C:\WINDOWS\system32>
Все, нету ошибок! И в меню пуск теперь:
Видите? Нету Messaging, People первая строчка.
В заключение хочу сказать, что такие манипуляции придется проделать со ВСЕМ списком мусора из раздела «Другое». Зато его не будет. Не будет настолько, что, возможно, даже вернуть не получится.
Источник
Невозможно удалить универсальные приложения через PowerShell
Я находился в процессе удаления всех универсальных приложений из новой установки Windows 10, когда столкнулся с препятствиями.
Я делаю это не первый раз, и все идет хорошо. Однако на этот раз, когда я пишу в PowerShell
Get-AppxPackage -allusers | Remove-AppxPackage
или что-то более конкретное, как
Get-AppxPackage -allusers *windowscalculator* | Remove-AppxPackage
Я получаю следующее сообщение:
Remove-AppxPackage: Сбой развертывания с HRESULT: 0x80073CFA, Сбой удаления. Пожалуйста, свяжитесь с вашим поставщиком программного обеспечения. (Исключение из HRESULT: 0x80073CFA) ошибка 0x80070032: Операция удаления AppX Deployment над пакетом Microsoft.WindowsCalculator_10.1605.1582.0_x64__8wekyb3d8bbwe из: C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.1605.1588bb6464weweb464
Это приложение является частью Windows и не может быть удалено для каждого пользователя. Администратор может попытаться удалить приложение с компьютера с помощью включения или выключения компонентов Windows. Тем не менее, это может быть невозможно удалить приложение.
ПРИМЕЧАНИЕ. Для получения дополнительной информации найдите [ActivityId] 75c5fc31-fb20-0001-77fd-c57520fbd101 в журнале событий или используйте командную строку Get-AppxLog -ActivityID 75c5fc31-fb20-0001-77fd-c57520fbd101
В строке: 1 символ: 49
+ Get-appxpackage -allusers *windowscalculator* | Remove-AppxPackage +
+ CategoryInfo : WriteError: (Microsoft.Windo. __8wekyb3d8bbwe:String) [Remove-AppxPackage], IOException + FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.RemoveAppxPackageCommand
Я получаю это сообщение для каждого отдельного приложения, которое я пытаюсь удалить, включая те, которые, как я знаю, совершенно не удаляются, такие как калькулятор или программа просмотра изображений, чего раньше никогда не было.
Powershell работает с повышенными правами, а все остальное работает и выглядит нормально.
Могу ли я что-то сделать, кроме переустановки Windows?
3 ответа 3
Начиная с обновления Windows 10 Anniversary, Microsoft добавила новую запись IsInbox в базу данных SQLite C:\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Machine.srd для приложений входящих сообщений. И попытка удалить приложение, помеченное как IsInbox завершается неудачно с 0x80073CFA .
Но есть уродливый обходной путь, который был обнаружен в апреле 2017 года.
Вам необходимо скачать и установить инструменты ProcessHacker и DB Browser для SQLite.
- запустите ProcessHacker 2 от имени администратора, выберите C:\Windows\System32\svchost.exe , щелкните правой кнопкой мыши и выберите « Misc -> « Run as this user
Теперь выберите здесь C:\Program Files\DB Browser for SQLite\DB Browser for SQLite.exe и запустите его. В браузере SQLite нажмите « Open database
и откройте файл C:\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Machine.srd (измените тип файла в открытом диалоговом окне на все файлы, чтобы увидеть его).
Теперь нажмите на вкладку Browse Data и измените таблицу на Package
Теперь выберите приложения, которые вы хотите удалить, и измените 1 для столбца IsInbox на 0 и сохраните изменения.
Повторите это для всех приложений, которые вы хотите удалить, и теперь команды Powersehll должны работать.
Но автор отмечает, что Microsoft блокирует обновление до более новых сборок Windows, если удаляются входящие приложения. Так что имейте это в виду.
При использовании этого скрипта автор отмечает:
Вы можете изменить $ packageBase на разные имена пакетов.
Я не пробовал этот скрипт сам.
Обновление Windows Anniversary внесло несколько изменений, которые мешают вам отключить определенные функции, такие как cortana или удаление приложений с помощью официальных средств. Некоторые приложения, такие как приложение xbox microsoft, считают его важным приложением для системы, что не позволяет официальным средствам удалить его.
Если вы войдете в меню «Пуск», вы можете щелкнуть по нему правой кнопкой мыши и щелкнуть «Удалить», наоборот, вы можете нажать кнопку «Пуск» правой кнопкой мыши, перейти к настройкам, затем приложениям и функциям и удалить их оттуда.
Теперь, если вы настаиваете на удалении этих приложений. Они хранятся в C:\windows\SystemApps Таким образом, вы можете найти папку, в которой она хранится, и просто удалить папку, или более безопасный вариант — переименовать ее и добавить символ, такой как подчеркивание _ в конец имени.
Просто добавьте, что если вы удаляете папку или переименовываете ее в папке systemapps, технически это не удаляет ее, а просто принудительно удаляет ее, если вы удалили папку, из-за которой могли быть установлены другие компоненты, такие как ключи реестра и другие файлы в другом месте, он использует, но не находится в папке systemapps, или заставляет его не запускаться, если вы переименовали папку.
Как сказал Рякна в комментариях ниже, использование любого из этих двух вариантов может вызвать проблемы в будущем, однако, исходя из моего опыта, мне еще не приходилось сталкиваться с какими-либо проблемами, включая обновление. Но его по-прежнему рекомендуется удалять официальными средствами: либо с помощью powershell, если вы с ним знакомы, либо с помощью пункта «Программы и функции» или пункта меню. Папка SystemApps не должна быть переименована или удалена, так как если вы это сделаете, вы, скорее всего, столкнетесь с проблемами, чем если бы вы переименовали или удалили папку в папке systemapps.
Источник
Remove appxpackage allusers не работает
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.
Asked by:
Question
Here is the tldr: We have a windows 10 virtual machine that had a local account created and then deleted. Now when we try and sysprep that virtual machine, we get the following error:
Info:
Currently logged into the VM as the only local account, Administrator.
When I run get-appxpackage -allusers from elevated powershell, i get a list of all apps installed and under user it lists the SID Of the deleted account. If I run get-appxpackage -allusers | remove-appxpackage , it runs the removal tasks and gives me the following error for each of the packages:
As far as troubleshooting, I have gone in and done a deep cleaning of the registry, deleting everything related to the SID of the account we originally removed, and the problem still persists.
The reason we don’t start over is because this VM was handed to our developers for 2-3 weeks while they added the tools/specifications they needed. We don’t have another 2-3 weeks on our project timeline for them to start from scratch.
Also, i’ve opened up a ticket with msft and im waiting for them to get back to me.
Any other tricks I could try would be greatly appreciated.
(Microsoft, cheers to you for proving once again that you cannot provide an OS without at least one, integral, disgusting flaw. Not being able to uninstall all AppX packages for all user as local administrator is a great feature. Adding appx bloatware to windows 10 was already incorrigible, having those unnecessary appxs break our deployment and rollout of windows 10? Even better.)
Источник
Не удается удалить универсальные приложения с помощью PowerShell
Я был в процессе удаления всех универсальных приложений из новой установки Windows 10, когда я попал в блокпост.
Это не первый раз, когда я делаю это, и это всегда идет хорошо. Однако, на этот раз, когда я пишу в PowerShell
Get-AppxPackage -allusers | Remove-AppxPackage
или что-то более конкретное, например
Get-AppxPackage -allusers *windowscalculator* | Remove-AppxPackage
я получаю следующее сообщение:
удалить-AppxPackage: сбой развертывания С HRESULT: 0x80073CFA, сбой удаления. Обратитесь к поставщику программного обеспечения. (Исключение из HRESULT: 0x80073CFA)
ошибка 0x80070032: развертывание AppX удалить операцию на пакет Microsoft.WindowsCalculator_10.1605.1582.0_х64__8wekyb3d8bbwe от: C:Program
ФайлыWindowsAppsMicrosoft.WindowsCalculator_10.1605.1582.0_x64__8wekyb3d8bbwe не удалось.
это приложение является частью Windows и не может быть удален для каждого пользователя. Администратор может попытаться
чтобы удалить приложение с компьютера, включите или выключите Компоненты Windows. Тем не менее, это не может быть возможно, чтобы удалить приложение.
Примечание: Для получения дополнительной информации, посмотрите на [значение activityid] 75c5fc31-фб20-0001-77fd-c57520fbd101 в журнал событий или использовать командную строку get-AppxLog -значение activityid
75c5fc31-fb20-0001-77fd-c57520fbd101
на линии: 1 char: 49
+ Get-appxpackage -allusers *windowscalculator* | Remove-AppxPackage
+
+ CategoryInfo : WriteError: (Microsoft.Windo. __8wekyb3d8bbwe:String) [Remove-AppxPackage], IOException
+ FullyQualifiedErrorId : DeploymentError,Microsoft.Windows.Appx.PackageManager.Commands.RemoveAppxPackageCommand
я получаю это сообщение для каждого приложения, которое я пытаюсь удалить, в том числе те, которые я знаю, прекрасно удаляются, как калькулятор или просмотра изображений, который никогда не случалось раньше.
Powershell работает с повышенными привилегиями, а все остальное работает и кажется нормальным.
есть ли что-то, что я могу сделать, кроме переустановки Windows?
3 ответов
начиная с Windows 10 юбилейное обновление, Microsoft добавила новую запись IsInbox в базе данных SQLite C:\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Machine.srd для входящих приложений. И пытается удалить приложение приложение помечено как IsInbox выдает 0x80073CFA .
но есть некрасивый обходной путь, который был обнаружено в апреле 2017.
вам нужно скачать и установить инструменты ProcessHacker и DB Browser для SQLite.
- выполнить ProcessHacker 2 в качестве администратора, выберите C:\Windows\System32\svchost.exe , сделайте правый клик и выберите Misc -> Run as this user
Теперь выберите здесь C:\Program Files\DB Browser for SQLite\DB Browser for SQLite.exe и запустить его. В браузере SQLite нажмите на Open database
и откройте файл C:\ProgramData\Microsoft\Windows\AppRepository\StateRepository-Machine.srd (измените тип файла в диалоговом окне открыть на все файлы, чтобы увидеть его).
теперь нажмите на Browse Data tab и измените таблицу на Package
Теперь выберите приложения, которые вы хотите удалить и изменить 1 для столбца IsInbox to 0 и сохранить изменения.
повторите это для всех приложений, которые вы хотите удалить, и теперь команды Powersehll должны работать.
но автор пишет, что Microsoft блокирует обновление до более новых сборок Windows, если входящие приложения удаленный. Так что имейте это в виду.
при использовании этого скрипта автор замечает:
вы можете изменить $packageBase на другие имена пакетов.
Я не пробовал этот скрипт себе.
юбилейное обновление Windows, внесло немало изменений, которые не позволяют отключить некоторые функции, такие как Кортана или удаление приложений с помощью официальных средств. Некоторые приложения, такие как xbox app microsoft, считают его важным приложением для системы, тем самым предотвращая официальные средства для его удаления.
Если вы идете в меню Пуск, вы можете щелкнуть правой кнопкой мыши и нажмите кнопку Удалить, наоборот, вы можете прямо кнопку Пуск, перейдите в Настройки, а затем Приложения и функции и удалить его из там.
Теперь, если вы настаиваете на удалении этих приложений. Они хранятся в C:\windows\SystemApps Так что вы можете найти папку, в которой он хранится и просто удалить папку или более безопасный вариант, чтобы переименовать его и добавить символ, такой как подчеркивание _ до конца имени.
просто добавить, если вы удалите папку или переименовать его в папке systemapps, это технически не удалить его, а просто насильственно удалить его, если вы удалили папку, которая может оставить установлены и другие вещи, такие как ключи реестра и другие файлы в других местах, которые он использует, но не находится в папке systemapps, или заставляя ее работать, если вы переименовали папку.
как сказал Ryakna в комментариях ниже, использование любого из этих двух вариантов может вызвать проблемы позже по дороге, однако из моего опыта я еще не сталкивался с какими-либо проблемами, включая обновление. Но его по-прежнему рекомендуется удалить с помощью официальных средств, либо с помощью powershell, если вы знакомы с его помощью или с помощью программы и функции опции или опции меню. The SystemApps папка не должна быть переименована или удалена, как если бы вы сделали это, вы, скорее всего, возникнут проблемы, чем если бы Вы были переименовать или удалить папку внутри папки systemapps.
Источник