Re: HELP! Registry Corruption on Driver Uninstall w/devcon.exe
From: Thomas F. Divine [DDK MVP] (tdivine_at_NOpcausaSPAM.com)
Date: 03/07/04
- Next message: Doron Holan [MS]: "Re: Scanf-like function for native application"
- Previous message: Maxim S. Shatskih: "Re: Windows XP Virtual File System Driver - HOW TO WRITE ONE??"
- In reply to: Pavel A.: "Re: HELP! Registry Corruption on Driver Uninstall w/devcon.exe"
- Next in thread: James Yonan: "Re: HELP! Registry Corruption on Driver Uninstall w/devcon.exe"
- Reply: James Yonan: "Re: HELP! Registry Corruption on Driver Uninstall w/devcon.exe"
- Reply: James Yonan: "Re: HELP! Registry Corruption on Driver Uninstall w/devcon.exe"
- Messages sorted by: [ date ] [ thread ]
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
> > ;---------------------------------------------------------------
>
>
- Next message: Doron Holan [MS]: "Re: Scanf-like function for native application"
- Previous message: Maxim S. Shatskih: "Re: Windows XP Virtual File System Driver - HOW TO WRITE ONE??"
- In reply to: Pavel A.: "Re: HELP! Registry Corruption on Driver Uninstall w/devcon.exe"
- Next in thread: James Yonan: "Re: HELP! Registry Corruption on Driver Uninstall w/devcon.exe"
- Reply: James Yonan: "Re: HELP! Registry Corruption on Driver Uninstall w/devcon.exe"
- Reply: James Yonan: "Re: HELP! Registry Corruption on Driver Uninstall w/devcon.exe"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|