Announcing Web Deploy 3.0 Release Candidate!
We are happy to announce that we have just released the Release Candidate for Web Deploy 3.0. You can download the x86 or x64 versions.
If you are new to Web Deploy, Please read our Introduction to Web Deploy tutorial. Currently Web Deploy RC is only available through direct download. We are still working on WebPI feed. Easiest way to install V3 RC is to first install Web Deploy V3 Beta using WebPI 4 beta (x86/x64) as instructed in Installing & Configuring Web Deploy tutorial, and later update it using RC setup. Web Deploy 3.0 beta will be upgrade to the RC version, and this V3 will continue to live side-by-side with Web Deploy 2.0 & Web Deploy 1.1.
Here's a rundown of new features:
1. Publishing & Migration to IIS8
You must have heard about our latest & greatest server release Windows Server 8 Beta. It comes with IIS8 which has lots of cool new features. To take advantage of these features, you might be thinking about migration strategy from your existing IIS Servers. Web Deploy 3.0 fully supports migrating to IIS8 from IIS 6, IIS7 and IIS7.5. Please follow our documentation walkthrough on migration
Publishing experience for IIS8 is no different than publishing to IIS7, you can learn more about publishing in our tutorial "Testing Web Deploy Publishing From Visual Studio 2010 and WebMatrix."
Note that WebMatrix 2.0 and Visual Studio 11 are still in beta and they shipped with beta version of Web Deploy 3.0. Web Deploy team has not done extensive testing of compatibility between beta versions of these products with RC version of Web Deploy 3.0, so we would recommend you to wait for WebMatrix and Visual Studio teams to release post beta builds if you are planning to do anything more than just testing out new features of Web Deploy 3.0 in test environments.
2. Automatic Backup
One of the common feedback we received that customers often make mistakes while publishing changes to websites. This is especially true for amateur developers and small business owners. It is very hard to recover from these mistakes. In Web Deploy V3 RC we are introducing new feature "Automatic Backup" which will allow server administrators to configure servers in such a way that each publish will automatically generate a backup and store it on server. If you need to roll back or go to a previous version, you will be able to do it without involving server administrator.
You can learn more about this feature in our "Automatic Backups" Tutorial. Please do provide your feedback on this brand new feature!
3. PowerShell Cmdlets
Web Deploy command line is very versatile which also makes it equally complex. Based on your feedback, team has invested into PowerShell Cmdlets for common Web Deploy tasks. We are releasing more than 20 PowerShell Cmdlets in this release for very first time.
Powershell cmdlets includes help description as part of cmdlets themselves. More details are provided in "PowerShell Cmdlets" tutorial.
4. Improved parameterization
Web Deploy supports parameterization of publish settings during deployment time. To learn more read Web Deploy parameterization.
Earlier versions of Web Deploy only supported replacing attribute values which already existed as part of the package. We have added support for
- Extend the current xml parameterization beyond attribute value replacements to a more complete xml modification story by allowing addition/deletion/replacement of new elements.
- Accept the replacement data for parameters to come from the server, from the package itself or from the source.
Here is one example of a parameters.xml file which will add newNode to all nodes including the root in target xml file.
<parameters>
<parameter name="Additive" description="Add a node" defaultValue="<newNode />" tags="">
<parameterEntry kind="XmlFile" scope=".*" match="//*" />
</parameter>
</parameters>
Below are some examples which demonstrate how to get the values from other places
Get values from remote server:
<parameter name="Replacement Param" defaultValue="\\myshare\share\web.config:://connectionStrings" >”
<parameterEntry kind="XMLFILE" scope="web\.config$" match="//connectionStrings" />
</parameter>
Get values from a file in the package that is being synced:
<parameter name="Replacement Param" defaultValue="\web.config:://connectionStrings" >”
<parameterEntry kind="XMLFILE" scope="web\.config$" match="//connectionStrings" />
</parameter>
More details about parameters.xml file can be found here
5. ApphostAuthOverride Provider
This is a new Web Deploy provider which will provide support for changing authentication mode for a given website. Many a times in enterprise environments applications want to choose their own authentication method using web.config file, but AppHostConfig file locks this setting. This means that if a developer tries to set his/her site's authentication settings, IIS will not obey it. The Application Host Authentication Override provider allows developers to configure how IIS locks an authentication setting on the server by adding a <location> tag for that setting within the server's applicationHost.config file. Here is an example of what that looks like in config:
<location path="siteName" overrideMode="Allow">
<system.webServer>
<security>
<authentication>
<windowsAuthentication />
</authentication>
</security>
</system.webServer>
</location>
Here is a few command line examples of how this could be done (msdeploy.exe is located under "%programfiles%\IIS\Microsoft Web Deploy V3"):
· Allow Windows Authentication on Destination at site = SiteName:
msdeploy.exe -source:ApphostAuthOverride -dest:ApphostauthOverride="<siteName>;windowsAuthentication=Allow"· Allow ASP.Net Forms Authentication on Destination at site = SiteName:
msdeploy.exe -source:ApphostAuthOverride -dest:ApphostauthOverride="<siteName>;aspNetAuthentication=Allow"· Deny Anonymous Authentication on Destination at site = SiteName:
msdeploy.exe -source:ApphostAuthOverride -dest:ApphostauthOverride="<siteName>;anonymousAuthentication=Deny"
· Reset Windows Authentication Setting on Destination at site = SiteName:
msdeploy.exe -dest:ApphostAuthOverride="<siteName>;windowsAuthentication"Please note the sytax carefully, both <sitename" and authentication setting are part of -dest:ApphostAuthOverride value.
6. Others
Apart from these new features there are many bug fixes in the release. Please follow ReadMe file for more details.