Re: HELP! Registry Corruption on Driver Uninstall w/devcon.exe

From: Thomas F. Divine [DDK MVP] (tdivine_at_NOpcausaSPAM.com)
Date: 03/07/04


Date: Sun, 7 Mar 2004 11:48:15 -0500

I'm not sure that his driver installation requires a reboot.

However, the scenario install, uninstall (without interveening reboot)
leaves Winsock broken.

I think his goal is really to prevent install without an interveening
reboot.

Thomas F. Divine

"Pavel A." <pavel_a@geeklife.com> wrote in message
news:uoxSPbDBEHA.1604@TK2MSFTNGP11.phx.gbl...
> Why reboot is required after installing this driver?
>
> --PA
>
> "James Yonan" <jim2004@yonan.net> wrote in message
news:4b2b7f04.0403061746.7a191be1@posting.google.com...
> > I'm the developer of the TAP-Win32 driver, an NDIS 5 miniport virtual
> > NIC driver, and I'm seeing cases of Winsock registry corruption that
> > renders Win2K machines unusable without registry surgery.
> >
> > The driver is generally installed and uninstalled using the devcon.exe
> > sample distributed with the DDK (version 2600.1106).
> >
> > The problem is that sometimes people install on Win2K, and ignore the
> > reboot dialog.
> >
> > The driver install is done internally with the command:
> >
> > devcon install OemWin2k.inf TAP
> >
> > Users then try to get the TAP adapter to work, which of course fails
> > because they didn't reboot. Then they get frustrated and uninstall
> > the driver.
> >
> > The internal driver uninstall operation is:
> >
> > devcon remove TAP
> >
> > So essentially they have installed the driver, ignored the reboot
> > dialog, and uninstalled the driver.
> >
> > What happens next in a small number of cases (only on Win2K, usually
> > SP4) is that registry entries for WinSock get corrupted. Basically
> > WinSock is now in a permanently broken state, cannot be fixed by
> > rebooting, and generally needs to be fixed with something like
> > WinsockFix ( http://members.shaw.ca/installations/WinsockFix.zip )
> > which basically restores the Winsock registry entries to a known good
> > state.
> >
> > Any help on this issue would be greatly appreciated. I've pasted the
> > INF file used in the install to the end of this message. Is there a
> > bug in the INF file, or devcon, or is there anything I can do protect
> > against this kind of corruption occurring?
> >
> > Thanks,
> > James
> >
> > ; ******************************************
> > ; * OemWin2k.inf, for Win2K and higher
> > ; ******************************************
> >
> > [Version]
> > Signature = "$Windows NT$"
> > CatalogFile = tap.cat
> > ClassGUID = {4d36e972-e325-11ce-bfc1-08002be10318}
> > Provider = %l_Provider%
> > Class = Net
> > DriverVer=02/22/2004,5.00.00.0002
> >
> > [Strings]
> > l_DeviceDescription = "TAP-Win32 Adapter"
> > l_Provider = "TapWin32Project"
> >
> > ;----------------------------------------------------------------
> > ; Manufacturer + Product Section (Done)
> > ;----------------------------------------------------------------
> > [Manufacturer]
> > %l_Provider% = TapWin32Project
> >
> > [TapWin32Project]
> > %l_DeviceDescription% = TAP.ndi, TAP
> >
> > ;---------------------------------------------------------------
> > ; Driver Section (Done)
> > ;---------------------------------------------------------------
> >
> > ;----------------- Characteristics ------------
> > ; NCF_PHYSICAL = 0x04
> > ; NCF_VIRTUAL = 0x01
> > ; NCF_SOFTWARE_ENUMERATED = 0x02
> > ; NCF_HIDDEN = 0x08
> > ; NCF_NO_SERVICE = 0x10
> > ; NCF_HAS_UI = 0x80
> > ;----------------- Characteristics ------------
> >
> > [TAP.ndi]
> > CopyFiles = TAP.driver, TAP.files
> > AddReg = TAP.reg
> > AddReg = TAP.params.reg
> > Characteristics = 0x81
> >
> > [TAP.ndi.Services]
> > AddService = TAP, 2, TAP.service
> >
> > [TAP.reg]
> > HKR, Ndi, Service, 0, "TAP"
> > HKR, Ndi\Interfaces, UpperRange, 0, "ndis5"
> > HKR, Ndi\Interfaces, LowerRange, 0, "ethernet"
> > HKR, , Manufacturer, 0, "%l_Provider%"
> > HKR, , ProductName, 0, "TAP"
> >
> > [TAP.params.reg]
> > HKR, Ndi\params\MTU, ParamDesc, 0, "MTU"
> > HKR, Ndi\params\MTU, Type, 0, "int"
> > HKR, Ndi\params\MTU, Default, 0, "1500"
> > HKR, Ndi\params\MTU, Optional, 0, "0"
> > HKR, Ndi\params\MTU, Min, 0, "100"
> > HKR, Ndi\params\MTU, Max, 0, "1500"
> > HKR, Ndi\params\MTU, Step, 0, "1"
> > HKR, Ndi\params\MediaStatus, ParamDesc, 0, "Media Status"
> > HKR, Ndi\params\MediaStatus, Type, 0, "enum"
> > HKR, Ndi\params\MediaStatus, Default, 0, "0"
> > HKR, Ndi\params\MediaStatus, Optional, 0, "0"
> > HKR, Ndi\params\MediaStatus\enum, "0", 0, "Application
> > Controlled"
> > HKR, Ndi\params\MediaStatus\enum, "1", 0, "Always
> > Connected"
> >
> > ;----------------------------------------------------------------
> > ; Service Section
> > ;----------------------------------------------------------------
> >
> > ;---------- Service Type -------------
> > ; SERVICE_KERNEL_DRIVER = 0x01
> > ; SERVICE_WIN32_OWN_PROCESS = 0x10
> > ;---------- Service Type -------------
> >
> > ;---------- Start Mode ---------------
> > ; SERVICE_BOOT_START = 0x0
> > ; SERVICE_SYSTEM_START = 0x1
> > ; SERVICE_AUTO_START = 0x2
> > ; SERVICE_DEMAND_START = 0x3
> > ; SERVICE_DISABLED = 0x4
> > ;---------- Start Mode ---------------
> >
> > [TAP.service]
> > DisplayName = %l_DeviceDescription%
> > ServiceType = 1
> > StartType = 3
> > ErrorControl = 1
> > LoadOrderGroup = NDIS
> > ServiceBinary = %12%\tapdrvr.sys
> >
> > ;-----------------------------------------------------------------
> > ; File Installation
> > ;-----------------------------------------------------------------
> >
> > ;----------------- Copy Flags ------------
> > ; COPYFLG_NOSKIP = 0x02
> > ; COPYFLG_NOVERSIONCHECK = 0x04
> > ;----------------- Copy Flags ------------
> >
> > [SourceDisksNames]
> > 1 = %l_DeviceDescription%, tapdrvr.sys
> >
> > [SourceDisksFiles]
> > tapdrvr.sys = 1
> >
> > [DestinationDirs]
> > TAP.files = 11
> > TAP.driver = 12
> >
> > [TAP.files]
> >
> > [TAP.driver]
> > tapdrvr.sys,,,6 ; COPYFLG_NOSKIP | COPYFLG_NOVERSIONCHECK
> >
> > ;---------------------------------------------------------------
> > ; End
> > ;---------------------------------------------------------------
>
>



Relevant Pages

  • Re: cant get to some sites
    ... Make sure Windows is set to show hidden files and folders and is NOT set ... Reboot an try again. ... If you install Windows XP SP2, it may DOWNgrade your driver to ...
    (microsoft.public.windows.inetexplorer.ie6.browser)
  • Re: cant get to some sites
    ... Reboot an try again. ... If you install Windows XP SP2, it may DOWNgrade your driver to ...
    (microsoft.public.windows.inetexplorer.ie6.browser)
  • Re: HELP! Registry Corruption on Driver Uninstall w/devcon.exe
    ... > I'm not sure that his driver installation requires a reboot. ... > However, the scenario install, uninstall (without interveening reboot) ... A lot of people are actively using this driver, ...
    (microsoft.public.development.device.drivers)
  • Re: Mac OS X Leopard still not ready for prime time
    ... Since installing Leopard, I've had to ... Install OS X three times? ... Nobody can mess or race with the Windows reboot, ... you reboot to unload most driver classes on windows. ...
    (comp.sys.mac.advocacy)
  • Re: Fault Application svchost.exe module ntdll.dll
    ... Presumably you didn't install Laptop chipset drivers and other hw drivers ... with all program registries in tact avoiding the need to reload all your ... This winsock error is however a first. ... first reboot - installed the new ...
    (microsoft.public.windowsxp.help_and_support)