How to programmatically install a PCI NDIS driver on 98SE?

I am trying to develop a program to install the NDIS driver for a PCI
NIC. This driver & it’s inf are working fine with the manual
(controlpanel->network…) install approach.

Looking at the possible approaches -

  1. invoking setupx/setupapi.dll InstallHInfSection from rundll(32), at
    best was able to copy the sys file.

  2. Invoking the control panel from the console - this pops up the gui but
    then one has to still go manually through the Add adapter process.

  3. On looking at Netdi.dll approach, one would develop a helper dll (using
    Dixxx APIs). But that doesn’t resolve the problem since (as affirmed by a
    note in a sample) it still needs to be pointed at using the Control-panel
    approach. I came across a document for Win95 describing these APIs to be
    for “writing class installation DLLs”. As I understand it. I don’t need a
    class installer.

  4. Also this approach seems to require creating registry entries on our
    own & passing that in a struct to the APIs as well. To me this seems to be
    possibly error prone since the reg entries can be cryptic.

  5. Using the setupAPIs (also documented on Win 2000). I presume that
    passing the inf as parameter to setupDiEnumDeviceInfo would bring up the
    wizard with device specific information. However it just brings up the
    wizard which finally says it cannot find driver even if you point to the
    actual location (possibly since the wizard does not know what it is
    looking for). I pass the device identifiers as
    “PCI\PCI\VEN_…&DEV…&REV…”.

There have been various posts indicating that 98 is a 16-bit environment
& 32-bit apps may not work here; so the 2000 ver of setupAPIs may not
work. But then again 98SE does support both 32 & 16 bit versions of this
library.

Does anyone know the answers for this?

Thanks.

Hmm, even 98SE is a PnP System. So it should detect your PCI device
and should ask for a driver disk with your .inf file.

If you want to pre-install the drivers then maybe you copy the files
by hand to their belonging directories and copy an .inf that has no
‘CopyFiles’ directives to Windows/Inf. This may give you an silent
install on 9x.

Norbert.

I am trying to develop a program to install the NDIS driver for a PCI
NIC. This driver & it’s inf are working fine with the manual
(controlpanel->>network…) install approach.

Looking at the possible approaches -

  1. invoking setupx/setupapi.dll InstallHInfSection from rundll(32), at
    best was able to copy the sys file.
  1. Invoking the control panel from the console - this pops up the gui but
    then one has to still go manually through the Add adapter process.
  1. On looking at Netdi.dll approach, one would develop a helper dll (using
    Dixxx APIs). But that doesn’t resolve the problem since (as affirmed by a
    note in a sample) it still needs to be pointed at using the Control-panel
    approach. I came across a document for Win95 describing these APIs to be
    for “writing class installation DLLs”. As I understand it. I don’t need a
    class installer.
  1. Also this approach seems to require creating registry entries on our
    own & passing that in a struct to the APIs as well. To me this seems to be
    possibly error prone since the reg entries can be cryptic.
  1. Using the setupAPIs (also documented on Win 2000). I presume that
    passing the inf as parameter to setupDiEnumDeviceInfo would bring up the
    wizard with device specific information. However it just brings up the
    wizard which finally says it cannot find driver even if you point to the
    actual location (possibly since the wizard does not know what it is
    looking for). I pass the device identifiers as
    “PCI\PCI\VEN_…&DEV…&REV…”.

There have been various posts indicating that 98 is a 16-bit environment
& 32-bit apps may not work here; so the 2000 ver of setupAPIs may not
work. But then again 98SE does support both 32 & 16 bit versions of this
library.

Does anyone know the answers for this?

Thanks.


You are currently subscribed to ntdev as: xxxxx@stollmann.de
To unsubscribe send a blank email to xxxxx@lists.osr.com

---- snip ----