Using winusb.sys on Vista

To all,

I have made several posts here, and I don’t know if I have offended
anyone or that you feel that the subject has no interest, but I have not
received much answers. Thanks to Tim Roberts, that actually answered.

The latest development is this. I have a very nice, reduced .inf file
that I think could be the example how to use winusb.sys with Vista and
the included winusb.sys. You at Microsoft are welcome to use it. You
seems to need it, since you don’t have anything to present to your poor,
unlucky customers. It is very remarkable, especially since you in a lot
of documents seems to push for this solution.

The only problem with this inf is that to make it work, there has to be
a winusb.sys file in the Windows\Inf directory. I assume that this is
something that Microsoft made wrong, either that there is a problem in
the shipped winusb.inf or that winusb.sys is inadvertently misssing from
the inf directory. I have been using Vista 64 Ultimate OEM.

However, the winusb.sys is present at several places. In my version of
Vista, it is present in three directories in
Windows\System32\DriverStore\FileRepository. One is winusb.inf_356c8860.

Please note that winusb.sys is different on 32-bit and 64-bit Vista.

The remaining problem for me now is how I am going to do this for my
customers.
I have some options:

  1. Make a program that I run in my setup that copies the damn file to
    the correct place.
  2. Ship my system with 32-bit and 64-bit versions copies of winusb.sys
    taken from Vista systems (they can’t be downloaded from Microsoft and I
    don’t really know if I am allowed to distribute them.)
  3. Make my customers copy the driver manually and tell them that
    Microsoft shipped this driver with your system, but unfortunately they
    forgot to make it usable, so we have to do it thisway.

Please, somebody at Microsoft, this is your product - try to make it work!

; ================ Version section =================

[Version]
Signature = “$Windows NT$”
Class = YOUR_CLASS
ClassGuid = {YOUR_CLASS_GUID}
Provider = %ProviderName%
DriverVer = 05/22/2007, 6.0.1.0

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

[Manufacturer]
%ProviderName% = Visagraph_WinUSB,NTx86,NTia64,NTamd64

[Visagraph_WinUSB.NTx86]
%DeviceDescriptor% = USB_Install, USB\VID_XXXX&PID_YYYY

[Visagraph_WinUSB.NTamd64]
%DeviceDescriptor% = USB_Install, USB\VID_XXXX&PID_YYYY

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

[ClassInstall32]
AddReg=_AddReg_ClassInstall

[_AddReg_ClassInstall]
HKR,“%ClassDescriptor%”
HKR,Icon,“-20”

[USB_Install]
Include = WinUSB.inf
Needs = WinUSB.NT

[USB_Install.Services]
Include = WinUSB.inf
AddService = WinUSB, 0x000001fa, WinUSB.AddService

[USB_Install.HW]
AddReg = Dev_AddReg

[Dev_AddReg]
HKR,DeviceInterfaceGUIDs,0x00010000,“{YOUR_CLASS_GUID}”

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

[Strings]
ProviderName = “YOU”
ClassDescriptor = “YOUR CLASS DESCRIPTOR”
DeviceDescriptor = “YOUR DEVICE DESCRIPTOR”
WINUSB_SvcDesc = “WinUsb Driver”


One comment: In AddService, I have used both flags 0x2 and 0x1fa. No
difference.

If somebody is interested, if the winusb.sys is not present in the
Windows\inf directory,
I get the following: (excerpt from setupapi.dev)

