从Windows 10映像中删除Windows 10内置的应用程序

我已经search了如何从Windows 10映像文件中删除内置的Windows 10应用程序,如3D生成器,Zune,Xbox等。

所有的教程总是指向相同的东西 – 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-AppxProvisionedPackagefind包,所以它们存在…有关如何删除这些的任何想法?

编辑:使用Slipeerbuild议的语法:

 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日志中logging有关“无法获取程序包的程序包”的错误消息。 和谷歌search引导我到edugeek这个页面 。

所以那里的用户注意到,如果他回到原来的1607 ISO,命令工作正常。 同样的,我用1703 ISO也尝试了相同的命令,一切正常。 所以看起来有一些微软正在分发的WIM文件。 (对我来说是有问题的是1607年1月更新,直接从我的MSDN订阅。)

现在我打算只使用原始版本的媒体来卸载这些configuration的应用程序。 此外,事情可能会改善更多的configuration应用程序回来。 微软宣布 ,从1703年开始,在未来的function更新安装之后,解除configuration的应用程序将保持取消configuration。

微软(或许无意)使得很难为某些Windows 10版本获得原始发行版本,即使订购了MSDN也没有帮助。 这里概述一种获得原始发行版媒体的方法

我的第一个build议是避免PowerShell, 而不是dism

  1. 我们需要提取文件(Windows10.iso,像7zip等软件)。
  2. 我们需要像这样安装install.wimDism /Mount-Wim /Wimfile:C:\IsoW10\sources\install.wim /Index:1 /MountDir:C:\IsoWindows
  3. 我们需要获取PackageNamesDism /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 。 你可以猜到,是的,你会发现它在文件夹的来源 。 我也创build了这个提供一个好的简历和一些细节的pastebin 。 目前,我已经忘了,但dism解决scheme并不完美…因为它会删除几乎所有(但没有最后一个,如:Microsoft.Windows.Apprep.ChxApp,Microsoft.Windows.ParentalControls等)。 如果你想检查它,运行一个命令(PowerShell),如: Get-AppxPackage | Select Name, PackageFullName Get-AppxPackage | Select Name, PackageFullName 。 网站serverfault.com不允许我添加另一个链接…