[Vpn-help] Regarding Install / Uninstall issues ...

Matthew Grooms mgrooms at shrew.net
Wed May 14 19:07:31 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