The FTP Voyager Software Development Kit is implemented primarily in two files: FVSDK.dll and FtpTree.ocx. FtpTree.ocx is the FtpTree ActiveX Control, which is the FTP engine for FTP Voyager. FVSDK.dll "wraps" the FtpTree ActiveX Control in an easy to use, yet very powerful API. The FTP Voyager SDK was developed from the stand point of FTP Voyager itself, using primarily the same options, names, and functionality provided by FTP Voyager.
The FTP Voyager SDK uses several files to perform the operations found in the API. The redistributable files are shown in the table below identifying whether or not the file is required, where the file should be installed, and a brief description of the file. With the exception of FtpTree.ocx and FtpTreeRES.dll, all files should be installed into the same directory as your application.
FtpTree.ocx is normally placed into the Windows System directory. Under Windows NT/2000/2003, this is normally C:\WINNT\System32. Under Windows XP and Vista it is C:\Windows\System32. Under Windows 98 and Me, it is C:\Windows\System.
NOTE: if your application's installation directory is your desired location for FtpTree.ocx you may create a "app.exe.local" file as suggested by Microsoft. For more information about this procedure, please view Microsoft's documentation found on their web site or in your development tools.
NOTE: Windows 95 is no longer supported due to several Microsoft changes to the MFC and runtime libraries.
File |
Required? |
Location |
Description |
| FVSDK.dll | Application | FTP Voyager SDK API | |
| FtpTree.ocx | Windows System | FTP client engine, wrapped by FVSDK.dll | |
| FtpTreeRES.dll | Windows System | Resource DLL for FtpTree.ocx, contains all user interface text, dialogs, icons, bitmaps, etc. | |
| RhinoGUI.dll | Application | User interface components used by FtpTree.ocx | |
| RhinoRES.dll | Application | User interface resources used by FVSDK.dll and FtpTree.ocx | |
| libeay32.dll | Application | SSL Library, required only if SSL or SSH is used | |
| ssleay32.dll | Application | SSL Library, required only if SSL or SSH is used | |
| SftpDLL.dll | Application | Please contact RhinoSoft.com at http://sdk.ftpvoyager.com/sales/ if SSH is required. SSH is an optional component to the FTP Voyager SDK. | |
| zlib1.dll | Application | Compression Library, required only if zlib compression is used (automatic detection of server compression support and its use are enabled by default in the FVSDK). | |
| MFC80.dll | Application | Microsoft Foundation Class library 8.0 (MFC) | |
| MSVCP80.dll | Application | Microsoft Visual C++ Runtime library 8.0 | |
| MSVCR80.dll | Application | Microsoft Visual C++ Runtime library 8.0 |
FTP Voyager is designed so that the SSL and zlib compression libraries are optional. If your application doesn't require SSL, SSH, or compression, simply exclude these DLL files from your installation build. If SSL and/or SSH is required for your application, include both libeay32.dll and ssleay32.dll in your installation by placing them in your install directory with your executable file. If zlib compression is desired, include zlib1.dll in your installation by placing it in your application install directory as well.
In order to use FtpTree ActiveX Control, Windows needs to know where FtpTree.ocx is located. This is done by registering FtpTree.ocx with Windows. When manually registering with Windows, the REGSVR32.EXE program can be used. When installing via an installation program or some other method, it's best to call DllRegisterServer() from FtpTree.ocx. To make this call, use LoadLibrary() to load the OCX, call GetProcAddress() to get the DllRegisterServer() function pointer, then call the DllRegisterServer() function. When complete, release FtpTree.ocx by calling FreeLibrary(). The following is a sample of how can be done using C++.
void RegisterFtpTree()
{
HINSTANCE hLib;
typedef BOOL (WINAPI* DllRegisterServer) ();
DllRegisterServer pfnDllRegisterServer;
// load FtpTree.ocx - when FtpTree.ocx is placed in the Windows System directory, no path is needed.
if (hLib = LoadLibrary("FtpTree.ocx")) {
// get the register function
if (pfnDllRegisterServer = (DllRegisterServer) GetProcAddress(hLib, "DllRegisterServer")) {
// register the DLL/OCX
(* pfnDllRegisterServer) ();
} // if
// release the library
FreeLibrary(hLib);
} // if
} // RegisterFtpTree
When uninstalling your application, FtpTree.ocx should also be "unregistered" with Windows. Like registering FtpTree.ocx with Windows, unregistering is a simple library call as outlined below.
void UnregisterFtpTree()
{
HINSTANCE hLib;
typedef BOOL (WINAPI* DllUnregisterServer) ();
DllUnregisterServer pfnDllUnregisterServer;
// load FtpTree.ocx - when FtpTree.ocx is placed in the Windows System directory, no path is needed.
if (hLib = LoadLibrary("FtpTree.ocx")) {
// get the unregister function
if (pfnDllUnregisterServer = (DllUnregisterServer) GetProcAddress(hLib, "DllUnregisterServer")) {
// unregister the DLL/OCX
(* pfnDllUnregisterServer) ();
} // if
// release the library
FreeLibrary(hLib);
} // if
} // UnregisterFtpTree
With the exception of FtpTree.ocx, all of the required files found in C:\Program Files\RhinoSoft.com\FVSDK\Redist should be installed with your application .EXE. Any optional libraries your application requires (zlib1.dll, etc.) should also be included. These files can also be placed in a directory found in the PATH environment variable. Normally, FtpTree.ocx is installed separately in the Windows System directory, but it can be installed elsewhere. However, it should be noted that all RhinoSoft.com software that uses FtpTree.ocx (FTP Voyager and AllegroSurf) installs to the Windows System directory. Installing in other locations could result in conflicts and could prevent your application or our applications from running correctly.
In order to help understand the installation process, we have included an Inno Setup installer script (Inno Setup is © Jordan Russell). Inno Setup is a top notch installer program provided for personal & commerical use free of charge. We have found this installer to be extremely easy to use, compact, and solid. If you deploy your application using Inno Setup, please be sure to give Jordan a donation as this is an extremely helpful program.
FtpTree ActiveX Control stores a variety of configuration values in the system registry. Upon uinstallation of your application using the FTP Voyager SDK or FtpTree ActiveX Control, additional registry cleanup may also be needed. Delete the following registry keys to complete uninstallation and cleanup: