当我尝试从脱机Windows 8.1映像中删除置备的应用程序时,大多数要删除的应用程序都不会造成问题,但尝试删除Microsoft.Office.OneNote会导致错误。
以下PowerShell代码演示了这个问题。 操作系统是Windows PE 5.0。 (为什么selectWinPE?我的目标是在首次启动全新安装之前,在System Center Configuration Manager 2012 R2任务序列期间删除一些已部署的应用程序。)脱机映像是Windows 8.1,安装时已更新至2015年4月30日,以及它位于驱动器G:的根部。
PS> Get-AppxProvisionedPackage -Path G:\ ... [行省略] ... DisplayName:Microsoft.Office.OneNote 版本:2014.215.704.4136 架构:中立 ResourceId:〜 PackageName:Microsoft.Office.OneNote_2014.215.704.4136_neutral_〜_8wekyb3d8bbwe ... [行省略] ... DisplayName:Microsoft.ZuneMusic 版本:2014.228.1317.652 架构:中立 ResourceId:〜 软件包名称:Microsoft.ZuneMusic_2014.228.1317.652_neutral_〜_8wekyb3d8bbwe ... PS>删除-AppxProvisionedPackage -Path G:\ -PackageName Microsoft.ZuneMusic_2014.228.1317.652_neutral_〜_8wekyb3d8bbwe path:G:\ 在线:错误 需要重新启动:False PS>删除-AppxProvisionedPackage -Path G:\ -PackageName Microsoft.Office.OneNote_2014.215.704.4136_neutral_〜_8wekyb3d8bbwe Remove-AppxProvisionedPackage:系统找不到指定的文件。 在行:1 char:1 +删除-AppxProvisionedPackage -Path G:\ -PackageName Microsoft.Office.OneNote_20 ... +〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 〜 + CategoryInfo:NotSpecified:(:) [Remove-AppxProvisionedPackage],COMException + FullyQualifiedErrorId:Microsoft.Dism.Commands.RemoveAppxProvisionedPackageCommand
以下是%SystemRoot%\ Logs \ DISM \ dism.log文件的摘录 。
删除Microsoft.ZuneMusic:
2015-06-08 14:43:29,信息DISM API:PID = 1444 TID = 1636inputDismRemoveProvisionedAppxPackageInternal - DismRemoveProvisionedAppxPackageInternal 2015-06-08 14:43:29,信息DISM API:PID = 1444 TID = 1636input参数:会话:2,包名称:Microsoft.ZuneMusic_2014.228.1317.652_neutral_〜_8wekyb3d8bbwe - DismRemoveProvisionedAppxPackageInternal 2015-06-08 14:43:29,Info DISM API:PID = 1444 TID = 1636input参数:Session:2,PackageName:Microsoft.ZuneMusic_2014.228.1317.652_neutral_〜_8wekyb3d8bbwe - DismRemoveProvisionedAppxPackageInternal 2015-06-08 14:43:29,信息DISM API:PID = 1444 TID = 1636初始化的默认取消事件 - DismRemoveProvisionedAppxPackageInternal 2015-06-08 14:43:29,信息DISM API:PID = 1444 TID = 1636成功排队命令对象 - CCommandThread :: EnqueueCommandObject 2015-06-08 14:43:29,信息DISM API:PID = 1444 TID = 1068 ExecuteLoop:CommandQueue发信号 - CCommandThread :: ExecuteLoop 2015-06-08 14:43:29,信息DISM API:PID = 1444 TID = 1068成功离队命令对象 - CCommandThread :: DequeueCommandObject 2015-06-08 14:43:29,信息DISM DISM提供程序存储:PID = 1848 TID = 1440获取提供程序AppxManager - CDISMProviderStore :: GetProvider 2015-06-08 14:43:29,信息DISM DISM提供程序存储:PID = 1848 TID = 1440以前没有遇到提供程序。 尝试初始化提供程序。 - CDISMProviderStore :: Internal_GetProvider 2015-06-08 14:43:29,信息DISM DISM Provider Store:PID = 1848 TID = 1440从位置X载入提供程序:\ windows \ TEMP \ D173D978-C7E2-4153-88D4-A35376D8C923 \ AppxProvider.dll - CDISMProviderStore: :Internal_GetProvider 2015-06-08 14:43:29,信息DISM DISM Provider Store:PID = 1848 TID = 1440连接到位于X:\ windows \ TEMP \ D173D978-C7E2-4153-88D4-A35376D8C923 \ AppxProvider.dll的提供程序。 - CDISMProviderStore :: Internal_LoadProvider 2015-06-08 14:43:29,信息DISM DISM提供程序存储:PID = 1848 TID = 1440遇到服务提供程序,执行其他服务初始化。 - CDISMProviderStore :: Internal_LoadProvider 2015-06-08 14:43:29,信息DISM API:PID = 1444 TID = 1068使用包全名调用RemoveAllUserAppx = Microsoft.ZuneMusic_2014.228.1317.652_neutral_〜_8wekyb3d8bbwe - CRemoveAppxCommandObject :: InternalExecute 2015-06-08 14:43:29,信息DISM DISM Appx提供程序:PID = 1848 TID = 1440写入临时configuration文件:X:\ windows \ TEMP \ appxStage- {77DB0339-427B-481D-BC0D-88B930DBA99A} \ AppxProvisioning .XML。 - CDismContext :: FinalizeChanges 2015-06-08 14:43:30,信息DISM DISM Appx Provider:PID = 1848 TID = 1440取得G:\ ProgramData \ Microsoft \ Windows的所有权。 - CDismContext :: FinalizeChanges 2015-06-08 14:43:30,信息DISM DISM Appx Provider:PID = 1848 TID = 1440从X:\ windows \ TEMP \ appxStage- {77DB0339-427B-481D-BC0D-88B930DBA99A} \ AppxProvisioning.xml复制到G:\ ProgramData \微软\的Windows \ AppxProvisioning.xml。 - CDismContext :: FinalizeChanges 2015-06-08 14:43:30,信息DISM API:PID = 1444 TID = 1068成功删除包 - CRemoveAppxCommandObject :: InternalExecute 2015-06-08 14:43:30,Info DISM API:PID = 1444 TID = 1636离开DismRemoveProvisionedAppxPackageInternal - DismRemoveProvisionedAppxPackageInternal 2015-06-08 14:43:30,信息DISM API:PID = 1444 TID = 1636 Enter DismCloseSessionInternal - DismCloseSessionInternal
删除Microsoft.Office.OneNote(以粗体显示错误行):
2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 1636inputDismRemoveProvisionedAppxPackageInternal - DismRemoveProvisionedAppxPackageInternal 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 1636input参数:Session:2,PackageName:Microsoft.Office.OneNote_2014.215.704.4136_neutral_〜_8wekyb3d8bbwe - DismRemoveProvisionedAppxPackageInternal 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 1636input参数:Session:2,PackageName:Microsoft.Office.OneNote_2014.215.704.4136_neutral_〜_8wekyb3d8bbwe - DismRemoveProvisionedAppxPackageInternal 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 1636初始化的默认取消事件 - DismRemoveProvisionedAppxPackageInternal 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 1636成功排队命令对象 - CCommandThread :: EnqueueCommandObject 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 876 ExecuteLoop:发送CommandQueue - CCommandThread :: ExecuteLoop 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 876成功离队命令对象 - CCommandThread :: DequeueCommandObject 2015-06-08 14:57:06,信息DISM DISM提供程序存储:PID = 2020 TID = 848获取提供程序AppxManager - CDISMProviderStore :: GetProvider 2015-06-08 14:57:06,信息DISM DISM提供程序存储:PID = 2020 TID = 848以前没有遇到提供程序。 尝试初始化提供程序。 - CDISMProviderStore :: Internal_GetProvider 2015-06-08 14:57:06,信息DISM DISM Provider Store:PID = 2020 TID = 848从位置X载入提供程序:\ windows \ TEMP \ D613CBD7-929A-4C48-92DE-589E048B20EC \ AppxProvider.dll - CDISMProviderStore: :Internal_GetProvider 2015-06-08 14:57:06,信息DISM DISM Provider Store:PID = 2020 TID = 848连接到位于X:\ windows \ TEMP \ D613CBD7-929A-4C48-92DE-589E048B20EC \ AppxProvider.dll的提供程序。 - CDISMProviderStore :: Internal_LoadProvider 2015-06-08 14:57:06,信息DISM DISM提供程序存储:PID = 2020 TID = 848遇到服务提供程序,执行其他服务初始化。 - CDISMProviderStore :: Internal_LoadProvider 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 876使用包全名调用RemoveAllUserAppx = Microsoft.Office.OneNote_2014.215.704.4136_neutral_〜_8wekyb3d8bbwe - CRemoveAppxCommandObject :: InternalExecute 2015-06-08 14:57:06,错误DISM DISM Appx提供程序:PID = 2020 TID = 848无法获取程序包“Microsoft.Office.OneNote_2014.215.704.4136_neutral_〜_8wekyb3d8bbwe”的分阶段程序包。 - CPackageAdapter :: CreateForRemove(hr:0x80070002) 2015-06-08 14:57:06,错误DISM DISM Appx Provider:PID = 2020 TID = 848初始化程序包“Microsoft.Office.OneNote_2014.215.704.4136_neutral_〜_8wekyb3d8bbwe”的程序包适配器失败 - CAppxManager :: RemoveAllUserAppx(hr :0x80070002) 2015-06-08 14:57:06,错误DISM API:PID = 1444 TID = 876无法删除包 - CRemoveAppxCommandObject :: InternalExecute(hr:0x80070002) 2015-06-08 14:57:06,错误DISM API:PID = 1444 TID = 876 InternalExecute失败 - CBaseCommandObject :: Execute(hr:0x80070002) 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 1636离开DismRemoveProvisionedAppxPackageInternal - DismRemoveProvisionedAppxPackageInternal 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 1636inputDismGetLastErrorMessageInternal - DismGetLastErrorMessageInternal 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 1636退出DismGetLastErrorMessageInternal - DismGetLastErrorMessageInternal 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 1636inputDismDeleteInternal - DismDeleteInternal 2015-06-08 14:57:06,Info DISM API:PID = 1444 TID = 1636 Leave DismDeleteInternal - DismDeleteInternal 2015-06-08 14:57:06,信息DISM API:PID = 1444 TID = 1636进入DismCloseSessionInternal - DismCloseSessionInternal
Remove-AppxProvisionedPackage返回的错误是“系统找不到指定的文件”。 哪个文件?
DISM日志中更详细的错误消息是“无法获取程序包的分阶段软件包”Microsoft.Office.OneNote_2014.215.704.4136_neutral_〜_8wekyb3d8bbwe'“。 这是什么意思?
尽pipe我发现了一篇描述Windows 8 / 8.1应用程序术语的博客文章 ,可能暗示了这个问题 – 关于应用程序的分步版本 – 我对这些特定错误的帮助search没有结果。 我怎样才能find这些错误的原因?
我遇到了同样的问题。 运行该命令的本地dism版本让我在dism日志中logging有关“无法获取程序包的程序包”的错误消息。 和谷歌search引导我到edugeek这个页面 。
所以那里的用户注意到,如果他回到原来的1607 ISO,命令工作正常。 同样的,我用1703 ISO也尝试了相同的命令,一切正常。 所以看起来有一些微软正在分发的WIM文件。 (对我来说是有问题的是1607年1月更新,直接从我的MSDN订阅。)
我注意到你提到你正在使用安装了某个date的更新的操作系统映像。 我想知道这是否是导致问题的根源,因为你和我正在处理不同的操作系统,但是在这两种情况下,媒体都安装了更新,以使其更新。