web developer tips (46):使用Web Deployment Tool进行Web部署迁移

原文地址:that Web Deployment “migrate” operation is “sync” operation with all migration rules enabled

从IIS6 迁移一个应用或整个服务器到 IIS7,需要使用“msdeploy”命令行工具来完成迁移(migrate)。
例如,你可以在服务器上建一个“migration”的包,如下:
msdeploy -verb:sync -source:webserver60 -dest:package=c:\migratedServer.zip
迁移意味着移动更多组件,然后进行同步。有关使用 Web Deployment Tool 进行部署迁移请参阅:
Migrate from IIS 6.0 to IIS 7.0

同样的在C#里可以使用web部署的公用的APIs,你可以写C#进行同步(sync),只是需要启用所有的迁移规则。c#示例代码如下:
http://www.watch-life.net/visual-studio/web-deployment-migrate-operation.html


using System;
using Microsoft.Web.Deployment;
static class Program
{
static void Main()
{
DeploymentWellKnownProvider sourceProvider = DeploymentWellKnownProvider.WebServer60;
string sourcePath = "";     // no path needed for webserver providers
DeploymentBaseOptions sourceBaseOptions = new DeploymentBaseOptions();
/*
         * set base options for source object (webserver)
         */
DeploymentWellKnownProvider destinationProvider = DeploymentWellKnownProvider.Package;
string destinationPath = @"c:\migratedServer.zip";
DeploymentBaseOptions destinationBaseOptions = new DeploymentBaseOptions();
DeploymentSyncOptions destinationSyncOptions = new DeploymentSyncOptions();
// add all migration rules to sync options
DeploymentRuleCollection availableRules = DeploymentSyncOptions.GetAvailableRules();
foreach (DeploymentRule rule in availableRules)
{
if (rule.Name.Equals("MigrateGeneral") ||
rule.Name.Equals("MigrateDependencyCheck") ||
rule.Name.Equals("MigrateAnonymousUser"))
{
destinationSyncOptions.Rules.Add(rule);
}
}
/*
         * set other base and sync options for destination object (package)
         */
using (DeploymentObject deploymentObject = DeploymentManager.CreateObject
(
sourceProvider,
sourcePath,
sourceBaseOptions
))
{
deploymentObject.SyncTo
(
destinationProvider,
destinationPath,
destinationBaseOptions,
destinationSyncOptions
);
}
}
}

 

Web Deployment Tool 下载地址:
Web Deployment Tool 1.0 RC x86
Web Deployment Tool 1.0 RC x64

或者通过Web Platform Installer 下载

 

更多文章见:守望轩[http://www.watch-life.net/]

posted on 2009-09-11 01:25  xjb  阅读(467)  评论(0编辑  收藏  举报

导航