2

我正在尝试安装作为 WDK(Windows 驱动程序工具包)中的示例提供的 Windows 打印机驱动程序(OEMUNI)。但我不断从添加打印机向导中收到以下错误:“未安装打印机驱动程序。操作无法完成(错误 0x00000002) ”。我尝试使用管理员权限运行添加打印机向导,但我仍然遇到同样的问题。

我正在使用 Windows 7 64 位版本。有人可以在这里帮助我吗?另外,错误代码:0x00000002 表示什么?

以下是我的 INF 文件:-

; OEMDLL.INF
;
; INF file for OEM DLL Customization samples
;
; Copyright 1999-2003 Microsoft Corporation


[Version]
Signature="$Windows NT$"
Provider=%MS%
LayoutFile=ntprint.inf
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
DriverVer=6/07/2001,1.0.0.1

;
; Manufacturer section.
;
; This section lists all of the manufacturers 
; that we will display in the Dialog box
;
[Manufacturer]
"Microsoft"=Microsoft, NTamd64, NTia64

;
; Model sections. 
; 
; Each section here corresponds with an entry listed in the
; [Manufacturer] section, above. The models will be displayed in the order
; that they appear in the INF file.
;

[Microsoft]
"PostScript WaterMark Sample"          = INSTALL_WATERMARK.PS
"Unidrv WaterMark Sample"              = INSTALL_WATERMARK.UNI
"OEM PostScript Customization Sample"  = INSTALL_OEMPS
"OEM Unidrv Customization Sample"      = INSTALL_OEMUNI
"OEM UI Customization Sample (PS)"     = INSTALL_OEMUI.PS
"OEM UI Customization Sample (Unidrv)" = INSTALL_OEMUI.UNI

[Microsoft.NTamd64]
"PostScript WaterMark Sample"          = INSTALL_WATERMARK.PS
"Unidrv WaterMark Sample"              = INSTALL_WATERMARK.UNI
"OEM PostScript Customization Sample"  = INSTALL_OEMPS
"OEM Unidrv Customization Sample"      = INSTALL_OEMUNI
"OEM UI Customization Sample (PS)"     = INSTALL_OEMUI.PS
"OEM UI Customization Sample (Unidrv)" = INSTALL_OEMUI.UNI

[Microsoft.NTia64]
"PostScript WaterMark Sample"          = INSTALL_WATERMARK.PS
"Unidrv WaterMark Sample"              = INSTALL_WATERMARK.UNI
"OEM PostScript Customization Sample"  = INSTALL_OEMPS
"OEM Unidrv Customization Sample"      = INSTALL_OEMUNI
"OEM UI Customization Sample (PS)"     = INSTALL_OEMUI.PS
"OEM UI Customization Sample (Unidrv)" = INSTALL_OEMUI.UNI

;
; Installer Sections
;
; These sections control file installation, and reference all files that
; need to be copied. The section name will be assumed to be the driver
; file, unless there is an explicit DriverFile section listed.
;

[INSTALL_WATERMARK.PS]
CopyFiles=@OEM.PPD
CopyFiles=@WMARKPS.INI
CopyFiles=WMARKPS
DataFile=OEM.PPD
DataSection=PSCRIPT_DATA
Include=NTPRINT.INF
Needs=PSCRIPT.OEM,PSCRIPT_DATA


[INSTALL_WATERMARK.UNI]
CopyFiles=@OEM.GPD
CopyFiles=@WMARKUNI.INI
CopyFiles=WMARKUNI
DataFile=OEM.GPD
DataSection=UNIDRV_DATA
Include=NTPRINT.INF
Needs=UNIDRV.OEM,TTFSUB.OEM,UNIDRV_DATA

[INSTALL_OEMPS]
CopyFiles=@OEM.PPD
CopyFiles=@OEMPS.INI
CopyFiles=OEMPS
DataFile=OEM.PPD
DataSection=PSCRIPT_DATA
Include=NTPRINT.INF
Needs=PSCRIPT.OEM,PSCRIPT_DATA

[INSTALL_OEMUNI]
CopyFiles=@OEM.GPD
CopyFiles=@OEMUNI.INI
CopyFiles=OEMUNI
DataFile=OEM.GPD
DataSection=UNIDRV_DATA
Include=NTPRINT.INF
Needs=UNIDRV.OEM,TTFSUB.OEM,UNIDRV_DATA

