Before we talk about the reasons why you should create a Web Package let us first understand what is a web package� Web Package is an atomic, transparent, self describing unit representing your web application which can be easily hydrated into any IIS Web server to reproduce your web� It is a .zip file which not only contains your content but also contains its dependencies like IIS Settings, Databases, GAC DLLs, Registry Keys etc�
The concept of creating Web Packages for deploying your web application to an IIS Web Server is recently introduced with Microsoft Web Deployment Tool (MsDeploy) and towards the end of this post I will talk about how you can create a Web Package for your web app� But before going there let me talk about the 10 reasons why you should consider creating web packages for your web application:
- Having all your web content and dependencies like IIS Settings & DB into a single .zip file allows you to easily transport it anywhere�
- If the web package actually contains source code then you can replicate your dev environment to another box relatively easily� Imagine being able to recreate a project on your home machine by simply emailing yourself a .zip file�
- If you are deploying in a web farm environment then deploying the web package to various server boxes will allow you to very easily recreate your load balanced web servers�
- If you are creating software for community to use then sharing web package .zip files with world creates a common handshake model�
- Web Application Gallery, which will be common home to find reusable Web Applications also uses the same Web Package format� So you will have an opportunity to put up your web app into Web Application Gallery if you create a Web Package�
- Most of the Package creation process is very automated so you do not need to write custom actions like you would have to do in case of MSIs�
- Creation of Web Packages can be automated along with your nightly builds really easily using MsBuild with systems like Team Build�
- You can create a web package for various versions of your web application and easily use the versioned packages to roll back to any version you like�
- You get free standardized UI to install the Web Packages in IIS Manager which hopefully will become pretty standard and easy for everyone to understand� If you do not like to use the UI the package can be installed via commandline as well�:-)
- Most of the automated tools (providers) required for packaging your web application and its dependencies are available out of the box (few of which are IIS Settings, SQL DBs, Web Content, GAC assemblies, COM components, Registry keys etc)�
Finally let me mention the out of the box providers which can be invoked when you want to package your web application� You actually have a choice to call any of these providers depending on what parts of your Web Application you like to be packaged� These are my other +20 reasons why you should create a web package�
- File System Directory to move a files & folder which contains your web application files like .aspx, .config, images, .js, .css, .master etc � contentPath
- Creating a new IIS Web Application for your web� iisApp
- Moving IIS7 and above (read Vista, Win2k8, Win7, Win2k8 R2 and above) Configuration Settings associated with your web (e.g. Default Document, ApplicationPool Mapping etc) � appHostConfig
- IIS5.1 & 6 (read XP, Win2K3 compatibility) Metabase Configuration Settings (parallel to IIS7+ settings above) - metakey
- Pulling data & schema from existing SQL Server Database or custom generated .SQL files which your web uses� dbfullSQL
- Any Security Certificates (e.g. SSL & ClientAuth) that your web depends upon- cert
- Any GACed assemblies like 3rd party controls or libraries that your web uses � gacAssembly
- Any custom IIS7+ Application Pool that your web has created� appPoolConfig
- Registry key associated with your webs � regkey
- 32 bit COM Object � comObject32
- 64 bit COM Object � comObject64
- Security ACLs associated with folder � setAcl
- Granular control by pulling just a registry value - regValue
- ASP.NET root web configuration file on 32 bit machine � rootWebConfig32
- ASP.NET root web configuration file on 64 bit machine � rootWebConfig64
- Similar type of support for packaging MySQL DB � dbMySQL
- Packaging Machine.Config of 32 bit machine � machineConfig32
- Packaging Machine.Config of 64 bit machine � machineConfig64
- If there is still a provider missing then you can very easily create one � yourCustomProvider
- A secret provider which I am not allowed to talk about just yet :-), but trust me it is really a killer provider - secretProvider
So now that you have 10 +20 reasons to create a web package let us talk about how to create one� From end developer/IT pro standpoint you can create Web Packages from various different avenues, some of which are:
- Web Packaging from VS 2010 UI
- Web Packaging from MsBuild in VS 2010
- Web Packaging from CommandLine
- Web Packaging from PowerShell
- Web Packaging from IIS Manager
Please follow the links above to create a web package using your preferred method� I hope you are jazzed about being able to archive and deploy your web applications using Web Packaging�
Update Contact :
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email : Fajarudinsidik@gmail.com
No Wa/Telepon (puat) : 085267792168
No Wa/Telepon (fajar) : 085369237896
Email: Fajarudinsidik@gmail.com
atau Kirimkan Private messanger melalui email dengan klik tombol order dibawah ini :