2012-02-09 41 views
2

は、次の.infファイルがMicrosoft WinUSB Installation GuideのWinUSBドライバのインストール、エラー0x00000003

ハードウェアキーUSBPRINT \ DatamaxM4308-MarkII013Bから適応して、ベンダーとPIDが正しいはずです(公式ドライバからコピーされた.infファイル)

ドライバをVista 32bitにインストールしようとすると、「操作を完了できませんでした(エラー0x00000003)」 Windowsイベントビューアはドライバのインストールを試みません。

C:\ WINDOWS \ INFの\のsetupapi.dev.logは以下を記録します。

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, 

私が間違って何をしているのですか? 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以上の場合は、プロセスを管理者として実行する必要があります。

関連する問題