I am still trying to figure out how to install PnP boot drivers over Non-PnP
boot drivers. I figured that out. My last major hurdle is trying to
install a PnP boot driver that is not yet enumerated. The problem is that
the device upon reboot will be enumerated. At that point my disk drivers
has to be found and installed running or I will be hit with the dreaded BSOD
“Inaccessible Boot Device”.
I read something in the DDK about using the SetupCopyOEMInf API. The
following is verbatim out of the 2000 DDK
< Begin >
Installing A Software Utility that Accompanies a Driver
Your custom device installation application should handle two situations:
The user plugs in your hardware and then inserts your distribution media.
The user inserts your distribution media, to install device support, and
later plugs in your hardware.
To handle the first case, you should provide an autorun setup program that
calls UpdateDriverForPlugAndPlayDevices and then runs the setup program for
your device utility or application.
To handle the second case, your Setup program should follow these steps:
On the target system, create a directory for the driver files. If your Setup
program installs an application, the driver files should be stored in a
subdirectory of the application directory.
Copy all files in the driver package from the distribution media to the
directory created in step 1. The driver package includes the driver or
drivers, the INF file, the catalog file, and so forth.
Call SetupCopyOEMInf on the INF file in the directory created in Step 1.
Specify SPOST_PATH for the OEMSourceMediaType parameter and specify NULL for
the OEMSourceMediaLocation parameter. SetupCopyOEMInf copies the INF file
for the driver package into the %windir%\Inf directory on the target system
and directs SetupAPI to store the source location of the INF file in its
list of preprocessed INF files. SetupCopyOEMInf also processes the catalog
file, so the driver will be installed by PnP Manager the next time it
recognizes a device listed in the INF file.
When the user plugs in the device, the PnP Manager recognizes the device,
finds the INF file copied by SetupCopyOEMInf, and installs the drivers
copied in step 2.
< End >
My circumstance sure does sound like the second case here. Install the
drivers before the device is found. The only difference is that my device
will be found at boot time and not at full up and running time. I tried
this method but I was unable to get it to work. The question here is. Is
this the correct way of installing a PnP boot driver that has not been
enumerated yet? Or is there a different way of doing this?
Thanks In Advance,
Joe
You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com