ndv: Committing file queue…
flq: {_COMMIT_FILE_QUEUE}
flq: CommitQ DelNodes=0 RenNodes=0 BackNodes=0
CopyNodes=1
flq: {SPFILENOTIFY_STARTQUEUE}
flq: {SPFILENOTIFY_STARTQUEUE - exit(0x00000001)}
flq: {SPFILENOTIFY_STARTSUBQUEUE}
flq: {SPFILENOTIFY_STARTSUBQUEUE -
exit(0x00000001)}
flq: SPFILENOTIFY_NEEDMEDIA:
flq: Description - [windows cd]
flq: SourcePath - [C:\Windows\INF]
flq: SourceFile - [winusb.sys]
flq: Flags - 0x00000000
flq: {SPFILENOTIFY_NEEDMEDIA}
flq: {SPFILENOTIFY_NEEDMEDIA - exit(0x00000000)}
!!! flq: SPFILENOTIFY_NEEDMEDIA: returned
FILEOP_ABORT.
flq: {SPFILENOTIFY_ENDQUEUE}
flq: {SPFILENOTIFY_ENDQUEUE - exit(0x00000001)}
! bak: Install failed, attempting to restore
original files.
flq: {_COMMIT_FILE_QUEUE exit(0x00000002)}
ndv: Device install status=0x00000002
ndv: Performing device install final cleanup…
! ndv: Queueing up error report since device
installation failed…
ndv: {Core Device Install - exit(0x00000002)}
ump: Server install process exited with code 0x00000002
14:58:09.048
ump: {Plug and Play Service: Device Install exit(00000002)}
ndv: Device Install failed for new device…installing NULL
driver.
dvi: {Plug and Play Service: Device Install for
USB\VID_16C0&PID_294A\05070172}
ump: Creating Install Process: DrvInst.exe 14:58:18.143
! ndv: Installing NULL driver!
dvi: Set selected driver complete.
pol: Device installation is subject to policy
dvi: {DIF_ALLOW_INSTALL} 14:58:18.814
dvi: No class installer for ‘Visagraph USB’
dvi: No CoInstallers found
dvi: Default installer: Enter 14:58:18.814
dvi: Default installer: Exit
dvi: {DIF_ALLOW_INSTALL - exit(0xe000020e)} 14:58:18.814
dvi: {DIF_INSTALLDEVICE} 14:58:18.814
dvi: No class installer for ‘Visagraph USB’
dvi: Default installer: Enter 14:58:18.814
! dvi: Installing NULL driver!
dvi: Writing common driver property settings.
dvi: {Restarting Devices} 14:58:18.845
dvi: Restart: USB\VID_16C0&PID_294A\05070172
dvi: Restart complete.
dvi: {Restarting Devices exit} 14:58:19.781
dvi: Default installer: Exit
dvi: {DIF_INSTALLDEVICE - exit(0x00000000)} 14:58:19.781
ump: Server install process exited with code 0x00000000
14:58:19.797
ump: {Plug and Play Service: Device Install exit(00000000)}
ndv: {Update Driver Software Wizard exit(00000002)}
<<< Section end 2007/06/25 14:58:25.896
<<< [Exit status: FAILURE(0x00000002)]

Kurt wrote:

The only problem with this inf is that to make it work, there has
to be a winusb.sys file in the Windows\Inf directory.

You need to include the WinUSB coinstaller in your INF.

Kurt Nyström wrote:

I have made several posts here, and I don’t know if I have offended
anyone or that you feel that the subject has no interest, but I have
not received much answers.

I think it’s a mistake to attribute the lack of response to malice of
any kind. WinUSB is quite new, and since most of the folks here are
hard-core kernel folks, we just haven’t explored WinUSB very much. Most
of us are smart enough not to answer questions when we aren’t
well-versed in the topic. I, sadly, am not. I’ve read the docs, and I
ran the coinstaller once to watch the process, but I’ve never written a
WinUSB-based application.

The latest development is this. I have a very nice, reduced .inf file
that I think could be the example how to use winusb.sys with Vista and
the included winusb.sys. You at Microsoft are welcome to use it. You
seems to need it, since you don’t have anything to present to your
poor, unlucky customers. It is very remarkable, especially since you
in a lot of documents seems to push for this solution.

The only problem with this inf is that to make it work, there has to
be a winusb.sys file in the Windows\Inf directory.

You mean, I think, that there has to be a winusb.inf file in the
Windows\Inf directory.

I assume that this is something that Microsoft made wrong, either that
there is a problem in the shipped winusb.inf or that winusb.sys is
inadvertently misssing from the inf directory. I have been using Vista
64 Ultimate OEM.

I have to admit to a certain amount of confusion here myself. The
documentation clearly suggests that you Include=winusb.inf, but that
simply will not work unless winusb.inf is available out of the box.
However, we already know that winusb.inf is not included in an XP
system, so an INF file targeted at XP will have to include all of the
co-installer lines directly, without the Include=winusb.inf. Perhaps
that is the answer you will have to use across the board.

