I just had a problem getting files from an IBM FTP Server using default .NET WebClient. I think it was because the server didn't use slashes to separate folders, but appended the working directory to the filename like this: <working_directory>.filename. Hence I could not specify a path to the file, to pass on to WebClient, because without slashes I had an invalid URI. I needed to make an FTP Session to retrieve files. In other words, first login and then get file. I found your sample on how to use/call WinSCP through System.Diagnostics.Process, and I was up and running in a few hours. Thanks!