关于如何从 Windows 10 图像文件中删除内置的 Windows 10 应用程序(如 3D Builder、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-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 日志中得到了有关“无法为包获取暂存包”的错误消息。谷歌搜索将我带到了 edugeek 上的这个页面。
所以那里的用户注意到,如果他回到原来的 1607 ISO,这些命令可以正常工作。同样,我用我拥有的 1703 ISO 尝试了相同的命令,一切正常。因此,微软正在分发的一些 WIM 文件似乎出现了问题。(对我来说有问题的是 2017 年 1 月更新的 1607,直接来自我的 MSDN 订阅。)
现在我打算只使用原始发布媒体来卸载这些预置的应用程序。此外,关于返回的预置应用程序,情况可能会有所改善。微软宣布,从 1703 年开始,取消配置的应用程序将在未来的功能更新安装后保持取消配置...
微软已经(可能是无意的)使得很难获得某些 Windows 10 版本的原始发布媒体,即使订阅了 MSDN,这也无济于事。此处概述了获取某些原始发布媒体的一种方法
我的第一个建议是避免使用 PowerShell 而不是 dism。
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:关于文件install.wim。您可以猜到,是的,您会在文件夹sources中找到它。我还创建了这个pastebin,它提供了一份很好的简历和更多细节。目前,我忘记了但 dism 解决方案并不完美......因为它会删除几乎所有内容(但不会删除最后一个,例如:Microsoft.Windows.Apprep.ChxApp、Microsoft.Windows.ParentalControls 等)。如果要检查它,请运行一个命令(PowerShell),例如 :
Get-AppxPackage | Select Name, PackageFullName
。网站 serverfault.com 不允许我添加另一个链接...