安装Windows示例端口监视器localmon时出错

时间:2012-07-03 08:03:10

标签: windows printing device-driver wdk

我正在尝试安装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."

有人可以帮助我吗?

非常感谢!!

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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

有关打印机类别的文档似乎证实了这一点。 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。

我的经验是,在Windows XP和10的端口监视器上,对System目录使用Dirid值11似乎可行。

[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.