The remaining problem for me now is how I am going to do this for my
customers.
I have some options:

  1. Make a program that I run in my setup that copies the damn file to
    the correct place.
  2. Ship my system with 32-bit and 64-bit versions copies of winusb.sys
    taken from Vista systems (they can’t be downloaded from Microsoft and
    I don’t really know if I am allowed to distribute them.)
  3. Make my customers copy the driver manually and tell them that
    Microsoft shipped this driver with your system, but unfortunately they
    forgot to make it usable, so we have to do it thisway.

I believe you will have to copy the Needs sections you need from
winusb.inf by hand. That is, copy the WinUSB.NT section from WinUSB.inf
into your INF file. I presume those are the co-installer lines; the
co-installer is really the only thing you need. It should unpack the
driver and set up the environment.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Thanks Chris for your idea.

Unfortunately, it didn’t help me.

I have made two tests: first with only WinUSBCoinstaller added, then
with both WinUSBCoinstaller and WdfCoInstaller1005. Absolutely no
difference.

Coinstaller(s) are copied and registered without any errors, and then
the copy of winusb.sys from c:\windows\inf fails.

Does anybody knows what WinUSBCoInstaller is supposed to do?

I added the following to my inf file:


[USB_Install.CoInstallers]

AddReg = CoInstallers_AddReg

CopyFiles = CoInstallers_CopyFiles

 

[CoInstallers_AddReg]

HKR, , CoInstallers32, 0x00010000, “WinUSBCoInstaller.dll”,
“WdfCoInstaller01005.dll, WdfCoInstaller”

 

[CoInstallers_CopyFiles]

WinUSBCoInstaller.dll

WdfCoInstaller01005.dll

 

[SourceDisksNames]

1 = %MediaDescription%

 

[SourceDisksFiles.x86]

WinUSBCoInstaller.dll = 1, x86

WdfCoInstaller01005.dll = 1, x86

 

[SourceDisksFiles.amd64]

WinUSBCoInstaller.dll = 1, amd64

WdfCoInstaller01005.dll = 1, amd64

 

[DestinationDirs]

DefaultDestDir = 12

CoInstallers_CopyFiles = 11


xxxxx@gmail.com wrote:

type=“cite”>

Kurt wrote:

The only problem with this inf is that to make it work, there has
to be a winusb.sys file in the Windows\Inf directory.

You need to include the WinUSB coinstaller in your INF.


Questions? First check the Kernel Driver FAQ athttp://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online athttp://www.osronline.com/page.cfm?name=ListServer

Thanks, Tim for your answer.

Tim Roberts wrote:

Kurt Nyström wrote:

I have made several posts here, and I don’t know if I have offended
anyone or that you feel that the subject has no interest, but I have
not received much answers.

I think it’s a mistake to attribute the lack of response to malice of
any kind. WinUSB is quite new, and since most of the folks here are
hard-core kernel folks, we just haven’t explored WinUSB very much. Most
of us are smart enough not to answer questions when we aren’t
well-versed in the topic. I, sadly, am not. I’ve read the docs, and I
ran the coinstaller once to watch the process, but I’ve never written a
WinUSB-based application.

The latest development is this. I have a very nice, reduced .inf file
that I think could be the example how to use winusb.sys with Vista and
the included winusb.sys. You at Microsoft are welcome to use it. You
seems to need it, since you don’t have anything to present to your
poor, unlucky customers. It is very remarkable, especially since you
in a lot of documents seems to push for this solution.

The only problem with this inf is that to make it work, there has to
be a winusb.sys file in the Windows\Inf directory.

You mean, I think, that there has to be a winusb.inf file in the
Windows\Inf directory.

There is a winusb.inf in the Windows\inf directory. The problem is that
it specifies copying of winusb.sys from Windows\inf, and there is no
winusb.sys in that directory.

I assume that this is something that Microsoft made wrong, either that
there is a problem in the shipped winusb.inf or that winusb.sys is
inadvertently misssing from the inf directory. I have been using Vista
64 Ultimate OEM.

