[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