non PnP and XPE

  • Thread starter Thread starter crimson13
  • Start date Start date
C

crimson13

Hello all,

I have a non-PnP WDM driver that works fine under Win2k and WinXP. I've made
a component out of the inf file and added this to my XP embedded image.
The driver entry is called, but the AddDevice isn't. Only 'info' I got is
that in the registry the following value is added: INITSTARTFAILED = 1; and
the fact that my device isn't enumerated under root\system like it should be
(which I guess explains the not calling of AddDevice).
I then added the 'class installer - non PnP devices' component to my target,
but it didn't change a thing.
What does a non-PnP driver require that I am forgetting?

randy
 
You need to force installation into services branch of registry.

Since you can't rely on PnP manager to do the job for you, you will need to
populate registry entries manually from your component.

Regards,
Slobodan
 
Slobodan Brcin said:
You need to force installation into services branch of registry.

Since you can't rely on PnP manager to do the job for you, you will need to
populate registry entries manually from your component.

Regards,
Slobodan

The service part of the registry seems fine as it is (ErrorControl, Start,
Type, ...) (those things were added to the component by the copmonent
designer when I imported my INF file).
The enumeration part however isn't
(HLM\SYSTEM\CurrentControlSet\Enum\Root\System). I can't add these values
when XPE is booted (I get errors when trying to upload a .reg file or try to
add keys manually), so do I need to add those also to my component?

randy
 
Actually I have only two drivers that I needed to install in this way.

I have populated thee sections to be on the safe side, and it is working.


CurrentControlSet\Services\?...DrivName...?
CurrentControlSet\Enum\......
CurrentControlSet\Control\Class\{GUID}\?...DrivName...? <----
Here I changed ID to name


After importing these sections in CD I have changed some load ID numbers to
DriverName.
And I have also changed in enum == driver entry to reflect changes I made
to class ID name.

Maybe there is no need to do all of this, but it is working.


Regards,
Slobodan
 
Slobodan Brcin said:
Actually I have only two drivers that I needed to install in this way.

I have populated thee sections to be on the safe side, and it is working.


CurrentControlSet\Services\?...DrivName...?
CurrentControlSet\Enum\......
CurrentControlSet\Control\Class\{GUID}\?...DrivName...? <----
Here I changed ID to name


After importing these sections in CD I have changed some load ID numbers to
DriverName.
And I have also changed in enum == driver entry to reflect changes I made
to class ID name.

Maybe there is no need to do all of this, but it is working.

yes it is :-)
thx
I had the driver working under Win2K, so I just exported those registry
directories and imported them into my component. It works, but I don't think
it's a very 'elegant' solution, so if anybody can enlighten me of another
way, please do ;-)
Anyway, thx again, Slobodan!

randy
 
Little cleaner solution would be to load registry keys from offline
registry.
Some values are not persistent across the boot.

Regards,
Slobodan
 
Back
Top