Installing an upper driver weirdness

Hello Everyone,

I have created an upper filter driver and I created an inf for it.
first a simple one, then a little more complex one, 64bit and signing
capable.

Sine then I copied the project and the output files adjusted for a new
name and now I want the filter name in the registry changed too but here
lays the problem.
I can’t seem to alter the name of the registry entry in UpperFilters.
It installs for both previous versions but not when I changed the name
of XXX to YYY

[ClassFilter_AddReg]
;Change {setup-ClassGUID} to the string form of the ClassGUID that you are installing the filter on.
;Change UpperFilters to LowerFilters if this is a lower class filter.
HKLM, System\CurrentControlSet\Control\Class{4d36e96c-e325-11ce-bfc1-08002be10318}, UpperFilters, 0x00010008, XXXX

[DefaultInstall.NT.Services]
; Services section is required for installation of drivers on NT-based operating systems.
AddService = XXXX, , xxx_Service_Inst, xxx_EventLog_Inst

Everytime I changed it, it gives an install error, and windows make the
audio devices give error code 19:
/Windows cannot start this hardware device because its configuration
information (in the registry) is incomplete or damaged. (Code 19)/

I did a search and replace of the entire folder and XXXX isn’t mentioned
anywhere (all replaced to YYYY) (even if it’s the same driver.sys as
before)
Does anyone know how to get extra information on a code 19 as to why the
thing thinks it corrupt and hence can’t install the driver with a
different registry name?

Cheers
Obble.

Hi Obble,

According to microsoft support site link [http://support.microsoft.com/kb/310123] - code 19 error could happen if there are multiple services are defined for same device.

To overcome the problem, you can cleanup registry keys related to XXXX and YYYY services by executing below commands:
sc delete XXXX
sc delete YYYY

Restart machine. Verify that registry key folders for XXXX, YYYY services are deleted and then try re-installing driver. Hope this works for you. If you are using OS prior to Vista, then more detailed error message can be found inside Setupapi.log file.

Regards,
Pratima

NCH Obble Smith wrote:

I have created an upper filter driver and I created an inf for it.
first a simple one, then a little more complex one, 64bit and signing
capable.

Sine then I copied the project and the output files adjusted for a new
name and now I want the filter name in the registry changed too but
here lays the problem.
I can’t seem to alter the name of the registry entry in UpperFilters.
It installs for both previous versions but not when I changed the name
of XXX to YYY

Everytime I changed it, it gives an install error, and windows make
the audio devices give error code 19:
/Windows cannot start this hardware device because its configuration
information (in the registry) is incomplete or damaged. (Code 19)/

I did a search and replace of the entire folder and XXXX isn’t
mentioned anywhere (all replaced to YYYY) (even if it’s the same
driver.sys as before)

There isn’t nearly enough information here to chase this down. You
might try exporting the Control\Class{4d36496c… key and both of the
Services keys to text and including them with your next post. That will
probably show the issue. And use the real names; when you edit the file
to hide the names, it’s too easy for you to hide the problem as well.

By the way, if you are changing a filter name, you can use the DelReg
INF directive to remove the old driver name from the UpperFilters key.


Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.

Hi Pratima & Tim,

Thanks for that information, The file help me alot in the program
installer.
I’ve got the filter to work and it wasn’t an exisiting filter in the
UpperFilters registry key problem either.
I am not sure what I did to get it to work for the install action.

Thank you both.

Cheers Obble.

On 5/01/2010 7:36 PM, xxxxx@hotmail.com wrote:

Hi Obble,

According to microsoft support site link [http://support.microsoft.com/kb/310123] - code 19 error could happen if there are multiple services are defined for same device.

To overcome the problem, you can cleanup registry keys related to XXXX and YYYY services by executing below commands:
sc delete XXXX
sc delete YYYY

Restart machine. Verify that registry key folders for XXXX, YYYY services are deleted and then try re-installing driver. Hope this works for you. If you are using OS prior to Vista, then more detailed error message can be found inside Setupapi.log file.

Regards,
Pratima


NTDEV is sponsored by OSR

For our schedule of WDF, WDM, debugging and other seminars visit:
http://www.osr.com/seminars

To unsubscribe, visit the List Server section of OSR Online at http://www.osronline.com/page.cfm?name=ListServer