I have to admit to a certain amount of confusion here myself. The
documentation clearly suggests that you Include=winusb.inf, but that
simply will not work unless winusb.inf is available out of the box.
However, we already know that winusb.inf is not included in an XP
system, so an INF file targeted at XP will have to include all of the
co-installer lines directly, without the Include=winusb.inf. Perhaps
that is the answer you will have to use across the board.

winusb.inf is available out of the box, but winusb.sys is not at the
right place. Also, the coinstaller stuff doesn’t seem to do anything.
It works completely OK without that on Vista anyway. If I make a
complete file without reference to winusb.inf, I have to have
distributable versions of winusb.sys. I have asked for that, but nobody
seems to know where I can find that.

I only want to support Vista now. I already have a working solution for
Win2K and XP, and I have to support 2K some additional time. As I
understand it, winusb will not work on Win2K. Maybe if I drop support
for Win2K it would be interesting to have one single solution for XP
and Vista.

The remaining problem for me now is how I am going to do this for my
customers.
I have some options:

  1. Make a program that I run in my setup that copies the damn file to
    the correct place.
  2. Ship my system with 32-bit and 64-bit versions copies of winusb.sys
    taken from Vista systems (they can’t be downloaded from Microsoft and
    I don’t really know if I am allowed to distribute them.)
  3. Make my customers copy the driver manually and tell them that
    Microsoft shipped this driver with your system, but unfortunately they
    forgot to make it usable, so we have to do it thisway.

I believe you will have to copy the Needs sections you need from
winusb.inf by hand. That is, copy the WinUSB.NT section from WinUSB.inf
into your INF file. I presume those are the co-installer lines; the
co-installer is really the only thing you need. It should unpack the
driver and set up the environment.

The following worked for me (tested on XP and Vista):

;=================== Version section ====================

[Version]
Signature = “$Windows NT$”
Class = ClassName
ClassGuid = {Class GUID}
Provider = %ProviderName%
DriverVer = 05/10/2007,1.0.0.1

; ========== ClassInstall sections ===========

[ClassInstall32]
AddReg=class_install_add_reg

[class_install_add_reg]
HKR,“Devices Class”
HKR,Icon,“-20”

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

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

[MyDevice_WinUSB.NTx86]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_XXXX&PID_YYYY

[MyDevice_WinUSB.NTamd64]
%USB\MyDevice.DeviceDesc% =USB_Install, USB\VID_XXXX&PID_YYYY

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

[USB_Install]
Include=winusb.inf
Needs=WINUSB.NT

[USB_Install.Services]
Include=winusb.inf
AddService=WinUSB,0x00000002,WinUSB_ServiceInstall

[WinUSB_ServiceInstall]
DisplayName = %WinUSB_SvcDesc%
ServiceType = 1
StartType = 3
ErrorControl = 1
ServiceBinary = %12%\WinUSB.sys

[USB_Install.Wdf]
KmdfService=WINUSB, WinUsb_Install

[WinUSB_Install]
KmdfLibraryVersion=1.5

[USB_Install.HW]
AddReg=Dev_AddReg

[Dev_AddReg]
HKR,DeviceInterfaceGUIDs,0x00010000,“{Interface GUID}”

[USB_Install.CoInstallers]
AddReg=CoInstallers_AddReg
CopyFiles=CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,CoInstallers32,0x00010000,“WinUSBCoInstaller.dll”,“WdfCoInstaller01005.dll,WdfCoInstaller”

[CoInstallers_CopyFiles]
WinUSBCoInstaller.dll
WdfCoInstaller01005.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

[SourceDisksNames.x86]
1 = “Driver Installation Disk”,x86

[SourceDisksNames.amd64]
1 = “Driver Installation Disk”,amd64

[SourceDisksFiles]
WinUSBCoInstaller.dll = 1
WdfCoInstaller01005.dll = 1

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

[Strings]
ProviderName=“company description”
USB\MyDevice.DeviceDesc=“device description”
WinUSB_SvcDesc=“WinUSB driver”

Kurt Nyström wrote:

Thanks Chris for your idea.

Unfortunately, it didn’t help me.
I have made two tests: first with only WinUSBCoinstaller added, then
with both WinUSBCoinstaller and WdfCoInstaller1005. Absolutely no
difference.
Coinstaller(s) are copied and registered without any errors, and then
the copy of winusb.sys from c:\windows\inf fails.