[INSTALL_OEMUI.PS]
CopyFiles=@OEM.PPD
CopyFiles=@OEMUI.INI
CopyFiles=OEMUI
DataFile=OEM.PPD
DataSection=PSCRIPT_DATA
Include=NTPRINT.INF
Needs=PSCRIPT.OEM,PSCRIPT_DATA

[INSTALL_OEMUI.UNI]
CopyFiles=@OEM.GPD
CopyFiles=@OEMUI.INI
CopyFiles=OEMUI
DataFile=OEM.GPD
DataSection=UNIDRV_DATA
Include=NTPRINT.INF
Needs=UNIDRV.OEM,TTFSUB.OEM,UNIDRV_DATA



; Copy Sections
;
; Lists of files that are actually copied. These sections are referenced
; from the installer sections, above. Only create a section if it contains
; two or more files (if we only copy a single file, identify it in the
; installer section, using the @filename notation) or if it's a color
; profile (since the DestinationDirs can only handle sections, and not
; individual files).
;

[WMARKPS]
WMARKPS.DLL
WMARKUI.DLL

[WMARKUNI]
WMARKUNI.DLL
WMARKUNIUI.DLL

[OEMPS]
OEMPS.DLL

[OEMUI]
OEMUI.DLL

[OEMUNI]
OEMUNI.DLL


;
; Data Sections
;

; These sections contain data that is shared between devices.
;



;
;  Location of source files not in Layout.inf.
;

[SourceDisksNames]
100 = %OEMSample%

[SourceDisksFiles.x86]
oemps.dll      = 100,OEMPS\x86
oemui.dll      = 100,OEMUI\x86
oemuni.dll     = 100,OEMUNI\x86
wmarkps.dll    = 100,WaterMark\x86
wmarkuni.dll   = 100,WaterMarkUni\x86
wmarkuniui.dll = 100,WaterMarkUni\x86
wmarkui.dll    = 100,WaterMark\x86

[SourceDisksFiles.amd64]
oemps.dll      = 100,OEMPS\amd64
oemui.dll      = 100,OEMUI\amd64
oemuni.dll     = 100,OEMUNI\amd64
wmarkps.dll    = 100,WaterMark\amd64
wmarkuni.dll   = 100,WaterMarkUni\amd64
wmarkuniui.dll = 100,WaterMarkUni\amd64
wmarkui.dll    = 100,WaterMark\amd64

[SourceDisksFiles.ia64]
oemps.dll      = 100,OEMPS\ia64
oemui.dll      = 100,OEMUI\ia64
oemuni.dll     = 100,OEMUNI\ia64
wmarkps.dll    = 100,WaterMark\ia64
wmarkuni.dll   = 100,WaterMarkUni\ia64
wmarkuniui.dll = 100,WaterMarkUni\ia64
wmarkui.dll    = 100,WaterMark\ia64

[SourceDisksFiles]
OEM.PPD       = 100
OEM.GPD       = 100
WMARKPS.INI   = 100
WMARKUNI.INI  = 100
OEMPS.INI     = 100
OEMUNI.INI    = 100
OEMUI.INI     = 100

;
; Call SetupSetDirectoryId with 66000 to set the target directory at runtime
; (depending on which environment drivers are getting installed)
;

[DestinationDirs]
DefaultDestDir=66000

;
; Localizable Strings
;
[Strings]
MS="Microsoft DDK Sample"
OEMSample="OEM DLL Print samples"
4

3 回答 3

3

错误是ERROR_FILE_NOT_FOUND

  1. 你是先建立样品的吗?
  2. 构建后,是否将其放入相对于.inf文件的正确文件夹中?
于 2012-07-12T19:42:07.420 回答
0

我也遇到了这个问题。原因是:文件oem.gpd包含ttfsub.gpd,在oemdll目录下找不到。但是即使我们将 ttfsub.gpd 从 FileRepsoitory 复制到 oemdll 目录下,安装也会失败。但是,如果您安装位图示例,您将成功。所以正确的方法是像位图驱动一样...

于 2013-06-12T09:02:30.297 回答
0

0x000002 指的是一些丢失的文件,这意味着在 inf 文件中有对该文件的引用,但它实际上并不存在于驱动程序包中。如果 inf 文件中提到的所有文件都存在于驱动程序包中,请检查驱动程序包。

于 2013-08-13T18:04:33.277 回答