At Microsoft PDC 2008 the IIS team once again showed their commitment to moving the IIS Web Server platform to a whole new level. It seems that we get almost monthly updates to the IIS platform from Microsoft — that continues to add features that make IIS a viable alternative to Apache.
This latest release is the Web Deployment Tool that gives you the following abilities:
- Migrate and Synchronize Your IIS Servers – One of the biggest questions I see from developers and administrators on IIS 6 is how to get their sites and applications to IIS 7. This tool can help you prepare your current site to move to the new server, while warning you of potential issues before you encounter them during the transition.
- Package Web Applications – Ever setup your application and get it tuned to work perfectly in a test environment but then have to move everything to a different server and start the whole process over again? With the Web Deployment Tool you can package your applications and it will grab everything that is needed including registry keys, certificates, SQL Database and either store or move them to a different server with just a few clicks.
- Deploy Web Applications – Once your applications are packaged you can set them up to be deployed locally or remotely and even be configured so that non-administrators can deploy them, so you can offload some of the workload to site owners.
Please do note that this is a Beta release, and if you use it in a production environment you do so at your own risk as it may cause data loss and/or server crashes. You have been warned.
Now that this is out of the way, let’s take a look at what this tool looks like.
Installing Web Deployment Tool
First you need to go get the download for the tool — you can find the version you need at the following locations:
Once you have downloaded it let’s get started with the installation.
1. Double-click on the .msi package you downloaded.
2. The Web Deployment Tool Beta 2 Setup wizard will now start. Click on Next to move forward.
3. You will see the end-user license agreement and it will specify that this is a beta and you shouldn’t use it on a production environment.
Place a check next to I accept the terms in the License Agreement and then click Next.
4. Now you have the ability to choose your setup type, for this demo I am going to choose Complete to get all the options.
5. Go ahead and click on Install to start the installation.
6. After a few minutes you will see the completion page of the wizard; click Finish to close the wizard out.
Package a Website
To test the Web Deployment Tool I am using the same server I used to showcase the demo of Installing WordPress on IIS, and I’m going to package the WordPress site.
1. Click on Start, Administrative Tools, and Internet Information Services (IIS) Manager
2. If you go into that menu you will see Create a package; go ahead and click on that.
3. In the Create a Package screen you will see that you have options under the Package contains: window to see what is going to be included.
You also have the ability to include SQL database options by clicking at the bottom of the screen where it says Click here to add/remove database components from this package.
In this case it is a MySql database, so I won’t be migrating it — in this case just click Next.
4. At the next window you can specify any parameters that you might want to use for an application. In our case we are just going to click Next.
5. In the next window you will specify where you place the package file. In this case I am going to name it testpackage.zip and then click Next.
6. After a few seconds you will see the Installation package status window and hopefully it will say Success.
Go ahead and click Finish.
That is all there is to packaging a site up quickly.
Note that this was a very simple example just to give you an idea of what you can do, so make sure that you take a look at the tool to really get in depth with it.
Also remember you can use this tool to migrate your applications/sites from IIS 6 to IIS 7, but unfortunately because of the diverse nature of dependencies I am unable to really walk through this in an article.
For additional reading on this subject I would suggest: Migrate from IIS6 to IIS7.