Distributing and Licensing the Transfer Engine

If you have created a script or application that calls the TE, you may wish to distribute your script or application to a group of end-users.

CuteFTP's Transfer Engine (TE) is subject to End User License Agreement and can only be distributed in its current form (evaluation software). However you can purchase a license for and register the trial version of the TE on each computer you install it on.

Then, you must configure the TE so that it can run properly without the CuteFTP GUI (interface) installed, especially if you plan to run automated or scheduled tasks while not logged in, or if you plan to connect to SSL enabled FTP servers.

Contact Globalscape and request special licensing arrangements when distributing to large amounts of users.

Licensing - Steps to License the TE

  1. Determine how many copies (seats) you will need.

  2. Go to http://www.globalscape.com/cuteftppro.

  3. Click the Purchase link.

  4. Purchase one license for each seat you need. If you need to purchase a license to cover a large number of seats, please contact Globalscape support.

  5. Once registered, check your email for the serial number.

Licensing Considerations

  • The TE inherits its registration process from CuteFTP. If running on a system that has a registered copy of CuteFTP installed, you do not need to register the TE. If CuteFTP is not installed (or registered), you must register the TE.

  • The TE runs through a 30-day trial just like CuteFTP. Therefore, the TE may be distributed royalty-free with unlimited runtimes for 30 days from the time it is installed on an end-user's computer.

  • After residing 30 days on the target computer, it disables itself if not properly registered. The TE must be registered either prior to first launch, during the trial, or after the trial has expired.

  • When you purchase a license for CuteFTP you may NOT distribute CuteFTP or any of its sub-components (such as the Transfer Engine) in an unlimited royalty free fashion.

  • Each copy of the distributed Transfer Engine must be licensed for each computer where it is installed. This means you must purchase a full license of CuteFTP for each distributed copy of the TE.

  • You can purchase the necessary amount of licenses up front or after the TE has expired on the end-user computer. The benefit of licensing up front is that you can distribute the TE and register it on the end-user's computer. They will not see any prompts or registration related dialogs.

  • Once you have licensed the TE, you must install it (if not already installed) and then register it on each target computer.

  • You are not permitted to distribute the TE as a component of an FTP client or other product that competes with CuteFTP or Globalscape's EFT Server.

Installing the TE (for Distribution)

You do NOT need to install the full copy of CuteFTP on the end-user's computer. If you were distributing a custom-made application, this would not be the case.

Installation - Steps to Install the TE

  1. Locate the TE component (ftpte.exe), the End User License Agreement (license.txt), and the TE's subordinate dynamic link libraries (sftp21.dll, ssl.dll, etc.) and the resource file (default.lng) on your developer (source) computer.

  2. Package the TE along with the other items mentioned in step 1, along with your installation program, script, or executable.

For setting specific options only available through the GUI (that is, no property or method available), you can copy specific registry settings from the source computer to the destination. Most all settings are stored in the registry under the following hive:
HKEY_CURRENT_USER\Software\Globalscape\CuteFTP

Registering the TE (for distribution)

You can register the TE automatically or manually using the procedures below.

Automated Registration

The first method of registering the TE is the most efficient when dealing with a large amount of target systems, or when you do not have direct access to the target system. Your application installer or script can perform the steps below to register the TE transparently.

  1. Purchase a license for the number of TE seats that you want to distribute.

  2. Install a copy of the Transfer Engine and related components onto the target computer.

  3. Create a new registry key on the target computer at the following location: HKEY_USERS\.DEFAULT\Software\Globalscape\CuteFTP\Index

  4. Create a new string value in the key above and insert the serial number as the data value.

    String Value = "1"

    Data = "[Your Serial Number]"

  5. When the transfer engine is called for the first time, it retrieves this value (the serial number) and uses it to complete the registration with Globalscape.

The target computer must have access to the Internet. If no Internet access is available, the registration process may fail and disable the TE. The TE is automatically registered if it is installed onto a computer with a registered copy of CuteFTP. Keep in mind that the TE must be the same version as CuteFTP.

Manual Registration

If you have physical access to the target computer or want to register the copy installed on your developer computer, do the following:

  1. Right-click the TE icon in the system tray to display the context menu (while running, the TE is represented by a yellow folder icon with up and down arrows), then click Enter Serial Number.

  2. Paste or type the serial number, then click Register.

A message should appear declaring that the registration was successful. The TE can now be used on that computer without interruptions.

If you receive an error message, verify that the serial number was typed correctly and that the number of licensed computers does not exceed the licenses purchased. If all this is correct and you are still unable to register, contact the Globalscape support department and provide them with the exact details of the error received.

COM Registration of the TE (for Distribution)

As a typical COM component, the TE must be registered as such on the target system. The TE automatically performs COM registration if it has been manually executed prior to a script or application instantiating the TE object.