Does anybody knows what WinUSBCoInstaller is supposed to do?

I added the following to my inf file:

[USB_Install.CoInstallers]
AddReg = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR, , CoInstallers32, 0x00010000, “WinUSBCoInstaller.dll”,
“WdfCoInstaller01005.dll, WdfCoInstaller”

[CoInstallers_CopyFiles]
WinUSBCoInstaller.dll
WdfCoInstaller01005.dll

[SourceDisksNames]
1 = %MediaDescription%

[SourceDisksFiles.x86]
WinUSBCoInstaller.dll = 1, x86
WdfCoInstaller01005.dll = 1, x86

[SourceDisksFiles.amd64]
WinUSBCoInstaller.dll = 1, amd64
WdfCoInstaller01005.dll = 1, amd64

[DestinationDirs]
DefaultDestDir = 12
CoInstallers_CopyFiles = 11

xxxxx@gmail.com wrote:
> Kurt wrote:
>
>
>> The only problem with this inf is that to make it work, there has
>> to be a winusb.sys file in the Windows\Inf directory.
>>
>
> You need to include the WinUSB coinstaller in your INF.
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>
>

WinUSBCoInstaller contains a self extracting cab file (as resource) that
contains the WinUSB driver (winusb0100). You can use VS to export it as
exe file and run it, manually, to pre-install winusb without the inf
(although there is no real reason to do it)

Regarding my previous post: don’t forget to put the correct winusb and
kmdf co-installers versions under x86 and amd64 directories (below the
location of the inf file)

Guy

Kurt Nyström wrote:

Thanks Chris for your idea.

Unfortunately, it didn’t help me.
I have made two tests: first with only WinUSBCoinstaller added, then
with both WinUSBCoinstaller and WdfCoInstaller1005. Absolutely no
difference.
Coinstaller(s) are copied and registered without any errors, and then
the copy of winusb.sys from c:\windows\inf fails.

Does anybody knows what WinUSBCoInstaller is supposed to do?

I added the following to my inf file:

[USB_Install.CoInstallers]
AddReg = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR, , CoInstallers32, 0x00010000, “WinUSBCoInstaller.dll”,
“WdfCoInstaller01005.dll, WdfCoInstaller”

[CoInstallers_CopyFiles]
WinUSBCoInstaller.dll
WdfCoInstaller01005.dll

[SourceDisksNames]
1 = %MediaDescription%

[SourceDisksFiles.x86]
WinUSBCoInstaller.dll = 1, x86
WdfCoInstaller01005.dll = 1, x86

[SourceDisksFiles.amd64]
WinUSBCoInstaller.dll = 1, amd64
WdfCoInstaller01005.dll = 1, amd64

[DestinationDirs]
DefaultDestDir = 12
CoInstallers_CopyFiles = 11

xxxxx@gmail.com wrote:
> Kurt wrote:
>
>
>> The only problem with this inf is that to make it work, there has
>> to be a winusb.sys file in the Windows\Inf directory.
>>
>
> You need to include the WinUSB coinstaller in your INF.
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>
>

Thanks Guy for your answer.

I have tried your inf file, with correct subdirectorys and coinstaller
files from DDK 6000 but with the same result as earlier - winusb.sys is
not found.

Is this maybe an amd64 problem? I am doing this on a Vista 64-bit
system. Have you tested on both 32 and 64-bit systems?

Kurt Nyström

Guy Corem wrote:

type=“cite”>

WinUSBCoInstaller contains a self extracting cab file (as resource) that
contains the WinUSB driver (winusb0100). You can use VS to export it as
exe file and run it, manually, to pre-install winusb without the inf
(although there is no real reason to do it)

Regarding my previous post: don’t forget to put the correct winusb and
kmdf co-installers versions under x86 and amd64 directories (below the
location of the inf file)

Guy

Kurt Nyström wrote:

Thanks Chris for your idea.

Unfortunately, it didn’t help me.
I have made two tests: first with only WinUSBCoinstaller added, then
with both WinUSBCoinstaller and WdfCoInstaller1005. Absolutely no
difference.
Coinstaller(s) are copied and registered without any errors, and then
the copy of winusb.sys from c:\windows\inf fails.

