Hi All,
I have a filter driver which I install/uninstall as upper class filter
by using inf file.
To uninstall I use rundll32 like this:
rundll32.exe setupapi.dll,InstallHinfSection DefaultUninstall 132 MyDriver.inf
Uninstall section of my inf file looks like this (not relevant
directives are removed):
[DefaultUninstall.nt]
DelReg=MyDriver.DelReg
[MyDriver.DelReg]
HKLM,System\CurrentControlSet\Control\Class{guid},UpperFilters,%FLG_DELREG_MULTI_SZ_DELSTRING%,MyDriver
[Strings]
FLG_DELREG_MULTI_SZ_DELSTRING=0x00018002
On XP+ everything works fine. The substring with my driver name
removed from UpperFilters key. but on W2K the UpperFilters key is
deleted completely, even if it contains some other substrings.
Having carefully read “INF DelReg Directive” section
http://msdn2.microsoft.com/en-us/library/ms794568.aspx, I’ve realized
that FLG_DELREG_MULTI_SZ_DELSTRING flag is only for XP and later.
So my question: how can I gracefully uninstall upper class filter,
using inf file on Windows 2000?
Best Regards,
Nikolay Korneev
I tried to figure this one out myself awhile back and I wasn’t able to come
up with any simple solution. INF files just don’t support the capability
you are trying for in Windows 2000. Even in Windows XP there are a lot of
things that INF files cannot do in the way of parsing existing registry keys
so sometimes they just don’t cut it for complex installation or
uninstallation requirements. You may have to write a custom uninstall
application.
“Nikolay Korneev” wrote in message news:xxxxx@ntdev…
> Hi All,
>
> I have a filter driver which I install/uninstall as upper class filter
> by using inf file.
>
> To uninstall I use rundll32 like this:
> rundll32.exe setupapi.dll,InstallHinfSection DefaultUninstall 132
> MyDriver.inf
>
> Uninstall section of my inf file looks like this (not relevant
> directives are removed):
>
> [DefaultUninstall.nt]
> DelReg=MyDriver.DelReg
>
> [MyDriver.DelReg]
> HKLM,System\CurrentControlSet\Control\Class{guid},UpperFilters,%FLG_DELREG_MULTI_SZ_DELSTRING%,MyDriver
>
> [Strings]
> FLG_DELREG_MULTI_SZ_DELSTRING=0x00018002
>
> On XP+ everything works fine. The substring with my driver name
> removed from UpperFilters key. but on W2K the UpperFilters key is
> deleted completely, even if it contains some other substrings.
>
> Having carefully read “INF DelReg Directive” section
> http://msdn2.microsoft.com/en-us/library/ms794568.aspx, I’ve realized
> that FLG_DELREG_MULTI_SZ_DELSTRING flag is only for XP and later.
>
> So my question: how can I gracefully uninstall upper class filter,
> using inf file on Windows 2000?
>
> Best Regards,
> Nikolay Korneev
>