2012-02-09 2 views
2

는 다음 .inf 파일이 Microsoft WinUSB Installation GuideWinUSB 드라이버 설치, 오류 0x00000003

하드웨어 키 USBPRINT \ DatamaxM4308-MarkII013B에서 적응하고, 공급 업체 및 PID가 정확해야 (공식 드라이버에서 복사 한 .inf 파일)

Vista 32 비트에서 드라이버를 설치하려고 할 때 "작업을 완료 할 수 없습니다 (오류 0x00000003)" Windows eventviewer는 드라이버 설치 시도를 기록하지 않습니다.

C : 내가 잘못

Opened PNF: 'C:\Windows\INF\winusb.inf' ([strings.0409] <src=drvstore>) 

cmi:  File::CopyFileUsingSymbolicLink(C:\Windows\system32\DriverStore\Temp\{42263e41-28c1-4fbc-a15e-36e516ea8ab1}\Package\winusb.sys, \\?\C:\Windows\system32\DriverStore\FileRepository\datamax.inf_4d12d90f\winusb.s 
cmi:  CopyFile from C:\Windows\system32\DriverStore\Temp\{42263e41-28c1-4fbc-a15e-36e516ea8ab1}\Package\winusb.sys to \\?\C:\Windows\system32\DriverStore\FileRepository\datamax.inf_4d12d90f\winusb.sys failed 2 
cmi:  CopyFile(source=C:\Windows\system32\DriverStore\Temp\{42263e41-28c1-4fbc-a15e-36e516ea8ab1}\Package\winusb.sys, destination=\\?\C:\Windows\system32\DriverStore\FileRepository\datamax.inf_4d12d90f\winusb.sys, 

를하고있는 중이 야 무엇 : \ 윈도우 \ INF \ setupapi.dev.log는 다음과 같은 기록? winusb.sys를 드라이버 폴더 구조에 복사해야합니까? 나는 이것이 CoInstaller를 사용하여 자동으로 수행 된 것이라고 생각 했습니까? 다음과 같이

폴더 구조는 다음과 같습니다

-DriverFolder 
      | 
      Datamax.inf 
      Datamax.cat 
      + amd64 
        | 
        WdfCoInstaller01009.dll 
        winusbcoinstaller2.dll 
      + i386 
        | 
        WdfCoInstaller01009.dll 
        winusbcoinstaller2.dll 

Datamax.Inf : 내 경험에서

[Version] 
Signature = "$Windows NT$" 
Class = Printer 
ClassGuid={4D36E979-E325-11CE-BFC1-08002BE10318} 
Provider = %ProviderName% 
CatalogFile=Datamax.cat 
DriverVer=02/08/2012,1.0.0.1 

; ================== Class section ================== 

[ClassInstall32] 
Addreg=MyDeviceClassReg 

[MyDeviceClassReg] 
HKR,,,0,%ClassName% 
HKR,,Icon,,-1 

; ========== Manufacturer/Models sections =========== 

[Manufacturer] 
%ProviderName% = MyDevice_WinUSB,NTx86,NTamd64 

[MyDevice_WinUSB.NTx86] 
%USB\MyDevice.DeviceDesc% =USBPRINT\DatamaxM4308-MarkII013B, USB\VID_0B0B&PID_106E 

[MyDevice_WinUSB.NTamd64] 
%USB\MyDevice.DeviceDesc% =USBPRINT\DatamaxM4308-MarkII013B, USB\VID_0B0B&PID_106E 

; =================== Installation =================== 

;[1] 
[USBPRINT\DatamaxM4308-MarkII013B] 
Include=winusb.inf 
Needs=WINUSB.NT 

;[2] 
[USBPRINT\DatamaxM4308-MarkII013B.Services] 
Include=winusb.inf 
Needs=WINUSB.NT.Services 

;[3] 
[USBPRINT\DatamaxM4308-MarkII013B.Wdf] 
KmdfService=WINUSB, WinUSB_Install 

[WinUSB_Install] 
KmdfLibraryVersion=1.9 

;[4] 
[USBPRINT\DatamaxM4308-MarkII013B.HW] 
AddReg=Dev_AddReg 

[Dev_AddReg] 
HKR,,DeviceInterfaceGUIDs,0x10000,"{FDA075ED-3109-4B76-8D70-CD4E65F3817C}" 

;[5] 
[USBPRINT\DatamaxM4308-MarkII013B.CoInstallers] 
AddReg=CoInstallers_AddReg 
CopyFiles=CoInstallers_CopyFiles 

[CoInstallers_AddReg] 
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll" 

[CoInstallers_CopyFiles] 
WinUSBCoInstaller2.dll 
WdfCoInstaller01009.dll 

[DestinationDirs] 
CoInstallers_CopyFiles=11 

; ================= Source Media Section ===================== 
;[7] 

[SourceDisksNames] 
1 = %DISK_NAME%,,,\i386 
2 = %DISK_NAME%,,,\amd64 

[SourceDisksFiles.x86] 
WinUSBCoInstaller2.dll=1 
WdfCoInstaller01009.dll=1 

[SourceDisksFiles.amd64] 
WinUSBCoInstaller2.dll=2 
WdfCoInstaller01009.dll=2 

; =================== Strings =================== 

[Strings] 
ProviderName="MyWinUsbTest" 
USB\MyDevice.DeviceDesc="Test using WinUSB only" 
WinUSB_SvcDesc="WinUSB Test" 
DISK_NAME="My Install Disk" 
ClassName="Printer" 

답변

2

, 0x00000003는 액세스 거부 예외가 있음을 의미한다. Vista 이상인 경우 프로세스가 관리자 권한으로 실행되어야합니다.