Назад | Перейти на главную страницу

Удаление встроенных приложений Windows 10 из образа Windows 10

Я повсюду искал в Google, как удалить встроенные приложения Windows 10, такие как 3D Builder, Zune, Xbox и т. Д., Из файла образа Windows 10.

Все учебники всегда указывают на одно и то же - Remove-AppxProvisionedPackage - вот что я пытаюсь сделать.

Всякий раз, когда я пытаюсь удалить пакет, я всегда получаю The System cannot find the file specified ошибка.

Это результат, который я получаю от монтирования образа до тех пор, пока не попытаюсь удалить пакет.

Попытка удалить отдельные пакеты или весь shebang дает тот же результат.

PS C:\wds> Mount-WindowsImage -ImagePath .\2016-Test-Export.wim -Path .\mnt -Index 1

Path          : .\mnt
Online        : False
RestartNeeded : False

PS C:\wds> Get-AppxProvisionedPackage -Path .\mnt

DisplayName  : Microsoft.3DBuilder
Version      : 11.1.9.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.3DBuilder_11.1.9.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.BingWeather
Version      : 4.16.15.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.BingWeather_4.16.15.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.DesktopAppInstaller
Version      : 1.8.5001.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.DesktopAppInstaller_1.8.5001.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.Getstarted
Version      : 4.1.15.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.Getstarted_4.1.15.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.Messaging
Version      : 2.7.1001.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.Messaging_2.7.1001.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.MicrosoftOfficeHub
Version      : 2015.7420.23751.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.MicrosoftOfficeHub_2015.7420.23751.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.MicrosoftSolitaireCollection
Version      : 3.12.10310.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.MicrosoftSolitaireCollection_3.12.10310.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.MicrosoftStickyNotes
Version      : 1.1.41.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.MicrosoftStickyNotes_1.1.41.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.Office.OneNote
Version      : 2015.7466.57771.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.Office.OneNote_2015.7466.57771.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.OneConnect
Version      : 1.1607.6.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.OneConnect_1.1607.6.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.People
Version      : 2016.1011.2336.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.People_2016.1011.2336.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.SkypeApp
Version      : 11.9.251.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.SkypeApp_11.9.251.0_neutral_~_kzf8qxf38zg5c

DisplayName  : Microsoft.StorePurchaseApp
Version      : 11608.1000.24314.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.StorePurchaseApp_11608.1000.24314.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.Windows.Photos
Version      : 2016.722.10060.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.Windows.Photos_2016.722.10060.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsAlarms
Version      : 2016.1010.1800.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsAlarms_2016.1010.1800.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsCalculator
Version      : 2016.809.14.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsCalculator_2016.809.14.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsCamera
Version      : 2016.816.20.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsCamera_2016.816.20.0_neutral_~_8wekyb3d8bbwe

DisplayName  : microsoft.windowscommunicationsapps
Version      : 2015.7369.40827.0
Architecture : neutral
ResourceId   : ~
PackageName  : microsoft.windowscommunicationsapps_2015.7369.40827.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsFeedbackHub
Version      : 1.1608.2441.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsFeedbackHub_1.1608.2441.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsMaps
Version      : 2016.921.2109.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsMaps_2016.921.2109.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsSoundRecorder
Version      : 2016.808.1111.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsSoundRecorder_2016.808.1111.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.WindowsStore
Version      : 11610.1001.104.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.WindowsStore_11610.1001.104.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.XboxApp
Version      : 2016.1006.321.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.XboxApp_2016.1006.321.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.XboxIdentityProvider
Version      : 2016.719.1035.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.XboxIdentityProvider_2016.719.1035.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.ZuneMusic
Version      : 2019.16092.10311.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.ZuneMusic_2019.16092.10311.0_neutral_~_8wekyb3d8bbwe

DisplayName  : Microsoft.ZuneVideo
Version      : 2019.16092.10311.0
Architecture : neutral
ResourceId   : ~
PackageName  : Microsoft.ZuneVideo_2019.16092.10311.0_neutral_~_8wekyb3d8bbwe

PS C:\wds> Get-AppxProvisionedPackage -Path .\mnt | Remove-AppxProvisionedPackage -Path .\mnt
Remove-AppxProvisionedPackage : The system cannot find the file specified.
At line:1 char:42
+ ... sionedPackage -Path .\mnt | Remove-AppxProvisionedPackage -Path .\mnt
+                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Remove-AppxProvisionedPackage], COMException
+ FullyQualifiedErrorId : Microsoft.Dism.Commands.RemoveAppxProvisionedPackageCommand

