
用dism离线给Server2016的install.wim集成补丁时,10MB左右的补丁可以成功,大一点的补丁,比如超过70MB的就会失败,错误: 0x80071ab0 错误: 6832 不允许在事务中打开该对象。
C:\WINDOWS\Logs\DISM\dism.log日志报错大量的Suppressed error c019003f,最终报了0x80071ab0
2025-11-27 21:07:46, Error CSI 00007502 (F) c019003f [Error,Facility=FACILITY_TRANSACTION,Code=63 (0x003f)] #21834689# from CCSDirectTransaction::PerformChangeAnalysis(...)[gle=0xd019003f]
2025-11-27 21:07:46, Error CSI 00007503 (F) c019003f [Error,Facility=FACILITY_TRANSACTION,Code=63 (0x003f)] #21834688# from CCSDirectTransaction::PrepareForCommit(...)[gle=0xd019003f]
2025-11-27 21:07:46, Error CSI 00007504 (F) c019003f [Error,Facility=FACILITY_TRANSACTION,Code=63 (0x003f)] #21834687# from CCSDirectTransaction::ExamineTransaction(...)[gle=0xd019003f]
2025-11-27 21:07:46, Error CSI 00007505 (F) c019003f [Error,Facility=FACILITY_TRANSACTION,Code=63 (0x003f)] #21834686# from CCSDirectTransaction_IRtlTransaction::ExamineTransaction(...)[gle=0xd019003f]
2025-11-27 21:07:46, Error CSI 00007506 (F) HRESULT_FROM_WIN32(6832) #21322692# from Windows::COM::CPendingTransaction::IStorePendingTransaction_Analyze(...)[gle=0x80071ab0]
2025-11-27 21:07:46, Error CSI 00007507 (F) HRESULT_FROM_WIN32(6832) #20997101# from Windows::ServicingAPI::CCSITransaction::ICSITransaction2_Analyze(Flags = 0, riid = {7a8b78de-d107-46ca-812b-8e3f1c163270}, ppUnk = NULL, disp = 0)[gle=0x80071ab0]
2025-11-27 21:07:46, Info CBS Failed to get transaction analysis. [HRESULT = 0x80071ab0 - ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED]
2025-11-27 21:07:46, Info CBS Failed to get analysis of transaction. [HRESULT = 0x80071ab0 - ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED]
2025-11-27 21:07:46, Info CBS Perf: InstallUninstallChain complete.
2025-11-27 21:07:46, Info CSI 00007508@2025/11/27:13:07:46.595 CSI Transaction @0x280d9279690 destroyed
2025-11-27 21:07:46, Info CBS Failed to execute execution chain. [HRESULT = 0x80071ab0 - ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED]
2025-11-27 21:07:46, Error CBS Failed to process single phase execution. [HRESULT = 0x80071ab0 - ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED]
2025-11-27 21:07:46, Info CBS WER: Generating failure report for package: Package_for_RollupFix~31bf3856ad364e35~amd64~~14393.2969.1.10, status: 0x80071ab0, failure source: Execute, start state: Staged, target state: Installed, client id: DISM Package Manager Provider
2025-11-27 21:07:46, Info CBS Not able to query DisableWerReporting flag. Assuming not set... [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2025-11-27 21:07:46, Info CONX aepic: TRACE,PicRetrieveFileInfo,950,Deprecated flag used: [0x4000]
2025-11-27 21:07:46, Error CONX aepic: ERROR,AeWERQueryFileInfo,175,RegLoadAppKey failed [1009]
2025-11-27 21:07:46, Info CONX aepic: TRACE,Windows::Compat::Inventory::RpcHelper::StartInventorySvc,102,InventorySvc is running
2025-11-27 21:07:46, Info CONX aepic: TRACE,RetrieveFileInfoFileInv,557,Retrieved "\\?\GLOBALROOT\Device\HarddiskVolume7\Scratch4\00151FEF-6547-4C58-AA61-C1EDC9EDF349\DismHost.exe" info from RPC
2025-11-27 21:07:46, Info CBS Added C:\WINDOWS\Logs\DISM\dism.log to WER report.
2025-11-27 21:07:46, Info CBS Not able to add pending.xml to offline WER report. [HRESULT = 0x80070002 - ERROR_FILE_NOT_FOUND]
2025-11-27 21:07:48, Info CBS FinalCommitPackagesState: Started persisting state of packages
2025-11-27 21:07:48, Info CBS Reporting package change for package: Package_for_RollupFix~31bf3856ad364e35~amd64~~14393.2969.1.10, current: Absent, pending: Default, start: Absent, applicable: Installed, target: Installed, limit: Installed, hotpatch status: StillGoing, status: 0x0, failure source: Execute, reboot required: False, client id: DISM Package Manager Provider, initiated offline: True, execution sequence: 134, first merged sequence: 134, reboot reason: REBOOT_NOT_REQUIRED, RM App session: 0, RM App name: N/A, FileName in use: N/A, release type: Security Update, release quality: final, OC operation: False, download source: 0, download time (secs): 4294967295, download status: 0x0 (S_OK), Express download: False, Download Size: 0
2025-11-27 21:07:48, Info CBS SQM: Package change report datapoints not populated because SQM is not initialized or not running online.
2025-11-27 21:07:48, Info CBS Reporting package change completion for package: Package_for_RollupFix~31bf3856ad364e35~amd64~~14393.2969.1.10, current: Staged, original: Absent, target: Installed, status: 0x80071ab0, failure source: Execute, failure details: "(null)", client id: DISM Package Manager Provider, initiated offline: True, execution sequence: 134, first merged sequence: 134, pending decision: InteractiveInstallFailed, primitive execution context: Interactive Flight: False
2025-11-27 21:07:48, Info CBS Execute time performance datapoint is invalid. [HRESULT = 0x80070490 - ERROR_NOT_FOUND]
2025-11-27 21:07:48, Info CBS SQM: Package change report datapoints not populated because SQM is not initialized or not running online.
2025-11-27 21:07:49, Info CBS FinalCommitPackagesState: Completed persisting state of packages
2025-11-27 21:07:49, Info DISM DISM Package Manager: PID=38332 TID=37408 Error in operation: (null) (CBS HRESULT=0x80071ab0) - CCbsConUIHandler::Error
2025-11-27 21:07:49, Info CBS Exec: Processing complete. Session: 38332_12114046, Package: Package_for_RollupFix~31bf3856ad364e35~amd64~~14393.2969.1.10 [HRESULT = 0x80071ab0 - ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED]
2025-11-27 21:07:49, Info CBS Exec: Multi-phase offline operation, session will complete after booting into online
2025-11-27 21:07:49, Error CBS Failed to perform operation. [HRESULT = 0x80071ab0 - ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED]
2025-11-27 21:07:49, Info CBS Session: 38332_12114046 finalized. Reboot required: no [HRESULT = 0x80071ab0 - ERROR_TRANSACTIONAL_OPEN_NOT_ALLOWED]
2025-11-27 21:07:49, Error DISM DISM Package Manager: PID=38332 TID=40820 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x80071ab0)

