Driver installation problem on XP

  • Thread starter Aleksey Rechinskiy
  • Start date
A

Aleksey Rechinskiy

Hello.

I need some help to install functional driver in WindowsXP.
Here is the description:

I have two drivers.
The first is a driver for virtual bus, based on a "Toaster Bus driver" from
DDK. I install it with utility from src\setup\install folder (it uses
UpdateDriverForPlugAndPlayDevices()) and everything works fine in Windows
2000 and Windows XP (both remains silent during driver installation, albeit
system policy says "Warn user if unsigned drivers is to be installed").

The second is the functional driver for devices, that is spawned by virtual
bus. To install the driver I use the pre-installing technique exactly as it
is specified in DDK in paragraph "Pre-installing Driver Files" (it uses
SetupCopyOEMInf()). On Windows 2000 when I spawn new device on bus (more
correct: new instance of device), system finds the functional driver and
starts it. No pop-ups or other "user disturbing" events happens and that is
what i need.
But on Windows XP it doesn't work! First, during SetupCopyOEMInf() it asks
if the user wants to use unsigned drivers. (that is expected and OK, but W2k
doesn't ask it). Second, when i spawn the very first instance of device,
system always show "New hardware found" wizard and it is impossible to start
driver but to finish this wizard step-by-step. After that, one instance of
device can work anytime (i.e. when I eject (uplug) it and then start it
again, it works perfectly). But when i start second instance of device
(first instance is running), than I see very strange things: system
successfully resolves DeviceID to my functional driver and call its
AddDevice and IRP_MN_START over PDO of the second instance (and it
successfully starts and works - now there will be two intances running),
_but_ system again shows this damn "New hardware found" dialog, which now
can be dismissed with "Cancel" button with no harm to the running FDO. If I
choose to finish the wizard again (Next->Next->Next->Finish), then everytime
I start second instance of device, it will work fine without any pop-ups.
But when I want to start third instance, that "New hardware found" bagpipes
restarts... Ohhhhhh!!!

Help, please! What am I doing wrong???
I will be happy to hear any clues.
Thanks.

PS:
Windows 2000 - any SPs, checked and free builds.
Windows XP clean and SP1, checked and free builds.

PPS:
Here is the fragment of Windows XPs %SystemRoot%\SetupApi.log file when i
try to start second (third) instance of device:

----- successfully installing new driver till here--
@ 14:12:01.586 #T205 Install Device: Verifying catalogs/INFs.
@ 14:12:01.626 #V286 Verification using alternate platform (Platform = 2,
High Version = 5.1, Low Version = 5.0).
@ 14:12:01.676 #I180 Verifying file "e:\winxp\inf\oem1.inf" (key
"cdisk.inf") against catalog "oem1.CAT" failed. Error 1168: Element not
found.
@ 14:12:01.716 #I180 Verifying file "e:\winxp\inf\oem1.inf" (key
"cdisk.inf") against catalog "oem1.CAT" failed. Error 1168: Element not
found.
@ 14:12:01.756 #E358 An unsigned or incorrectly signed file
"e:\winxp\inf\oem1.inf" for driver "CryptoDisk" blocked (server install).
Error 1168: Element not found.
@ 14:12:01.796 #T206 Install Device: Verifying catalogs/INFs completed.
@ 14:12:01.816 #T224 Install Device: Cleaning up failed device.
@ 14:12:01.866 #E122 Device install failed. Error 1168: Element not found.
@ 14:12:01.896 #T201 Install Device: End.
@ 14:12:01.946 #E157 Default installer failed. Error 1168: Element not
found.
@ 14:12:01.966 #V166 Device install function: DIF_DESTROYPRIVATEDATA.
@ 14:12:01.987 #T149 Executing coinstaller 1 of 2.
@ 14:12:02.037 #V150 Completed coinstaller 1 of 2.
@ 14:12:02.057 #T149 Executing coinstaller 2 of 2.
@ 14:12:02.087 #V150 Completed coinstaller 2 of 2.
@ 14:12:02.127 #T152 Executing class installer.
@ 14:12:02.157 #V153 Completed class installer.
@ 14:12:02.177 #V155 Executing default installer.
@ 14:12:02.217 #V156 Completed default installer.
[2004/02/08 14:12:09 424.3]
#-199 Executing "E:\WINXP\system32\rundll32.exe" with command line:
rundll32.exe newdev.dll,ClientSideInstall
\\.\pipe\PNP_Device_Install_Pipe_0.{F680F1DF-15CB-4822-900B-997623D2DF54}

^ ^ ^ ^ ^ ^ ^ ^ start of "New Hardware Found" wizard

I fear to believe it...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top