Windows下INF安装打印处理器报错:系统找不到指定文件
打印处理器安装报错「系统找不到指定文件」排查方案
问题场景
Windows 10 64位系统下,通过INF文件安装自定义打印处理器Watermark Print Processor时,执行安装命令后提示「系统找不到指定文件」。已确认WatermarkPrintProcessor.dll存在于指定目录,路径和文件名均无误。
INF文件内容
Signature="$Windows NT$" Class=Printer Provider=%ProviderName% DriverVer=01/01/2024,1.0.0.0 [DestinationDirs] DefaultDestDir = 66000; [SourceDisksNames] 1 = %Disk1% [SourceDisksFiles] WatermarkPrintProcessor.dll = 1 [Manufacturer] eSense.Company = PrintProcessor,NTamd64,NTARM64 [PrintProcessor.NTamd64] "Watermark Print Processor" = WATERMARK_X64, WatermarkPrintProcessor.dll [PrintProcessor.NTARM64] "Watermark Print Processor" = WATERMARK_ARM64, WatermarkPrintProcessor.dll [WATERMARK_X64] CopyFiles= @WatermarkPrintProcessor.dll AddReg= AddPrintProcessor_X64 [WATERMARK_ARM64] CopyFiles= @WatermarkPrintProcessor.dll AddReg= AddPrintProcessor_ARM64 [AddPrintProcessor_X64] HKLM, "System\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\Watermark", "Driver", , "WatermarkPrintProcessor.dll" [AddPrintProcessor_ARM64] HKLM, "System\CurrentControlSet\Control\Print\Environments\Windows ARM64\Print Processors\Watermark", "Driver", , "WatermarkPrintProcessor.dll" [PrinterInstall] CopyFiles = @WatermarkPrintProcessor.dll [Strings] ProviderName="My.Company" Disk1 = "WatermarkPrintProcessors" MfgName="My.Company"
执行的安装命令
rundll32 printui.dll,PrintUIEntry /if /b "Watermark Print Processor" /f "C:\WatermarkPrintProcessors\PrintProcessor.inf" /r "FILE:" /m "Watermark Print Processor"
排查要点与修复方案
1. 补全INF文件中文件源路径
当前SourceDisksNames仅定义了磁盘名称,未指定DLL所在的实际路径,导致安装程序无法定位文件。修改该小节:
[SourceDisksNames] 1 = %Disk1%,,"C:\WatermarkPrintProcessors\"
添加第三个参数指定文件所在目录,Windows安装程序就能正确找到WatermarkPrintProcessor.dll。
2. 移除冗余的端口参数
安装打印处理器不需要绑定端口,命令中的/r "FILE:"属于冗余参数,会干扰安装流程。修改后的命令:
rundll32 printui.dll,PrintUIEntry /if /b "Watermark Print Processor" /f "C:\WatermarkPrintProcessors\PrintProcessor.inf" /m "Watermark Print Processor"
3. 确认DLL的系统位数兼容性
必须保证WatermarkPrintProcessor.dll是64位编译版本,32位DLL无法在64位Windows系统中作为打印处理器加载。可通过工具(如Dependency Walker)验证DLL位数。
4. 以管理员权限执行命令
右键点击命令提示符,选择「以管理员身份运行」,再执行安装命令,避免因权限不足导致文件访问或注册表写入失败。
5. 验证注册表配置(可选)
安装完成后,可手动检查注册表路径HKLM\System\CurrentControlSet\Control\Print\Environments\Windows x64\Print Processors\Watermark下的Driver值是否为WatermarkPrintProcessor.dll,确保配置生效。
内容的提问来源于stack exchange,提问作者Ghaith Alawneh
相关产品推荐
相关产品推荐

