Coinstaller upgrade installation (not the WDF coinstaller)

  1. I have both the WDFCoInstaller01005.dll and MyDriver02007.dll
    co-installer files called out in MyDriver.inf (DriverVer=09/10/2007,2.0.32).
  2. I add a property page to my driver’s co-installer and bump the version
    along with the filename (ie MyDriver02008.dll).
  3. I bump the version in MyDriver.inf to "DriverVer=09/21/2007,2.0.33 and
    make the changes reflecting the new co-installer name.
  4. I create the catalog file from the new MyDriver.inf and test sign it.
  5. I update the driver package installed on the PC (XP and Vista) by going
    into Device Manger, select the device, right click to select “Update
    Driver…”, and “Install from a list or specific location (Advanced)”.

Everything seems to go smoothly. The new MyDriver02008.dll is copied to
Windows\System32 and shows up along side MyDriver02007.dll. However, the
new property page I added to MyDriver02008.dll does not show up when I go to
Device Manager, select the device, and right click to select Properties.
After a little digging I find out that the registry didn’t get updated to
the new co-installer. If I manually edit the registry everything works.

HKLM\System\ControlSet001\Control\Class\MyDriverGUID\EnumPropPages32 =
MyDriver02007.dll,MyDriverPropPages

HKLM\System\ControlSet003\Control\Class\MyDriverGUID\EnumPropPages32 =
MyDriver02007.dll,MyDriverPropPages

HKLM\System\CurrentControlSet\Control\Class\MyDriverGUID\EnumPropPages32 =
MyDriver02007.dll,MyDriverPropPages

Any ideas why the registry didn’t get updated?

This happens with a Microsoft signed catalog file also.

I looked at “SetupApi.log” and found the entry:

#-166 Device install function: DIF_REGISTER_COINSTALLERS.
#I056 Coinstallers registered.

After reading the help on DIF_REGISTER_COINSTALLERS, I’m assuming this means
I also ndded to have a MyDriverClassInstaller since this is an unclassified
driver. The “MyDriverClassInstaller” would handle changing the device
co-installer listed in the registry.

Is this correct and is it my only solution to this problem?

“David Voeller” wrote in message news:xxxxx@ntdev…
> 1. I have both the WDFCoInstaller01005.dll and MyDriver02007.dll
> co-installer files called out in MyDriver.inf
> (DriverVer=09/10/2007,2.0.32).
> 2. I add a property page to my driver’s co-installer and bump the
> version along with the filename (ie MyDriver02008.dll).
> 3. I bump the version in MyDriver.inf to "DriverVer=09/21/2007,2.0.33
> and make the changes reflecting the new co-installer name.
> 4. I create the catalog file from the new MyDriver.inf and test sign it.
> 5. I update the driver package installed on the PC (XP and Vista) by
> going into Device Manger, select the device, right click to select “Update
> Driver…”, and “Install from a list or specific location (Advanced)”.
>
>
>
>
>
> Everything seems to go smoothly. The new MyDriver02008.dll is copied to
> Windows\System32 and shows up along side MyDriver02007.dll. However, the
> new property page I added to MyDriver02008.dll does not show up when I go
> to Device Manager, select the device, and right click to select
> Properties. After a little digging I find out that the registry didn’t get
> updated to the new co-installer. If I manually edit the registry
> everything works.
>
> HKLM\System\ControlSet001\Control\Class\MyDriverGUID\EnumPropPages32 =
> MyDriver02007.dll,MyDriverPropPages
>
> HKLM\System\ControlSet003\Control\Class\MyDriverGUID\EnumPropPages32 =
> MyDriver02007.dll,MyDriverPropPages
>
> HKLM\System\CurrentControlSet\Control\Class\MyDriverGUID\EnumPropPages32 =
> MyDriver02007.dll,MyDriverPropPages
>
>
> Any ideas why the registry didn’t get updated?
>
>