The Transfer Engine is a process, not a service. However, you can execute scripts while the system is not logged in if you properly configure Windows DCOM configuration for the Transfer Engine. Carefully read and follow the steps below. A sample script is provided.
1. Click Start.
2. Click Run.
3. Type DCOMCNFG and click OK.
4. Select TE from the list.
5. Click Properties.
6. Click the Identity tab.
7. You must select This user: and provide a valid login name and password. It must be the same user as established under your task scheduler's run as property (if applicable), so that the scheduler service can call the COM object as a user. This will enable the Transfer Engine to run with the user settings, and if necessary, access pre-established SSL certificates (for secure connections).
Screenshot of Identity tab
If the system is currently logged in when the TE is run, it will run as the user which you specified under DCOMCNFG. You will not see the TE icon in the system tray when running CuteFTP's main interface. Also, the hard coded user's settings are employed when the TE is run, not those of the currently logged in user. This won't be an issue if you are running the TE while the system is not logged in.
You should test your script from the command line while logged in. You can also write to the event viewer or a local text file to debug a script when run on system startup if necessary. Here is a sample script which includes event viewer logging of transactions.
Your script should not contain Message Box functions or any other function that requires user input or shows a window. Windows cannot display these prompts while the system is not logged in. Set your overwrite actions under CuteFTP’s global options to “Always Overwrite” to avoid any overwrite prompts, or pre-define various rules to cover various overwrite scenarios.
Const EVENT_SUCCESS = 0
Set objShell = Wscript.CreateObject("Wscript.Shell")
objShell.LogEvent EVENT_SUCCESS,"AT Loaded me"
Set MySite= CreateObject("CuteFTPPro.TEConnection")
MySite.Option ("ThrowError") = False
MySite.Host = "ftp://anonymous:user@user.com@ftp.globalscape.com/pub/cuteftp"
objShell.LogEvent EVENT_SUCCESS,"vars set"
MySite.Connect
objShell.LogEvent EVENT_SUCCESS, "connected"
MySite.Download "index.txt", "c:\temp"
objShell.LogEvent EVENT_SUCCESS, "downloaded"
MySite.Disconnect
MySite.Close
Screenshot of Event Viewer Application Log showing successful download