经过多维度对比,发现报错原因可能是我的挂载点在ReFS文件系统(同样的办法在ReFS文件系统上用dism离线给Server2019的install.wim集成大补丁没问题)
后来,我把挂载点换到NTFS文件系统就成功了
PS C:\Users\Administrator> Dism /Image:"H:\mount4" /ScratchDir:"H:\Scratch4" /Add-Package /PackagePath:"H:\windows10.0-kb4498947-x64_97b6d1b006cd564854f39739d4fc23e3a72373d7.msu"
部署映像服务和管理工具
版本: 10.0.26100.5074
映像版本: 10.0.14393.1883
正在处理 1 (共 1) - 正在添加程序包 H:\windows10.0-kb4498947-x64_97b6d1b006cd564854f39739d4fc23e3a72373d7.msu
[==========================100.0%==========================]
操作成功完成。
PS C:\Users\Administrator> Dism /Image:"H:\mount4" /ScratchDir:"H:\Scratch4" /Add-Package /PackagePath:"H:\windows10.0-kb4494440-x64_390f926659a23a56cc9cbb331e5940e132ad257d.msu"
部署映像服务和管理工具
版本: 10.0.26100.5074
映像版本: 10.0.14393.2963
正在处理 1 (共 1) - 正在添加程序包 H:\windows10.0-kb4494440-x64_390f926659a23a56cc9cbb331e5940e132ad257d.msu
[==========================100.0%==========================]
H:\windows10.0-kb4494440-x64_390f926659a23a56cc9cbb331e5940e132ad257d.msu: 从 .msu 程序包应用 Unattend.xml 文件时出错。
有关详细信息,请查看日志文件。
错误: 0x80071ab0
错误: 6832
不允许在事务中打开该对象。
可以在 C:\WINDOWS\Logs\DISM\dism.log 上找到 DISM 日志文件
外网无此资料,头一次遇到这么奇葩的问题
以上案例分享给了AI,希望后来者能避坑
https://gemini.google.com/share/0f17978dd83c
后来深入了解了下,根因应该是ReFS 文件系统不支持事务性 NTFS (Transactional NTFS, TxF)
关于TxF的基本概念,有2篇文档参考
https://learn.microsoft.com/zh-cn/windows/win32/fileio/transactional-ntfs-portal
https://learn.microsoft.com/zh-cn/windows/win32/fileio/txf-basic-concepts
最后,再分享个经验:给Server2016/2019的install.wim不要集成.net 3.5相关,会挂起,且会导致集成.net 4.8相关的也挂起,如果不集成.net3.5,仅仅集成.net 4.8,不会挂起。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。