I’d have to bust out my notes from the first DDC, or whenever we were introduced to WDF,
and I swear one of the talking points was that because everything was versioned, we were not
ever going to have to worry about this with WDF coinstallers. Maybe what I remember was
limited only to release versions.
I vaguely remember build numbers being a part of that, but I might be wrong - but it doesn’t
matter, there’s gotta be a better way.
Betas could use odd numbered versions, you could use build numbers, the version of the DDK
(sorry, oops, WDK) could be tacked on - something that would allow for a graceful transition
from beta to release is something that I think would make everyone’s life easier.
I have to write a lot of stuff, firmware included, and NOTHING makes it off my workstation
without a unique version number, even if it differs only by the build number.
Somehow, I don’t have problems with versionitus - unless I use the beta of the WDK…
Greg Havenga
Sr. System Architect / Sr. Software Engineer
Photometrics, Inc.
3440 E Britannia Dr.
Tucson, AZ 85749
(520) 547-2566
http://www.photomet.com
From: xxxxx@lists.osr.com [xxxxx@lists.osr.com] On Behalf Of Ilias Tsigkogiannis [xxxxx@microsoft.com]
Sent: Friday, August 07, 2009 11:56 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] WinUSB v2 INF-File
The problem arises, if you are updating the same driver.
Let’s say that you have driver A (bundled with coinstaller.dll) and driver B (bundled with a newer version of the same coinstaller, however you keep the same coinstaller name -> coinstaller.dll). If driver A is runnng and you try to install driver B, then the newer version will be called (because the old version is not in memory… the coinstaller is only loaded for specific actions and not all the time).
Minor WDF updates (e.g. from KMDF 1.7 to KMDF 1.9) have different coinstaller names (e.g. wdfcoinstaller01007.dll -> wdfcointaller01009.dll).
However, if you have driver A using the v1 of coinstaller.dll and then you try to update the same driver using a newer coinstaller.dll, then the initial (v1) coinstaller will be used for the update. This is always the same problem regardless of what coinstaller you have. This is the same for all Windows coinstallers and not a WDF-specific issue.
We are trying to prevent such issues by asking the usage only of RTM versions of the coinstallers.
Ilias
From: xxxxx@lists.osr.com [xxxxx@lists.osr.com] on behalf of Michal Vodicka [xxxxx@upek.com]
Sent: Friday, August 07, 2009 11:28 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] WinUSB v2 INF-File
Thanks, it is interesting and good to know.
But now I don’t understand how do you handle minor WDF updates using
coinstallers with the same name. For example between WDK 6001.18000 and
6001.18002. If I’m not mistaken, there are two set of files like
WdfCoInstaller01007.dll which are a bit different. The driver package
containing newer one should replace older one if installed, shouldn’t
it?
Best regards,
Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ilias
Tsigkogiannis
Sent: Saturday, August 08, 2009 8:06 AM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] WinUSB v2 INF-File
This has to do with the way that the PNP manager handles the
coinstallers.
Let’s say that you have a driver that uses a coinstaller with
the name coinstaller.dll. This driver is running in the
system, however you have a newer version of the driver with a
newer version of the coinstaller (i.e. the code of your
coinstaller has changed) and you want to update your driver.
If the old and the new coinstallers have the same name, then
we have the following sequence of events:
- The PNP manager loads the old coinstaller and passes the
DIF_* codes that have to do with the uninstall of the driver
- The PNP manager tries to load the new coinstaller
(withount unloading the old one), however the memory manager
finds that a dll with the same name is already loaded in the
process (because the old and new coinstallers have the same
name) and prevents the load of the new coinstaller .
- The PNP manager uses the old coinstaller to proceed with
the installation of the new version of the driver. The new
coinstaller is not used at all in this scenario.
This has been like that for all versions of Windows that
support coinstallers. In order to avoid the above scenario,
we need to put a version number, when there is a change in
the coinstaller (e.g. wdfcoinstaller1007.dll ->
wdfcoinstaller01009.dll, winusbcoinstaller.dll ->
winusbcoinstaller2.dll, etc).
Hopefully, the above example was helpful.
Ilias
From: xxxxx@lists.osr.com
[xxxxx@lists.osr.com] on behalf of Michal
Vodicka [xxxxx@upek.com]
Sent: Friday, August 07, 2009 7:12 PM
To: Windows System Software Devs Interest List
Subject: RE: [ntdev] WinUSB v2 INF-File
Ilias,
what was the reason of this change? Just curious, I have my
INFs already
updated.
Best regards,
Michal Vodicka
UPEK, Inc.
[xxxxx@upek.com, http://www.upek.com]
> -----Original Message-----
> From: xxxxx@lists.osr.com
> [mailto:xxxxx@lists.osr.com] On Behalf Of Ilias
> Tsigkogiannis
> Sent: Saturday, August 08, 2009 4:00 AM
> To: Windows System Software Devs Interest List
> Subject: RE: [ntdev] WinUSB v2 INF-File
>
> Would it be possible to paste the inf that you are using
> (i.e. after your modifications)?
> The WinUSB v2 coinstaller is called winusbcoinstaller2.dll
> (i.e. there is a “2” at the end of the filename) and my guess
> is that somewhere in your inf you are still refering to the
> old name (which does not have the ending “2”).
>
> Ilias
> ________________________________________
> From: xxxxx@lists.osr.com
> [xxxxx@lists.osr.com] on behalf of
> xxxxx@gmx.at [xxxxx@gmx.at]
> Sent: Friday, August 07, 2009 3:25 PM
> To: Windows System Software Devs Interest List
> Subject: [ntdev] WinUSB v2 INF-File
>
> Hello,
>
> I want to use the new WinUSB v2(WDK 7.0.0) driver for my USB
> device but did not manage to get it installed correctly.
> Until now I used the inf file from
> http://www.lvr.com/winusb.htm to install WinUSB, I tried to
> change the versions and file names but windows XP SP3
> complained aabout missing winusbcoinstaller.dll file.
>
> Best Regards
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online
> at http://www.osronline.com/page.cfm?name=ListServer
>
> —
> NTDEV is sponsored by OSR
>
> For our schedule of WDF, WDM, debugging and other seminars visit:
> http://www.osr.com/seminars
>
> To unsubscribe, visit the List Server section of OSR Online
> at http://www.osronline.com/page.cfm?name=ListServer
>
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online
at http://www.osronline.com/page.cfm?name=ListServer
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online
at http://www.osronline.com/page.cfm?name=ListServer
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer
NTDEV is sponsored by OSR
For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars
To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer