From: Rymfax on
Hello all. I need some help figuring out a driver installtion
problem.

I have this new SigmaTel High Definition Audio driver that I'm trying
to install using the UpdateDriverForPlugAndPlayDevices() function.
However it doesn't install properly for some reason. The strange
thing is, if I manually install the Driver using the New Hardware
Wizard, it installs fine. Now, as a little background, let me tell
you that the SigmaTel driver is written very strangely. There are a
bunch of .ini files that it uses, however, these files are not
referenced at all in the .inf, which I think is what's causing the
problem, but I can't be sure.

My question is simply this, what functions does the New Hardware
Wizard use to install drivers? I'd like to duplicate exactly what it
is doing so I can get this things working before I pull the rest of
what little hair I have out. Any and all help would be GREATLY
appreciated.

As a bonus question, I was wondering if anyone could tell me if there
is a problem using more than one Device Info List at once. My
application builds one big Device Info list and loops through it to
install drivers for devices. While in that loop, it calls a function
that I had recently created to try and use the InstallSelectedDriver()
function. I tried passing the Info List in and using that in the
function, but it would crash my app and I couldn't figure out why. So
I tried creating a new Device Info List inside the new function with
just the Device I was working with in it. It SEEMS to work fine until
I get to the point where I call SetupDiDestroyDeviceInfoList() for the
newly created Device Info List. that call also crashes the App.
Again, any help with this would be greatly appreciated.

Oh and I'm using C++ to write this app. :)

Thanks!

From: chris.aseltine on
On Aug 14, 8:32 am, Rymfax <cwal...(a)bigbangllc.com> wrote:

> My question is simply this, what functions does the New Hardware
> Wizard use to install drivers? I'd like to duplicate exactly what it
> is doing so I can get this things working before I pull the rest of
> what little hair I have out.

This doesn't directly answer your question, but you can use
InstallSelectedDriver() to force-install a given driver on a given
driver instance.

See also: http://support.microsoft.com/kb/889763

From: Rymfax on
On Aug 14, 9:08 am, chris.aselt...(a)gmail.com wrote:
> On Aug 14, 8:32 am, Rymfax <cwal...(a)bigbangllc.com> wrote:
>
> > My question is simply this, what functions does the New Hardware
> > Wizard use to install drivers? I'd like to duplicate exactly what it
> > is doing so I can get this things working before I pull the rest of
> > what little hair I have out.
>
> This doesn't directly answer your question, but you can use
> InstallSelectedDriver() to force-install a given driver on a given
> driver instance.
>
> See also:http://support.microsoft.com/kb/889763


I tried that example and it crashes right after the install. Any idea
why?