[Vpn-help] Problems with Client Install or Uninstall ...

Matthew Grooms mgrooms at shrew.net
Wed May 14 19:17:09 CDT 2008


All,

Before sending out the release announcement for 2.1.0 beta 3, I wanted 
to touch briefly on issues related to client installer failures. These 
may have been caused by bugs in the installer / uninstaller programs, a 
failed kernel driver installation or a kernel driver bug that crashed 
the system during installation. I do my best to test packages pretty 
thoroughly before releasing them to the public but sometimes a bug gets 
through that can wreak havoc on a users system. This email is intended 
to give some pointers on how to diagnose such a failure and bring your 
machine back to a usable state.

THE INSTALL PROCESS

Before attempting to manually recover from a failed client install or 
uninstall procedure, its a good idea to have a basic understanding of 
the client software components and how the installer works. Here is a 
brief description of the component installation process in chronological 
order.

1) Create the following folders under <Program Files>. Executable 
programs and libraries are copied to the base "VPN Client" directory.
   a) ShrewSoft\VPN Client"
   b) ShrewSoft\VPN Client\certificates"
   c) ShrewSoft\VPN Client\debug"

2) Create the following folder under <Program Files>. Kernel drivers and 
INFs are copies to the "VPN Client\drivers" subdirectory.
   a) ShrewSoft\VPN Client\drivers"

3) Pre-install the filter service driver. This is an NDIS kernel network 
driver that inserts between the TCP/IP layer and any Etherenet, Dialup 
and WLAN drivers. This driver allows the client to inspect, divert or 
inject packets at a very low level. This step copies the driver files 
and installs INFs using the the bundled drvcfg.exe program.

4) Install the filter service. This step installs and loads the service 
driver using the bundled netcfg.exe program.

5) Pre-install the virtual network interface driver. This is an NDIS 
kernel network driver that implement a miniport NIC interface. This 
driver really does nothing but provide dummy network adapter targets. 
This step copies the driver files and installs an INF using the the 
bundled drvcfg.exe program.

6) Install a single virtual network adapter instance. This step creates 
the device instance, associates it with the virtual network adapter 
driver, loads the driver and enables the instance using the the bundled 
devcfg.exe program.

7) Install the following programs as system services. This step 
registers the programs as services and starts them immediately.
  a) Shrew Soft IKE Daemon ( iked )
  b) Shrew Soft IPSEC Daemon ( ipsecd )
  c) Shrew Soft DNS Proxy Daemon ( dtpd )

RECOVERING FROM A FAILURE

Recovery from a failed install or uninstall procedure is essentially the 
same process. The object is to revert the system to the state it was 
before the any components were installed. Here is a brief description of 
the steps required to accomplish this.

You must be logged in as a user with administrator privileges. Please be 
aware that the order of these steps are important as some components 
have dependencies on others. Attempting to remove them out of order can 
lead to more failures. Its also a good idea to reboot the machine before 
attempting this procedure. If you experienced a crash and are unable to 
boot normally, try using safe mode instead.

1) Determine if any of the program services added during installation 
step (7) are still active. To accomplish this, right click on "My 
Computer" and select "Manage" from the popup menu. Next expand the 
"Services and Applications" item in the left hand tree control and 
select "Services". If any are running, right click on the service and 
select "Stop" from the popup menu. If a service fails to stop, reboot 
and repeat this step. Once all Shrew Soft services are stopped, you will 
need remove them using the "-deregister" switch as a command line 
argument for the service program to be removed. For example, to 
uninstall the Shrew Soft IKE service, you would use the following 
command ...

"C:\Program Files\ShrewSoft\VPN Client\iked" -deregister

... Use the Computer Management service list again to ensure all the 
services have been removed. It may take several seconds and refresh 
attempts ( F5 key ) for the service to be de-listed. If a service is 
still present after a minute or so, reboot and check again.

2) Determine if any virtual network adapters added during installation 
step (6) are still present. To accomplish this, right click on "My 
Computer" and select "Manage" from the popup menu. Next select "device 
Manager" in the left hand tree control. To view Shrew Soft network 
adapters, you will need to select the "Show hidden devices" in the 
application "View" menu. Next expand the "Network adapters" item in the 
right hand tree control. Any device listed as a "Shrew Soft Virtual 
Adapter" will need to be removed.

NOTE : Do not remove devices that have "- Shrew Soft Miniport Filter" 
appended to the end of their name. These are filter adapters installed 
by the protocol filter driver and not the virtual adapter driver.

Right click on any "Shrew Soft Virtual Adapter" devices and select 
"Uninstall" from the popup menu. If an operation fails, it is a good 
idea to boot into safe mode and repeat this step.

3) Determine if the filter service added during installation step (4) is 
still present. To accomplish this, you will need to look at the settings 
of a network adapter. Right click on a "Local Area Connection" or a 
dial-up adapter and select "Properties" from the popup menu. If the 
Shrew Soft filter driver is installed, you will see it listed under the 
used component list. To remove it, simply highlight the component and 
click the "Uninstall" button. If the operation fails, it is a good idea 
to boot into safe mode and repeat this step.

4) If you previously experienced a failure while uninstalling the client 
software, it should now be safe to re-run the uninstaller now that all 
components registered to the system have been removed. If the process 
fails again, you can manually remove the ShrewSoft and subordinate 
folders that were created during installation steps (1) and (2). If the 
operation fails, reboot and repeat this step.

ADDITIONAL PRE-INSTALL CLEANUP STEPS

In the event that an install or uninstall procedure has obviously failed 
  or you suspect there was an unreported error condition, you can 
perform the following steps before attempting to re-install the client. 
This may be necessary for users who had installed beta, alpha or early 
versions of the software.

1) Perform the RECOVERING FROM A FAILURE steps.

2) Search for and remove any outdated driver files from the system. To 
accomplish this, search for and remove any files named "virtualnet.sys" 
or "vfilter.sys" under the <WINDOWS>\system32\drivers directory.

3) Reboot the system.

REPORTING FAILURES

Almost every Shrew Soft client release uses a slightly different install 
application. The procedure is constantly being improved due to feedback 
provided by testing and bug reports provided by the user community. If 
you experience a problem installing a version of the application, please 
report your issue. Please provide the following information along with 
your report ...

1) The client release version
2) The Operating System Version
3) The Service Pack Level
4) The Platform ( x86/amd64 )
5) A description of what the client was doing when it failed
6) A list of other VPN Client, VM Software or other software that may 
have installed custom kernel drivers
7) Any information discovered while performing the RECOVERING FROM A 
FAILURE steps

Thanks,

-Matthew



More information about the vpn-help mailing list