We have a C# windows application that needs to be able to connect to a server on a network, download and save a file to a specified location.
We can not use a web service as we can not assume that our clients will have IIS on their server. 

The way that I am considering doing it is to FTP onto the server and download the file. I can write the code to connect to the server and located the file but I have 2 questions. 

1. Is there a way of using the windows credentials to FTP on to the remote server? (I understand that I cannot directly get the user's password).
2. Is there a better way of getting the file from a server other than ftp-ing on to it?

Thanks for the advice.