Does anybody knows what WinUSBCoInstaller is supposed to do?

I added the following to my inf file:

[USB_Install.CoInstallers]
AddReg = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR, , CoInstallers32, 0x00010000, “WinUSBCoInstaller.dll”,
“WdfCoInstaller01005.dll, WdfCoInstaller”

[CoInstallers_CopyFiles]
WinUSBCoInstaller.dll
WdfCoInstaller01005.dll

[SourceDisksNames]
1 = %MediaDescription%

[SourceDisksFiles.x86]
WinUSBCoInstaller.dll = 1, x86
WdfCoInstaller01005.dll = 1, x86

[SourceDisksFiles.amd64]
WinUSBCoInstaller.dll = 1, amd64
WdfCoInstaller01005.dll = 1, amd64

[DestinationDirs]
DefaultDestDir = 12
CoInstallers_CopyFiles = 11

xxxxx@gmail.comwrote:

Kurt wrote:

The only problem with this inf is that to make it work, there has
to be a winusb.sys file in the Windows\Inf directory.

You need to include the WinUSB coinstaller in your INF.


Questions? First check the Kernel Driver FAQ athttp://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online athttp://www.osronline.com/page.cfm?name=ListServer


Questions? First check the Kernel Driver FAQ athttp://www.osronline.com/article.cfm?id=256

To unsubscribe, visit the List Server section of OSR Online athttp://www.osronline.com/page.cfm?name=ListServer

I think so, but I really don’t remember.

Can you try on clean system (immediately after installing) and send me
all the logs files created in the inf directory ?

I’ll trying it out again, but only tonight (Israel time).

Guy

Kurt Nyström wrote:

Thanks Guy for your answer.

I have tried your inf file, with correct subdirectorys and coinstaller
files from DDK 6000 but with the same result as earlier - winusb.sys is
not found.
Is this maybe an amd64 problem? I am doing this on a Vista 64-bit
system. Have you tested on both 32 and 64-bit systems?

Kurt Nyström

Guy Corem wrote:
> WinUSBCoInstaller contains a self extracting cab file (as resource) that
> contains the WinUSB driver (winusb0100). You can use VS to export it as
> exe file and run it, manually, to pre-install winusb without the inf
> (although there is no real reason to do it)
>
> Regarding my previous post: don’t forget to put the correct winusb and
> kmdf co-installers versions under x86 and amd64 directories (below the
> location of the inf file)
>
> Guy
>
> Kurt Nyström wrote:
>
>> Thanks Chris for your idea.
>>
>> Unfortunately, it didn’t help me.
>> I have made two tests: first with only WinUSBCoinstaller added, then
>> with both WinUSBCoinstaller and WdfCoInstaller1005. Absolutely no
>> difference.
>> Coinstaller(s) are copied and registered without any errors, and then
>> the copy of winusb.sys from c:\windows\inf fails.
>>
>> Does anybody knows what WinUSBCoInstaller is supposed to do?
>>
>> I added the following to my inf file:
>> --------------------------------
>> [USB_Install.CoInstallers]
>> AddReg = CoInstallers_AddReg
>> CopyFiles = CoInstallers_CopyFiles
>>
>> [CoInstallers_AddReg]
>> HKR, , CoInstallers32, 0x00010000, “WinUSBCoInstaller.dll”,
>> “WdfCoInstaller01005.dll, WdfCoInstaller”
>>
>> [CoInstallers_CopyFiles]
>> WinUSBCoInstaller.dll
>> WdfCoInstaller01005.dll
>>
>> [SourceDisksNames]
>> 1 = %MediaDescription%
>>
>> [SourceDisksFiles.x86]
>> WinUSBCoInstaller.dll = 1, x86
>> WdfCoInstaller01005.dll = 1, x86
>>
>> [SourceDisksFiles.amd64]
>> WinUSBCoInstaller.dll = 1, amd64
>> WdfCoInstaller01005.dll = 1, amd64
>>
>> [DestinationDirs]
>> DefaultDestDir = 12
>> CoInstallers_CopyFiles = 11
>> -------------------------------------------
>>
>> xxxxx@gmail.com wrote:
>>
>>> Kurt wrote:
>>>
>>>
>>>
>>>> The only problem with this inf is that to make it work, there has
>>>> to be a winusb.sys file in the Windows\Inf directory.
>>>>
>>>>
>>> You need to include the WinUSB coinstaller in your INF.
>>>
>>> —
>>> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>>>
>>> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>>>
>>>
>>>
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>
>

