clsUpdate is a ActiveX EXE that can be called from an executable and used to download program updates from a remote FTP Server. You can download multiple files, supports closing and restarting the app, shows file progress stats, and because it is an ActiveX EXE, it can run without the calling app. The code has lots of commenting, so it should be easy to follow.