Я, должно быть, что-то упускаю, но просто не могу понять, что мне не хватает. Я также пробовал делать то же самое с DISM и столкнулся с той же ошибкой, system cannot find the specified file.

Get-AppxProvisionedPackage находит пакеты, значит, они существуют ... Есть идеи, как их удалить?

Изменить: используя синтаксис, предложенный Slipeer:

PS C:\wds> Get-AppxProvisionedPackage -Path .\mnt | foreach{ Remove-AppxProvisionedPackage -path .\mnt -PackageName $_.PackageName }
Remove-AppxProvisionedPackage : The system cannot find the file specified.
At line:1 char:51
+ ...  | foreach{ Remove-AppxProvisionedPackage -path .\mnt -PackageName $_ ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Remove-AppxProvisionedPackage], COMException
+ FullyQualifiedErrorId : Microsoft.Dism.Commands.RemoveAppxProvisionedPackageCommand

<Repeated for all the packages>

Изменить: я также пробовал этот скрипт - https://gallery.technet.microsoft.com/Removing-Built-in-apps-65dc387b - тоже результат тот же.

Как я понял cmdlet Remove-AppxProvisionedPackage работает иначе: имя пакета должно быть передано в параметре -PackageName

Пытаться:

Get-AppxProvisionedPackage -Path .\mnt | foreach {Remove-AppxProvisionedPackage -Path .\mnt -PackageName $_.PackageName }

Но делать это в офлайн-образе смысла нет. Удаленный компонент восстанавливается при установке обновления, содержащего исправления для него. Обновления выпускаются каждый месяц.

Лучше проводить очистку ненужных компонентов на регулярной основе (например, через Планировщик заданий).

Я столкнулся с той же проблемой. Выполнение собственной версии команды DISM вызывало у меня сообщения об ошибках в журнале DISM о «не удалось получить поэтапные пакеты для пакета». И поиск в Google привел меня к эта страница на edugeek.

Таким образом, пользователь заметил, что, если он вернулся к исходному ISO 1607, команды работали нормально. Точно так же я попробовал те же команды с 1703 ISO, который у меня был, и все работает. Похоже, что что-то не так с некоторыми WIM-файлами, которые Microsoft распространяет. (Тот, который был проблематичным для меня, был 1607, обновленный в январе 2017 года, прямо из моей подписки MSDN.)

На данный момент я планирую просто использовать исходный носитель с релизом, чтобы удалить эти подготовленные приложения. Кроме того, ситуация может улучшиться в отношении возврата подготовленных приложений. Microsoft объявила что, начиная с 1703 года, деинициализированные приложения останутся деинициализированными после установки будущих обновлений функций ...

Не помогает то, что Microsoft (возможно, непреднамеренно) затруднила получение исходного носителя для некоторых версий Windows 10, даже с подпиской MSDN. Один из способов получить некоторые из оригинальных релизов изложено здесь

Мой первый совет - избегать PowerShell и скорее смирен.

  1. Нам нужно распаковать файл (Windows10.iso с помощью такого программного обеспечения, как 7zipи т. д. и т. д.).
  2. Нам нужно смонтировать install.wim как это : Dism /Mount-Wim /Wimfile:C:\IsoW10\sources\install.wim /Index:1 /MountDir:C:\IsoWindows
  3. Нам нужно получить PackageNames :Dism /Image:C:\IsoWindows /Get-ProvisionedAppxPackages >> C:\ProvisionedAppxPackagesW10.txt
  4. Теперь мы можем удалить приложения (и привести один пример):Dism /Image:C:\IsoWindows /Remove-Provisionedappxpackage /PackageName:Microsoft.3DBuilder_13.0.10349.0_neutral_~_8wekyb3d8bbwe
  5. Сохраняем это: Dism /Unmount-Wim /MountDir:C:\IsoWindows /commit

PS: По поводу файла install.wim. Как вы могли догадаться, да, вы найдете его в папке источники. Я также создал это пастебин которые содержат одно хорошее резюме и еще несколько деталей. На данный момент я забыл, но решение DIS не идеально ... Потому что оно удалит почти все (но не последнее, например: Microsoft.Windows.Apprep.ChxApp, Microsoft.Windows.ParentalControls и т. Д.). Если вы хотите это проверить, выполните одну команду (PowerShell), например: Get-AppxPackage | Select Name, PackageFullName. Сайт serverfault.com не позволяет мне добавить еще одну ссылку ...