两个冲突的打印机驱动程序:hpmacronames.gpd 的版本冲突

两个冲突的打印机驱动程序:hpmacronames.gpd 的版本冲突

我有两台有冲突的 HP 打印机(OfficeJet Pro 6830 和 OfficeJet 7110):如果我安装第二台打印机的驱动程序,它会破坏第一台打印机的安装:文档不再到达打印队列,即使在控制面板->设备和打印机中,打印机出现,如果我单击“属性”,我会收到一条系统消息,告诉我:“此打印机当前未安装...”。如果我卸载所有 HP 软件,并从注册表和设备管理器中删除对打印机的所有引用,重新安装后,HP 安装程序仍然无法正确注册打印机。如果我继续使用 HP 故障排除程序“HP 安装失败 - 未知设备.hta”,它会下载另一个工具,该工具会在文件“HPMACRONAMES.GPD”中找到错误并进行更正。

完成此步骤后,我可以重新安装并正确注册我的 Officejet Pro 6830,并使其正常工作。但是,如果我继续重新安装 OfiiceJet 7110,同样的问题又会出现!

编辑于 2018 年 9 月 6 日:

经过多次尝试,我现在问题归结为到那个冲突的驱动程序文件:HPMACRONAMES.gpd

  • OfficeJet 6830 驱动程序使用 HPMACRONAMES.gpd 的版本 (a),其日期为 2014 年 7 月 16 日 03:52:00,大小为 16'491 字节。
  • OfficeJet 7110 驱动程序使用 2014 年 10 月 9 日 05:22:38 的版本 (b),大小为 11'251 字节。

两个驱动程序都将该文件安装到目录 C:\Windows\System32\spool\drivers\x64\3 中。

如果安装了版本 (a),OJ6830 可以工作,但 OJ7110 不会在其打印队列中收到任何作业。甚至无法从设置对话框发送测试页:如果我这样做,系统会弹出一个弹出窗口“您无权修改此打印机的设置。如果您需要更改设置,请联系您的系统管理员。”(请注意,我以系统管理员身份登录)。

另一方面,如果安装了版本(b),OJ7110 可以工作,但 OJ6830 无法使用。

问题:有人知道解决这个问题的办法吗?是否有可能修改打印机安装,以便使用两个版本的 macronames.gpd(位于不同的目录中),以便我可以从同一系统的两个打印机进行打印?

实际上,我可以在每台打印机上打印之前手动将正确版本的驱动程序复制到目录中,但出于实际原因,我需要一个“按下按钮并打印”的解决方案。

答案1

安装损坏的常见原因是程序安装目录中的文件发生变化,而所需程序没有所需的文件。在这种情况下,也许两个安装都发生在非常相似的路径中,或者可能在同一个文件夹中?

为了解决这个问题,建议为每种安装类型创建一个完全独立的目录。您可以通过选择要安装驱动程序的目录来执行此操作。当您选择

CustomAdvanced安装

代替

StandardExpress安装

希望这能有所帮助。干杯!

答案2

在 V3 和 V4 打印驱动程序模型中,.gpd 文件可以使用“*Include”指令进行嵌套。在第一个驱动程序的“.gpd”文件中,您可能会找到对“HPMACRONAMES.GPD”的引用。包含的“.gpd”文件通常位于同一驱动程序目录中,而您无法在根 .gpd 文件的“*include”行中指定包含的 .gpd 文件路径。

看来第二次安装驱动程序会覆盖“HPMACRONAMES.GPD”。为确保万无一失,您可以在第一次安装驱动程序后将初始版本复制到安全路径,然后在第二次安装驱动程序后将初始版本与原始版本进行比较。这样,如果问题与您提到的“.gpd”文件中的任何更改有关,您可能会找到一些导致问题根源的线索。

看来您的驱动程序是 V3,而在 V4 驱动程序中,驱动程序文件中的任何更改(甚至基于文本的文件,如“ .gpd”,“ .inf”或“...-manifest.ini”)或驱动程序安装目录都会破坏驱动程序包签名(对于 V4 驱动程序,Windows 会坚决保护“C:\Windows\System32\DriverStore\FileRepository”以防止任何更改)。

相关内容