<< Back

FVSDK.dll and FtpTree.ocx

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.

Files

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
Yes
Application FTP Voyager SDK API
FtpTree.ocx
Yes
Windows System FTP client engine, wrapped by FVSDK.dll
FtpTreeRES.dll
Yes
Windows System Resource DLL for FtpTree.ocx, contains all user interface text, dialogs, icons, bitmaps, etc.
RhinoGUI.dll
Yes
Application User interface components used by FtpTree.ocx
RhinoRES.dll
Yes
Application User interface resources used by FVSDK.dll and FtpTree.ocx
libeay32.dll
No
Application SSL Library, required only if SSL or SSH is used
ssleay32.dll
No
Application SSL Library, required only if SSL or SSH is used
SftpDLL.dll
No
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
No
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
Yes
Application Microsoft Foundation Class library 8.0 (MFC)
MSVCP80.dll
Yes
Application Microsoft Visual C++ Runtime library 8.0
MSVCR80.dll
Yes
Application Microsoft Visual C++ Runtime library 8.0

SSL and zlib Compression

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.

Registering FtpTree.ocx with Windows

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

Unregistering FtpTree.ocx with Windows

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

Application Installation

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.

Application Uninstallation

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: