安装Windows打印机驱动程序时出错

时间:2012-07-12 19:38:15

标签: windows printing driver device-driver

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

3 个答案:

答案 0 :(得分:3)

错误为ERROR_FILE_NOT_FOUND

  1. 你是先建立样本吗?
  2. 构建之后,您是否将其放入相对于.inf文件的正确文件夹中?

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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