尝试从脱机 Windows 8.1 映像中删除已配置的应用程序时,如何解决“无法获取包的暂存包”错误?

尝试从脱机 Windows 8.1 映像中删除已配置的应用程序时,如何解决“无法获取包的暂存包”错误?

当我尝试从离线 Windows 8.1 映像中删除已配置的应用程序时,我想要删除的大多数应用程序都没有问题,但尝试删除 Microsoft.Office.OneNote 会导致错误。

以下 PowerShell 代码演示了该问题。操作系统是 Windows PE 5.0。(为什么是 WinPE?我的目标是在新安装首次启动之前,在 System Center Configuration Manager 2012 R2 任务序列期间删除一些已配置的应用程序。)脱机映像是安装了截至 2015 年 4 月 30 日的更新的 Windows 8.1,它位于驱动器 G: 的根目录下。

附言 >Get-AppxProvisionedPackage -路径 G:\
...
[省略几行]
...
显示名称:Microsoft.Office.OneNote
版本:2014.215.704.4136
建筑:中性
资源 ID :〜
软件包名称:Microsoft.Office.OneNote_2014.215.704.4136_neutral_~_8wekyb3d8bbwe
...
[省略几行]
...
显示名称:Microsoft.ZuneMusic
版本:2014.228.1317.652
建筑:中性
资源 ID :〜
软件包名称:Microsoft.ZuneMusic_2014.228.1317.652_neutral_~_8wekyb3d8bbwe
...

附言 >删除-AppxProvisionedPackage-路径 G:\-包名称 Microsoft.ZuneMusic_2014.228.1317.652_neutral_~_8wekyb3d8bbwe
路径:G:\
在线:错误
需要重新启动:错误

附言 >Remove-AppxProvisionedPackage-Path G:\-PackageNameMicrosoft.Office.OneNote_2014.215.704.4136_neutral_~_8wekyb3d8bbwe
Remove-AppxProvisionedPackage:系统找不到指定的文件。
位于行:1 字符:1
+ Remove-AppxProvisionedPackage -Path G:\ -PackageName Microsoft.Office.OneNote_20 ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo:未指定:(:) [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=1636 输入 DismRemoveProvisionedAppxPackageInternal - DismRemoveProvisionedAppxPackageInternal
2015-06-08 14:43:29,信息 DISM API:PID=1444 TID=1636 输入参数:会话:2,PackageName:Microsoft.ZuneMusic_2014.228.1317.652_neutral_~_8wekyb3d8bbwe - DismRemoveProvisionedAppxPackageInternal
2015-06-08 14:43:29,信息 DISM API:PID=1444 TID=1636 输入参数:会话: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 提供程序存储: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 提供程序存储: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 正在写入临时配置文件:X:\windows\TEMP\appxStage-{77DB0339-427B-481D-BC0D​​-88B930DBA99A}\AppxProvisioning.xml。- CDismContext::FinalizeChanges
2015-06-08 14:43:30,信息 DISM DISM Appx 提供程序:PID=1848 TID=1440 获取 G:\ProgramData\Microsoft\Windows 的所有权。- CDismContext::FinalizeChanges
2015-06-08 14:43:30,信息 DISM DISM Appx 提供程序:PID=1848 TID=1440 从 X:\windows\TEMP\appxStage-{77DB0339-427B-481D-BC0D​​-88B930DBA99A}\AppxProvisioning.xml 复制到 G:\ProgramData\Microsoft\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,信息 DISM API:PID=1444 TID=1636 离开 DismRemoveProvisionedAppxPackageInternal - DismRemoveProvisionedAppxPackageInternal
2015-06-08 14:43:30,信息 DISM API:PID=1444 TID=1636 进入 DismCloseSessionInternal - DismCloseSessionInternal

删除 Microsoft.Office.OneNote(错误行以粗体显示):

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=1636 输入参数:会话:2,包名称:Microsoft.Office.OneNote_2014.215.704.4136_neutral_~_8wekyb3d8bbwe - DismRemoveProvisionedAppxPackageInternal
2015-06-08 14:57:06,信息 DISM API:PID=1444 TID=1636 输入参数:会话:2,包名称: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 提供程序存储: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 提供程序存储: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 提供程序: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=1636 输入 DismGetLastErrorMessageInternal - 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=1636 进入 DismDeleteInternal - DismDeleteInternal
2015-06-08 14:57:06,信息 DISM API:PID=1444 TID=1636 离开 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’的暂存包。”这是什么意思?

尽管我发现一篇博客文章描述可能暗示问题的 Windows 8/8.1 应用程序术语(有关应用程序的分阶段版本的内容)我针对这些特定错误寻求帮助的搜索毫无结果。我如何才能找到这些错误的原因?

答案1

我遇到了完全相同的问题。运行本机 dism 版本的命令时,dism 日志中出现错误消息“无法获取包的暂存包”。谷歌搜索后,我发现edugeek 上的此页面

因此,那里的用户注意到,如果他返回到原始的 1607 ISO,命令将正常工作。同样,我尝试对我拥有的 1703 ISO 使用相同的命令,一切正常。因此,微软分发的一些 WIM 文件似乎出了问题。(对我来说有问题的是 2017 年 1 月更新的 1607,直接来自我的 MSDN 订阅。)

我注意到您提到您使用的操作系统映像安装了特定日期的更新。我想知道这是否是导致问题的根源,因为您和我使用的是不同的操作系统,但在这两种情况下,介质都安装了更新以使其保持最新状态。

相关内容