Day 6556 Windows 7 下安装航天信息打印机驱动时,提示“操作无法完成(0x00000002)”或“系统找不到指定的文件”

情况说明:

在 Windows 7 x64 操作系统下安装航天信息 SK-860 税控打印机驱动时,在正常检测到设备的前提下,发生如下情况:

(1)使用其官方安装程序,开始安装后提示“操作无法完成(0x00000002)”,随后提示打印机驱动安装失败(0x00000002 即对应“系统找不到指定的文件”错误);

(2)在设备管理器中试图更新“其他设备”下对应的打印机设备驱动时,使用官方提供的驱动程序包,可以找到对应或兼容的设备型号,但开始安装后提示“系统找不到指定的文件”。

处理经历:

首先尝试上次安装 .NET Framework 3.5 的方法,但本次该方法无效,要么在启动安装程序后没有任何反应(或走完进度条后消失),要么直接给出必须使用“控制面板”中的“打开或关闭 Windows 功能”安装或配置 Microsoft .NET Framework 3.5 SP1 的提示(因为 .NET Framework 3.5 事实上是 Windows 7 的一部分)。

然后从低到高尝试安装各种版本的 .NET Framework ,虽然成功,但并没有解决问题,又发现该机器自 2019 年以来长期未安装过更新,遂运行 Windows Update,安装完所有能检测到的更新,仍未果。

最终后知后觉想到去查看“系统找不到指定的文件”的根源,在 \Windows\inf\SetupAPI.dev.log 中查找最近一次安装该打印机的记录:

flq: CopyFile: ‘C:\Windows\System32\DriverStore\FileRepository\sk-860.inf_amd64_neutral_aa11c87673493b48\amd64\SK-860.GPD’
flq: to: ‘C:\Windows\system32\spool\DRIVERS\x64\{6C859189-FD69-4CD3-9460-EA8EF1602268}\SETDB4.tmp’
cpy: CopyFile Drp is NOT active
flq: MoveFile: ‘C:\Windows\system32\spool\DRIVERS\x64\{6C859189-FD69-4CD3-9460-EA8EF1602268}\SETDB4.tmp’
flq: to: ‘C:\Windows\system32\spool\DRIVERS\x64\{6C859189-FD69-4CD3-9460-EA8EF1602268}\SK-860.GPD’
flq: {SPFILENOTIFY_ENDCOPY}
flq: {SPFILENOTIFY_ENDCOPY – exit(0x00000001)}
flq: {_commit_copyfile exit OK}
flq: source media:
flq: Description – [Windows 安装光盘]
flq: SourcePath – [C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_amd64_neutral_02f0bd8e459ed8b3\Amd64]
flq: SourceFile – [UNIDRV.DLL]
flq: Flags – 0x00000000
flq: {SPFQNOTIFY_NEEDMEDIA}
flq: {SPFILENOTIFY_NEEDMEDIA}
flq: {SPFILENOTIFY_NEEDMEDIA – exit(0x00000000)}
flq: {SPFQNOTIFY_NEEDMEDIA – returned 0x00000000}
!!! flq: source media: SPFQOPERATION_ABORT.
!!! flq: Error 2: The system cannot find the file specified.
flq: {_commit_copy_subqueue exit(0x00000002)}
!!! flq: FileQueueCommit aborting!
!!! flq: Error 2: The system cannot find the file specified.
flq: {SPFILENOTIFY_ENDQUEUE}
flq: {SPFILENOTIFY_ENDQUEUE – exit(0x00000001)}
flq: {_commit_file_queue exit(0x00000002)}

注意其中带下划线的两行,明确指出了驱动安装过程中找不到的文件。

经查询,该问题主要出现在一些经过优化或精简的 Windows 7 系统上,在本例中,ntprint 所在驱动包目录名原本包括 02f0bd8e459ed8b3 和 4616c3de1949be6d 两个版本,而本次安装需要的 02f0bd8e459ed8b3 不存在,所以出错,解决方法有二:

(1)将 ntprint.inf_amd64_neutral_4616c3de1949be6d 文件夹及其内容复制一份,并改名为 ntprint.inf_amd64_neutral_02f0bd8e459ed8b3

(2)直接将 ntprint.inf_amd64_neutral_4616c3de1949be6d 文件夹改名为 ntprint.inf_amd64_neutral_02f0bd8e459ed8b3

完成上述操作后,重新安装驱动即可。

注:所有评论将在审核通过后显示,请不要在评论内容的任何位置出现链接,否则您的评论将被自动移入回收站,且永远不会被复审。

All comments will be available after being manually reviewed, please do not include any links anywhere in your comment, otherwise your comment will be automatically deleted and are not eligible for review.

1 条评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注