New Utility: WebDeploy
Updated: Please View this post for the latest version.
I've finally put the finishing touches on my pet project over the last few weeks, and have released it to the public. WebDeploy, is a small windows application that allows a developer to easily transfer files from one location to another based on extensions. The tool has become a major workhorse in my daily work routine of deploying web applications, in which I only want to copy over images, webforms, or assemblies.
![WebDeploy's main user interface.](http://www.eworldui.net/images/blog/WebDeploy1.gif)
As the above image shows, you define your source and destination folders by either typing the location or using the folder selection. The source and destination textboxes (and folder selection) allows you to choose any available directory, either on your hard drive or on a file share (you can use UNC paths). An easily available checked listbox to the right allows you to select extensions you wish to deploy at the current time. Further configuration of the application allows you to add/remove extensions, and also set your default selected extensions. When you're ready to deploy your files, you can:
1) Click the "Deploy" button
2) Click "Tools" -> "Deploy" in the file menu
3) Hit F5
![The configuration dialog for WebDeploy](http://www.eworldui.net/images/blog/WebDeploy2.gif)
The configuration dialog allows you customize WebDeploy to your needs. In it, you can add any number of extensions you wish to copy at some point or another. The left checked listbox allows you to choose your default selected extensions whenever the application loads. You also have the option to copy empty directories, auto-fill your last used directories (when the application starts), and backup destination files prior to deploying. The backup feature is really nice if you're copying a large amount of items, and you made a mistake. Just by clicking the "Deploy" button again, the files are restored to their original items.
![File Transfer Exceptions dialog for WebDeploy](http://www.eworldui.net/images/blog/WebDeploy3.gif)
The last dialog that is available, is an exceptions dialog. If for some reason any file cannot be copied due to a thread being aborted, the file is in accessible because its currently in use, or you don't have permission, the information is logged. The exceptions dialog will allow you view a listing of files and their exceptions for the last deployment during the current session.
I'm providing this application as freeware to anyone who wishes to use it, however source code is not available. I'm planning on advancing the application to allow deployment via FTP in future versions, so those of you (me included) that don't have local access to your webserver will not be out in the cold. I would also like to hear what else you wish to have included for WebDeploy. I want this application to grow as a normal staple of every developers tool box...it's already grown to be a major tool in mine.
If you wish to download WebDeploy, click here. You will need the .NET Framework 1.1.4322 to run WebDeploy.