The preferred method (for distributed versions of the TE on end-user's systems) is to set the appropriate registry entries before trying to call the TE.

COM Registration via the Registry

From your installation program, script, or custom application, write the registry entries below to the target computer. The entries are shown in the standard .reg file notation.

Include the correct the path to the Transfer Engine (/[installpath]/ftpte.exe) where %MODULE% is shown below.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Classes\CuteFTPPro.TEConnection]

@="TEConnection Class"

[HKEY_CURRENT_USER\Software\Classes\CuteFTPPro.TEConnection\CLSID]

@="{112EA537-7AB9-4e22-8BFB-7FD5FCB19849}"

[HKEY_CURRENT_USER\Software\Classes\CuteFTPPro.TEConnection\CurVer]

@="CuteFTPPro.TEConnection.8"

[HKEY_CURRENT_USER\Software\Classes\CuteFTPPro.TEConnection.8]

@="TEConnection Class"

[HKEY_CURRENT_USER\Software\Classes\CuteFTPPro.TEConnection.8\CLSID]

@="{112EA537-7AB9-4e22-8BFB-7FD5FCB19849}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{112EA537-7AB9-4e22-8BFB-7FD5FCB19849}]

@="TEConnection Class"

"AppID"="{DA15006A-FADA-495b-9A0C-EC2107E2FB9F}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{112EA537-7AB9-4e22-8BFB-7FD5FCB19849}\LocalServer32]

@="\"C:\\Program Files\\Globalscape\\CuteFTP 8 Professional\\ftpte.exe\""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{112EA537-7AB9-4e22-8BFB-7FD5FCB19849}\ProgID]

@="CuteFTPPro.TEConnection.8"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{112EA537-7AB9-4e22-8BFB-7FD5FCB19849}\Programmable]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{112EA537-7AB9-4e22-8BFB-7FD5FCB19849}\TypeLib]

@="{1B04F22B-5012-432d-8EA0-B57DD75EBF9D}"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{112EA537-7AB9-4e22-8BFB-7FD5FCB19849}\VersionIndependentProgID]

@="CuteFTPPro.TEConnection"

Finalizing TE Distribution

Once the TE has been licensed, installed, registered, and COM registered on the target system, your script or custom application should be able to instantiate the TE object, and invoke any one of the supported methods or properties.

For a complete description of the TE, including its supported methods and properties, sample scripts and extended trouble shooting guide, please refer to the related topics in this user guide and our online knowledgebase.

Troubleshooting TE Distribution

Described below are some common issues encountered when distributing the TE.

Problems with running scripts while not loggedin (suppressing message prompts or dialogs)

Your script should not contain Message Box functions or any other function that requires user input or shows a dialog box. These prompts do not display when the system is not logged in.

You can physically suppress prompts from ever appearing. Use the –noprompts flag and execute the TE from the shell on the target computer before calling it from the script. For example, run c:\program files\mycustomapp\ftpte.exe – noprompts.

IMPORTANT: Suppressing prompts may cause lockups if no default action is available for the event in question, or if the prompt was produced by an error.

The best way to avoid prompts is to properly configure the TE ahead of time to cover all possible prompt scenarios, such as overwrite conditions, or SSL server certificate acceptance dialogs. For example, set your overwrite actions under CuteFTP's global settings to Always Overwrite to avoid any overwrite prompts, or pre-define various rules to cover various overwrite scenarios. You can then export those rules as registry entries and import them onto the target computer.

You can also tell the TE to auto-accept SSL or SSH certificates using the AutoCloseMethod parameter of the Option property. Also refer to the following trouble shooting topic regarding running the TE while not logged in.

Locked TE

If your script or application runs the TE and does not return control to the script, it is possible that the TE has locked. Before trying to troubleshoot the problem, make sure you exit the locked TE process using the Windows Task Manager (kill the ftpte.exe process).

If your script is connecting to an SSL enabled server, double check the steps listed under Handling SSL Certificates. The primary cause for a locked TE during an SSL connection is the fact that the TE could not locate the client or server certificate, or the client certificate does not reside in the server's trusted list.

An incorrect FTP host address or other common connection problem (host not available, connection refused, etc.) can lock up the TE. Verify that the host, proxy, socks, user, and password property value are correct.

The TE may also lock up if an improperly registered TE is launched and unsuccessfully tries to display the registration reminder (Web nag dialog).

Lastly, not properly configuring DCOM configuration for the TE to access the target user's settings may cause the TE to lock up.

If the system is currently logged in when the TE is run, it runs as the user specified under DCOMCNFG. The TE icon does not display in the system tray when the CuteFTP's main interface runs. Also, the hard coded user's settings are employed when the TE is run, not those of the currently logged in user. This is not an issue if you are running the TE when the system is not logged in.