From: Phil on

Hi I am facing a similar problem using DevCon to force update of driver I currently have under development. Worked fine in XP but with Win7 the old driver is reinstalled.

Have tracked it down to the SetupCopyOEMInf that is executed as the installer processes the inf file.

In my case what happens is that it sees that it already has an 'OEM Package' for the driver in ...system32\DriverStore\FileRepository\<my_driver_name>..
and kindly saves time with the message:
'Package already in store: Skipping Driver Store Add'

I see the above in the file %windir%\inf\setupapi.dev.log

My guess is that down at the execution level your problem is the same although you are invoking the call via a more direct route.

I have two workrounds:

a. Uninstall the existing driver and check the box to delete driver files. Then do your install.

b. use 'devcon dp_enum' to see the list of oem packages in the driver store. Id which is yours eg 'oem1.inf'
Then use devcon to remove it from the store ie:
'devcon dp_delete oem1.inf'

I am still looking for a better soloution. If someone already has one please share.

Phil.



steven6464 wrote:

SetupCopyOEMInf windows 7
15-Mar-10

Hi,
I am using the SetupCopyOEMInf API to pre-install a USB plug&play printer.
My program work in XP and Vista , in Windows 7 when I plug the printer the
sistem search the printerdriver using the Windows Update procedure , and only
after skipped this phase, install the printerdriver using my pre-installaed
signed files ( inf, dll, etc, ) .
Why ?
Thanks for your support.
Steven

Previous Posts In This Thread:


Submitted via EggHeadCafe - Software Developer Portal of Choice
WPF TreeView Control With Filtering of Nodes Based on Their Levels
http://www.eggheadcafe.com/tutorials/aspnet/fc841e66-3aac-4bd9-baba-bf26b9783a9b/wpf-treeview-control-with.aspx
From: Maxim S. Shatskih on
> b. use 'devcon dp_enum' to see the list of oem packages in the driver store. Id which is yours eg
>'oem1.inf'
> Then use devcon to remove it from the store ie:
> 'devcon dp_delete oem1.inf'

I confirm this work on Win7

--
Maxim S. Shatskih
Windows DDK MVP
maxim(a)storagecraft.com
http://www.storagecraft.com

From: Mike [MSFT] on
By default PnP will always search Windows Update to verify it is installing
the latest driver that is available. User's can configure this to just use
what's available locally if they want.

Normally PnP would make sure that Windows Update actually has a better
driver before downloading it. For printers this check doesn't work and so
PnP will always download the printer driver from WU even if there is a
better one locally already. However it should still install the driver with
the better rank between what is local and on Windows Update.

-Mike

"steven6464" <steven(a)fastweb.it> wrote in message
news:AFD12E2F-EBF2-46FC-BA03-568420EC4FB1(a)microsoft.com...
> Hi,
> I'm using the SetupCopyOEMInf API to pre-install a USB plug&play printer.
> My program work in XP and Vista , in Windows 7 when I plug the printer the
> sistem search the printerdriver using the Windows Update procedure , and
> only
> after skipped this phase, install the printerdriver using my
> pre-installaed
> signed files ( inf, dll, etc, ) .
> Why ?
> Thanks for your support.
> Steven

From: Mike [MSFT] on
Your problem sounds different than Steven's.

It sounds like you are updating the driver binary but not the INF and so
SetupCopyOEMInf can't tell that the driver is different than what it already
has. Since you are developing the driver you how two options:

1) Just overwrite the driver binary in system32\drivers and don't worry
about running through install again.

2) Uninstall the driver from the driver store and reinstall it. You can use
devcon like below or you can use pnputil which is an inbox utility. The
analogous commands in pnputil are: "pnputil -e" and "pnputil -d oemx.inf".

2b) Uninstall the driver with Device Manager as you indicated in a. below.

When you are done developing the driver changes you'll want to update your
INF to have a new version number and date. This will ensure that the driver
store doesn't confuse the driver with what it already has.

-Mike

"Phil McHugh" wrote in message news:201031652245phil.mchugh(a)agfa.com...
>
> Hi I am facing a similar problem using DevCon to force update of driver I
> currently have under development. Worked fine in XP but with Win7 the old
> driver is reinstalled.
>
> Have tracked it down to the SetupCopyOEMInf that is executed as the
> installer processes the inf file.
>
> In my case what happens is that it sees that it already has an 'OEM
> Package' for the driver in
> ...system32\DriverStore\FileRepository\<my_driver_name>..
> and kindly saves time with the message:
> 'Package already in store: Skipping Driver Store Add'
>
> I see the above in the file %windir%\inf\setupapi.dev.log
>
> My guess is that down at the execution level your problem is the same
> although you are invoking the call via a more direct route.
>
> I have two workrounds:
>
> a. Uninstall the existing driver and check the box to delete driver files.
> Then do your install.
>
> b. use 'devcon dp_enum' to see the list of oem packages in the driver
> store. Id which is yours eg 'oem1.inf'
> Then use devcon to remove it from the store ie:
> 'devcon dp_delete oem1.inf'
>
> I am still looking for a better soloution. If someone already has one
> please share.
>
> Phil.
>
>
>
> steven6464 wrote:
>
> SetupCopyOEMInf windows 7
> 15-Mar-10
>
> Hi,
> I am using the SetupCopyOEMInf API to pre-install a USB plug&play printer.
> My program work in XP and Vista , in Windows 7 when I plug the printer the
> sistem search the printerdriver using the Windows Update procedure , and
> only
> after skipped this phase, install the printerdriver using my
> pre-installaed
> signed files ( inf, dll, etc, ) .
> Why ?
> Thanks for your support.
> Steven
>
> Previous Posts In This Thread:
>
>
> Submitted via EggHeadCafe - Software Developer Portal of Choice
> WPF TreeView Control With Filtering of Nodes Based on Their Levels
> http://www.eggheadcafe.com/tutorials/aspnet/fc841e66-3aac-4bd9-baba-bf26b9783a9b/wpf-treeview-control-with.aspx