Kurt,

I was able to test it this morning, and the installation went smoothly
on clean Vista business 64.

Maybe do to previous trials, your registry already contains the class
GUID. Try to delete it from HKLM\System\CurrentControlSet\Control\Class
(or change your GUID in the inf)

Other thing I can think of:
I don’t believe that the inf needs to be self signed, since the winusb
and kmdf drivers are signed by Microsoft.
But since the machine is my test machine, it’s pre-configured with
bcdedit /set {current} loadoptions \”DDISABLE_INTEGRITY_CHECKS”

So if you still can’t install after deleting the class GUID, try to
either self sign the inf, or disable the kernel checking of drivers
signatures.

If nothing work, try clean install…

Guy

Kurt Nyström wrote:

Thanks Guy for your answer.

I have tried your inf file, with correct subdirectorys and coinstaller
files from DDK 6000 but with the same result as earlier - winusb.sys is
not found.
Is this maybe an amd64 problem? I am doing this on a Vista 64-bit
system. Have you tested on both 32 and 64-bit systems?

Kurt Nyström

Guy Corem wrote:
> WinUSBCoInstaller contains a self extracting cab file (as resource) that
> contains the WinUSB driver (winusb0100). You can use VS to export it as
> exe file and run it, manually, to pre-install winusb without the inf
> (although there is no real reason to do it)
>
> Regarding my previous post: don’t forget to put the correct winusb and
> kmdf co-installers versions under x86 and amd64 directories (below the
> location of the inf file)
>
> Guy
>
> Kurt Nyström wrote:
>
>> Thanks Chris for your idea.
>>
>> Unfortunately, it didn’t help me.
>> I have made two tests: first with only WinUSBCoinstaller added, then
>> with both WinUSBCoinstaller and WdfCoInstaller1005. Absolutely no
>> difference.
>> Coinstaller(s) are copied and registered without any errors, and then
>> the copy of winusb.sys from c:\windows\inf fails.
>>
>> Does anybody knows what WinUSBCoInstaller is supposed to do?
>>
>> I added the following to my inf file:
>> --------------------------------
>> [USB_Install.CoInstallers]
>> AddReg = CoInstallers_AddReg
>> CopyFiles = CoInstallers_CopyFiles
>>
>> [CoInstallers_AddReg]
>> HKR, , CoInstallers32, 0x00010000, “WinUSBCoInstaller.dll”,
>> “WdfCoInstaller01005.dll, WdfCoInstaller”
>>
>> [CoInstallers_CopyFiles]
>> WinUSBCoInstaller.dll
>> WdfCoInstaller01005.dll
>>
>> [SourceDisksNames]
>> 1 = %MediaDescription%
>>
>> [SourceDisksFiles.x86]
>> WinUSBCoInstaller.dll = 1, x86
>> WdfCoInstaller01005.dll = 1, x86
>>
>> [SourceDisksFiles.amd64]
>> WinUSBCoInstaller.dll = 1, amd64
>> WdfCoInstaller01005.dll = 1, amd64
>>
>> [DestinationDirs]
>> DefaultDestDir = 12
>> CoInstallers_CopyFiles = 11
>> -------------------------------------------
>>
>> xxxxx@gmail.com wrote:
>>
>>> Kurt wrote:
>>>
>>>
>>>
>>>> The only problem with this inf is that to make it work, there has
>>>> to be a winusb.sys file in the Windows\Inf directory.
>>>>
>>>>
>>> You need to include the WinUSB coinstaller in your INF.
>>>
>>> —
>>> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>>>
>>> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>>>
>>>
>>>
>
> —
> Questions? First check the Kernel Driver FAQ at http://www.osronline.com/article.cfm?id=256
>
> To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
>
>