背景:
最近的 Windows 11 24H2 版本(例如 26100.3915_amd64、26100.4061_amd64)中,执行全新安装会导致"Microsoft Print to PDF"打印机不存在
复现步骤
打开 ”控制面板-> 程序和功能-> 启动或关闭Windows功能 -> 取消勾选 Microsoft Print to PDF 组件 -> 确定
打开 ”控制面板-> 程序和功能-> 启动或关闭Windows功能 -> 勾选 Microsoft Print to PDF 组件 -> 确定->发生0x800F0922错误
会导致依赖此组件的软件出错,不能预览或者打印到相应的pdf。
分析与解决
我找遍了中文网络,没找到我要的答案,在红迪论坛找到了:
https://www.reddit.com/r/sysadmin/comments/1fvmtdi/windows_11_24h2_is_missing_microsoft_print_to_pdf/
https://www.reddit.com/r/sysadmin/comments/1kp02gw/windows_11_24h2_again_missing_pdf_printer/
第一个方案
第一个没说啥原因,只是说了因为微软要提供一个全新的、现代的且安全的打印体验(https://techcommunity.microsoft.com/blog/microsoft-security-blog/a-new-modern-and-secure-print-experience-from-windows/4002645)
,然后改出bug了,导致全新安装的win11 24h2 (不包含2024年9月30号的更新)的系统都会出现Microsoft Print to PDF缺失的情况(从 23H2之前 的升级的没影响)。
给出的解决方案也简单粗暴:
下载并安装补丁:https://www.catalog.update.microsoft.com/Search.aspx?q=KB5043178
之前遇到一个客户,用了这个补丁,能解决问题,但是,我今天遇到一个客户,用了这个补丁,还是不行,于是有了
第二个方案
这个帖子说了根本原因,系统缺少必要的驱动程序包:prnms009.inf_amd64_
C:\Windows\System32\DriverStore\FileRepository\。该文件对于"Microsoft Print to PDF"功能至关重要,在这些版本中缺失或未正确注册。去年(2024年),通过更新 KB5043178 解决了此问题。然而,这个补丁并未解决上述新版本中存在的问题。
于是有两个修复方法
方法一(我是用这个方法解决问题的)
手动修复:
注意:确保所有步骤都以管理员权限执行。
获取缺失的驱动程序文件夹:
从一个正常工作的 Windows 11 系统(最好是相同或更早的版本),复制整个文件夹:
C:\Windows\System32\DriverStore\FileRepository\prnms009.inf_amd64_
将
或者,从以下链接下载该文件夹(来自在 Windows Update 后 26100.4061 版本的 Windows 11 24H2 系统):
通过网盘分享的文件:PDF驱动prnms009.inf_amd64_5555b7fbfa8487e2.zip
链接: https://pan.baidu.com/s/1O7U7Zb4m5hsn1Fivt4sRJA?pwd=1234 提取码: 1234
--来自百度网盘超级会员v8的分享
-
安装驱动程序:
将复制的文件夹放置在受影响的系统上(例如,放在桌面上)。
进入文件夹,右键单击 prnms009.inf,然后选择“安装”。
-
重新安装“Microsoft Print to PDF”功能:
-
按下 Windows + R,输入 optionalfeatures,然后按 Enter。
-
在 Windows 功能对话框中,取消勾选“Microsoft Print to PDF”,然后点击确定以卸载。
-
再次按下 Windows + R,输入 services.msc,然后按 Enter。
-
在服务窗口中,找到“打印 spooler”,右键点击它,然后选择“停止”。
-
再次按下 Windows + R,输入 optionalfeatures,然后按 Enter。
-
勾选 "Microsoft Print to PDF" 并点击确定以重新安装。
-
返回到服务窗口,右键点击 "Print Spooler",选择 "启动"。
方法二(我没试过)
添加打印机 → 添加具有手动设置的本地打印机 → 使用现有端口:PORTPROMPT:,选择从"Windows Update"获取驱动程序,几分钟之后,Microsoft Print To PDF 驱动程序出现了