[工具] PSFExtractor

PSFExtractor 是用于将 CAB + PSF 格式补丁转换为可安装格式的工具。

从 build 21382 开始,微软推送的 LCU 都只有 PSFX 格式。当时我保存 21390.1000 的时候发现 LCU CAB 无法正常安装,于是通过摸索发现了 PSF,并专门为 21390 写了这个工具。一个月后 build 22000.51 推送,仍是 PSFX 格式,于是这个工具就派上了用场。它从 5 月起就被集成到了 uupdump 的 UUP 转换脚本中。但是当时的版本还有一些未解决的 bug,导致无法生成 ARM64 版本集成补丁的镜像。经过长时间的修改和测试,这个版本已经较为完善,可以正确处理目前微软发布的全部 22 个只有 CAB + PSF 格式的 LCU 补丁。新的版本将会很快集成到 UUP 转换脚本中,不需要 SxSExpand.exe 依赖,支持在 Windows 7 以上版本运行。

使用方法:将 CAB 和对应的 PSF 文件放在同一个目录中,在命令提示符运行 PSFExtractor.exe <CAB文件>,或者将 CAB 文件直接拖到 PSFExtractor.exe 上,等待程序完成操作即可得到解压后的文件夹。使用 dism 安装或集成补丁时,/packagepath 参数直接指向解压得到的文件夹即可。也可以用 cabarc 等工具将解压后的文件夹重新打包为方便使用的 CAB 文件。

如图 1,首先将 CAB 及其对应的 PSF 文件放在同一个目录下。

图1 CAB 及其对应的 PSF 文件

如图 2,将 CAB 文件拖动到 PSFExtractor.exe 程序上打开。

图2 将 CAB 文件拖动到 PSFExtractor.exe 上

如图 3,也可以使用 PSFExtractor.exe <CAB文件> 的命令行方式使用本程序。

图3 命令行方式

如图 4,执行程序后,等待程序处理 CAB 和 PSF 文件。如果是拖动方式运行,则结束后程序将自动关闭;如果是命令行方式运行,则结束后程序将输出处理结果。

图4 程序运行

如图 5,程序结束运行后会生成一个包含解包后的补丁的文件夹。这个文件夹就是可以使用 dism 安装的补丁文件。

图5 解包后的补丁文件夹

如图 6,使用 dism /online /add-package /packagepath:<补丁文件夹> 的命令来为当前系统安装解压后的补丁。集成补丁的方式与此类似,请自行查找。

图6 安装补丁

也可以使用 CABARC、MakeCAB 等工具将解压后的补丁文件夹进行打包,即可得到可以直接安装的完整 CAB 补丁包。

下载地址:https://www.betaworld.cn/files/PSFExtractor-v2.00.7z

GitHub 项目主页:Secant1006/PSFExtractor: Extract CAB+PSF update for Windows 10/11 (github.com)

发表评论