
                       ----------------------------------------------------
                        SoftDog Device Driver Installing Guide for Windows
                       ----------------------------------------------------
                                  Copyright (c) SafeNet, Inc.



SoftDog's device driver for Windows must be installed if your protected application with SoftDog
is running at Windows 2K (32 bit)/XP (32/64 bit)/Server 2003 (32/64 bit)/Vista (32/64 bit)
/Windows 7 (32/64 bit)/Windows Server 2008 (32/64 bit) and Windows Server 2008 R2 (64 bit).

This version SoftDogInstdrv.exe will call DriverDialog of SoftDogSetup.dll to display the 
interface of installing and uninstalling driver. User can use SoftDogInstdrv.exe to install and 
uninstall drivers or make the interface by yourself.  

Run installation program SoftDogInstdrv.exe to install the device drivers and SoftDogInstdrv.exe
can detect the type of your system, and install corresponding device driver to the system. 
Please follow the prompts to complete the installation process.

The developer should not only install the device driver in your system, but also install the driver
in your end user's system. Therefore you should include SoftDogInstdrv.exe and SoftDogSetup.dll in
your release version and execute installing device driver in your application's SETUP process by
using SoftDogInstdrv.exe directly or refer to the following Appendix A.

If you want to uninstall the drivers of SoftDog, you can also run SoftDogInstdrv.exe and click 
the "Uninstall" button to uninstall the drivers of SoftDog.

SoftDogInstdrv.exe supports the command line parameter. The parameters are as follow:
Command line parameter: (Not distinguish capital or lower case)

/?display command line help
/i Not display the installation interface
/r Not display uninstall interface
/s Not display any installation or uninstall information 
/a Install or uninstall Parallel Dog driver and USB Dog driver(this is default)
/p Install or uninstall Parallel Dog driver only
/u Install or uninstall USB Dog driver only
For example: SoftDogInstdrv.exe /i/s Not display any information in the process of installation.

-----------
FileList:
-----------
readme-eng.txt			this document
SoftDogInstdrv.exe		The program of driver's installation or uninstallation
SoftDogSetup.dll		The dynamic link library of driver's installation
Delphi			<dir>	The sample of calling SoftDogSetup.dll with Delphi
VB			<dir>	The sample of calling SoftDogSetup.dll with Visual Basic
VC			<dir>	The sample of calling SoftDogSetup.dll with Visual C++

-----------
Appendix A:
-----------

DOGSETUP.DLL is a 32-bit Windows DLL, you may use it to develop your own SETUP program in
your application's SETUP process. 

If you want to display the information of dog's driver, you can call the function GetDogDriverInfo in the Dll.
  int PASCAL GetDogDriverInfo();
  Parameter: none
  Return value:
  	0 No Driver is installed
  	1 The drivers (Parallel and Usb) with same version have already been installed.
  	2 The USB drivers with same version have already been installed.
  	3 The Parallel drivers with same version have already been installed.
  	4 The driver that you will install is a higher version than the one you are presently using.
  	5 The USB driver that you will install is a higher version than the one you are presently using.
  	6 The Parallel driver that you will install is a higher version than the one you are presently using.
  	7 The driver that you will install is a lower version than the one you are presently using.
  	8 The USB driver that you will install is a lower version than the one you are presently using.
  	9 The Parallel driver that you will install is a lower version than the one you are presently using.
        3008 Not administrator

If you want to install the dog's driver, you can call the function InstDriver in the DLL.

  int PASCAL InstDriver(int iFlag);
  Parameter:
  		1 Install USB dog driver
  		2 Install Parallel dog driver
  		3 Install USB and Parallel dog driver
  Return value should be 0 if success, other return values are error codes.


If you want to uninstall the dog's driver,you can call the function UninstallDriver in the Dll.
  int PASCAL UninstallDriver(int iFlag);
  Parameter
  		1 Uninstall USB dog driver
  		2 Uninstall Parallel dog driver
  		3 Uninstall USB and Parallel dog driver
  Return value should be 0 if success, other return values are error codes.
  
  
If you want to display the interface of driver installing and uninstalling, you can call the function DriverDialog in the Dll.   
  void PASCAL DriverDialog();
  Parameter: none
  Return value: none

There are demo programs in the subdirectory of Delphi/VB/VC, which show how to 
call SoftDogSetup.dll to install device drivers. You may refer the samples to write your own 
installation program.  

		
----------------------------------------
Appendix B: Error code for SoftDogSetup.dll
----------------------------------------
	
 3001	Open driver service failed
 3002	Start driver service failed
 3003   Copy file failed
 3004   Operate registry failed
 3005	Unknown operating system
 3006   Stop driver failed
 3007   Uninstall driver failed, none of this type driver is installed
 3008	You are not administrator
 3009	Invalid service
 3010   Error in mapping system library function
 3011	Error in loading system library
 3012	No USB dog device is found
 3013	Update USB dog driver failed 
 3014   Remove file failed 
 3015	Another driver installing process is running
 3016	Another driver uninstalling process is running 
 3017   There is no Parallel Port or Parallel Port is disabled
