1

我正在尝试安装 WDK 中提供的 Windows 示例端口监视器(localmon)。但是我在安装它时不断收到错误:

安装端口监视器“DDK 示例端口监视器”时出错。请联系制造商寻求帮助。

我正在使用以下说明进行安装:-

打开“设备和打印机”文件夹。右键单击我的目标打印机并选择“打印机属性”。单击“端口”选项卡,然后单击“添加端口...”按钮。在打印机端口对话框中,单击“新端口类型...”按钮。在文本输入框中键入 INF 文件的路径,然后单击“确定”。

我正在使用 Windows 7 64 位版本。以下是我的 INF 文件。

; monitor.inf
;
; Installation inf for printer port monitor
;
; (c) Copyright 2001-2003 DDK Example for print monitor installation
;

[Version]
Signature="$Windows NT$"
Provider=%PMProducer%
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer

[PortMonitors]
"DDK Sample Port Monitor" = sampleportmon

[sampleportmon]
CopyFiles=@ddklocalmon.dll, @ddklocalui.dll
PortMonitorDll=ddklocalmon.dll

[SourceDisksFiles]
ddklocalmon.dll=1,,
ddklocalui.dll=1,,

[SourceDisksNames]
1="Sample Port Monitor Installation Disk",,,

[Strings]
PMProducer="Sample Port Monitor Company, Inc."

有人可以在这里帮助我吗?

非常感谢 !!

4

2 回答 2

3

我终于能够解决这个问题。这是一个权限问题。在 Windows 7 中以管理员权限访问打印机属性的方法是通过控制面板、系统和安全、管理工具,然后右键单击打印管理,然后以管理员身份运行。一旦我这样做了,我就可以安装端口监视器。

于 2012-07-06T03:25:56.980 回答
0

问题之旅

在端口监视器的 INF 文件中,需要将端口监视器 DLL 安装到 Windows\System32 中。

按照语言端口监视器的 WDK 示例,人们会认为 [DestinationDirs] 目录 id 可能是 66002。请注意,端口监视器示例 .inf 省略了提供 [DestinationDir] 部分。 https://docs.microsoft.com/en-us/windows-hardware/drivers/print/installing-a-print-monitor

打印机dirids 的文档似乎证实了这一点。 https://docs.microsoft.com/en-us/windows-hardware/drivers/print/printer-dirids

[DestinationDirs] 
DefaultDestDir = 66002

迪里德:66002;用途:表示要复制到本地系统\System32 的附加文件的目录路径。见本表后面的段落。目录内容:打印监控文件

请注意,INFGate 工具将提供以下警告:

.\monitor.inf(xx): warning 8503: (DW22.23.8503) Use of DirID 66002 prevents full remote/point-and-print installation.

但是,这在实践中仍然行不通。尝试再次使用 66002 安装端口监视器会出现与我们开始时相同的错误。

Installing Port Monitor
---------------------------
An error occurred installing port monitor 'DDK sample port monitor'. Please contact the  manufacturer for assistance.
---------------------------
OK   
---------------------------

解决方案

驱动程序文档有另一个目录 ID 列表,还有另一个:

https://docs.microsoft.com/en-us/windows-hardware/drivers/install/using-dirids

11 系统目录。对于 Windows 2000 和更高版本的 Windows,这相当于 %SystemRoot%\system32。

我的经验是,对系统目录使用 Dirid 值 11 似乎适用于 Windows XP 和 10 的端口监视器。

[DestinationDirs] 
DefaultDestDir = 11

请注意,尽管 INFGate 有效,但仍会提供有关其不鼓励使用的警告。 .\monitor.inf(56): warning 8505: (DW22.23.8505) DirID DefaultDestDir=11 is discouraged. Should be in 66000-66004 range in order to support remote install.

于 2020-09-30T03:21:18.187 回答