我使用 Google 搜索了各种方法,以了解如何从 Windows 10 映像文件中删除内置的 Windows 10 应用程序,例如 3D Builder、Zune、Xbox 等。
所有的教程总是指向同一件事——Remove-AppxProvisionedPackage
这就是我正在尝试做的事情。
每当我尝试删除该包时,总是会出现错误The System cannot find the file specified
。
这是我从挂载图像到尝试删除包时获得的输出。
尝试删除单个包或整个包都会得到相同的结果。
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——也是同样的结果。
答案1
我遇到了完全相同的问题。运行本机 dism 版本的命令时,dism 日志中出现错误消息“无法获取包的暂存包”。谷歌搜索后,我发现edugeek 上的此页面。
因此,那里的用户注意到,如果他返回到原始的 1607 ISO,命令将正常工作。同样,我尝试对我拥有的 1703 ISO 使用相同的命令,一切正常。因此,微软分发的一些 WIM 文件似乎出了问题。(对我来说有问题的是 2017 年 1 月更新的 1607,直接来自我的 MSDN 订阅。)
目前我计划只使用原始发布媒体来卸载这些已配置的应用程序。此外,对于已配置的应用程序的恢复,情况可能会有所改善。微软宣布从 1703 开始,已取消配置的应用程序在未来的功能更新安装后将保持取消配置状态......
微软(也许是无意的)让获取某些 Windows 10 版本的原始发布媒体变得困难,即使订阅了 MSDN,这也于事无补。获取某些原始发布媒体的一种方法概述如下
答案2
据我了解,它 cmdlet删除 AppxProvisionedPackage工作方式不同:必须将包名称作为参数传递-PackageName
尝试:
Get-AppxProvisionedPackage -Path .\mnt | foreach {Remove-AppxProvisionedPackage -Path .\mnt -PackageName $_.PackageName }
但在离线映像中执行此操作毫无意义。当您安装包含修复程序的更新时,已删除的组件将被恢复。更新每月发布一次。
最好定期清理不必要的组件(例如通过任务计划程序)。
答案3
我的第一个建议是避免使用 PowerShell,并且相当悲观。
- 我们需要使用类似软件提取文件(Windows10.iso)7zip,等等,等等)。
- 我们需要安装安装.wim像这样 :
Dism /Mount-Wim /Wimfile:C:\IsoW10\sources\install.wim /Index:1 /MountDir:C:\IsoWindows
- 我们需要获得软件包名称:
Dism /Image:C:\IsoWindows /Get-ProvisionedAppxPackages >> C:\ProvisionedAppxPackagesW10.txt
- 现在,我们可以删除应用程序(举一个例子):
Dism /Image:C:\IsoWindows /Remove-Provisionedappxpackage /PackageName:Microsoft.3DBuilder_13.0.10349.0_neutral_~_8wekyb3d8bbwe
- 我们保存它:
Dism /Unmount-Wim /MountDir:C:\IsoWindows /commit
PS:关于文件安装.wim。正如您所猜测的,您会在文件夹中找到它来源。我也创建了这个粘贴箱它提供了一份很好的简历和一些其他细节。目前,我忘了,但 dism 解决方案并不完美......因为它会删除几乎所有东西(但不包括最后一个,例如:Microsoft.Windows.Apprep.ChxApp、Microsoft.Windows.ParentalControls 等)。如果您想检查它,请运行一个命令(PowerShell),例如:Get-AppxPackage | Select Name, PackageFullName
。网站 serverfault.com 不允许我添加另一个链接......