VS 2010 web Package
Introduction
Every web developer does deployment for his web application more times and sometimes we face problems. But these problems became very important as some enterprise environments needs to move across various environments before being deployed to a production Environment. A typical set of transition servers are development, testing/QA, staging/pre-production and production. Also on the production environment there are web farms where these webs need to be replicated
Actually any web deployment needs the following check list during deployment.
- Web Content (.aspx, .ascx, images, xml files, ..etc)
- IIS Settings (Directory browsing, Error pages, Default Documents etc)
- Databases that the web project uses
- GAC Assemblies and COM components which the web project depends upon
- Registry Settings that may be used within the web project
- Security Certificates
- App Pools
Today using VS 210 doing all these things is more or less a manual process and involves documentation that both developers and server admins have to deal with.
Web Package Steps
VS 2010 uses MSDeploy to create the web package from your web application. The package created by VS can be installed using UI in IIS Manager, we anticipate that developers eventually will give the web packages to server administrators who will be able to inspect/verify the package and then install them on the server. Now let us learn how to create a web package.
VS 2010 introduced one additional property page for WAPs (Web Application Projects) called “Publish” as shown below:
Step 1: Configuration
Note VS 2010 add new feature for configuration manager properties screen. if you need to learn about this click Here
Step 2: Items to Package/Publish
This section will help you decide what type of content you would really like to package/deploy.
Types of Files:
“All files in this project” and “All files in this project folder” options are very similar to what Publish WAP options were in VS 2008.
- Exclude Files from App_Data folder
“App_Data” folder is a special ASP.NET folder where many developers like to put their SQL Express DBs (.mdf/.ldf files), XML files and other content which they consider Data. In many situations on production web server a full version of SQL Server is available and using SQL Express is not all that relevant. In such scenario a user can check the “Exclude Files from App_Data”.
- Exclude Generated Debug Symbols
It is important to understand that generation of debug symbols is different from deployment of the same. This check box will tell VS 10 whether you would like to package/deploy the already generated Debug Symbols or not.
You can see the previous to options in the below image.
Let’s talk for a minute about debug symbol. If you would like to generate debug symbols for your application you can do so by going to the “Build” tab in the Property Pages and clicking “Advanced” bottom at the bottom. Here you will have different options for the level of debug symbols you would like to generate for your Web Application Projects (WAP) as shown below …
Step 3: Package Items
- IIS Settings
Checking this checkbox informs VS10 that you are ready to take all of your IIS Settings configured for your application in IIS Manager as a part of your web package. I am glad to tell you that IIS 5.1, IIS 6 as well as IIS 7 environments are supported as part of this feature hence whether you are working on XP, Win2K, Win2K3, Vista or Win2K8 you should have no issue with packaging IIS Settings…
This setting includes the “App Pool mapping” your web is configured to run against
- Additional Settings – The items in this grid are advanced properties. It is still good to know about this because it impacts what will be included in your package. Most of the properties in this grid are related to the entire server and not just to your application so you should use them very carefully.
You can see this two option in the below screen shot
- Create MSDeploy Package as a ZIP file
this checkbox allows you to decide whether you would like to create your web package as a .zip file or as a folder structure. If you are concerned about the size and are moving the web package around very often then I can see you using .zip format for the package. On the other hand if you care to compare two packages using diff then you can use the folder format. - Package Location – This is an important and required property as it defines the path at which Visual Studio will place your web package. If you choose to change this path make sure that you have write access to the location.
- Destination IIS Application Path/Name – This property allows you to give IIS Application name that you will use at the destination Web Server.
- Destination Application Physical Path – One of the most important information which is embedded inside the web package is the physical location where the package should be installed. This property allows you to pre-specify this embedded information. You will have an opportunity change both IIS Application Physical Path as well as Application Name at the time of deployment.
Last Step: Create the “Web Package”
- Right Click on your “Project”
- Click on Package –> Create Package
Once you click on this command you should start getting output messages around your package creation pumped into your output window…
When you see “Publish Succeeded” in the output window then your package is successfully created.
To access the package go to the location specified in the “Package Location” textbox.
Finally, you can also automate creation of web packages via your team build environment as everything discussed above is supported via MSBuild Tasks.
Hope this helps…
1 Comment »
Leave a comment
-
Archives
- June 2023 (1)
- April 2022 (2)
- May 2021 (1)
- September 2020 (1)
- August 2020 (1)
- July 2020 (2)
- March 2019 (1)
- June 2013 (1)
- May 2013 (3)
- March 2013 (1)
- February 2013 (1)
- September 2012 (2)
-
Categories
-
RSS
Entries RSS
Comments RSS
Thanks for sharing your post..I agree on your post..,.Every web developer does deployment for his web application more times and sometimes we face problems. But these problems became very important as some enterprise environments needs to move across various environments before being deployed to a production Environment.
Comment by Fun DJ's 4 U | April 9, 2011 |