1

我正在使用 BTSTask 和 BTSControl 在 BizTalk 2006 上进行一些部署操作。我们移至 BizTalk 2009,这些工具似乎不适用于 BT2009。BT2009有什么特定版本或新工具吗?

4

3 回答 3

1

相反,我会查看BizTalk 部署框架。它建立在 MSBuild 和 WIX 之上,可以做任何事情,从添加开发人员工具到快速部署用于开发的东西,再到通过 WIX 处理补丁。我强烈推荐它。

于 2010-12-31T01:45:28.300 回答
0

我没有使用 BTSTask 或 BTSControl 的个人经验,但实际上我已经能够使用 Team Foundation Server 在 BizTalk 2009 上取得巨大成功。我基本上遵循了下面概述的文章,然后从那里针对我自己的环境对其进行了定制:

BizTalk 2009 - 使用 Team Foundation Server 2008 构建和部署自动化 - 第 1 部分

于 2010-06-30T22:40:44.680 回答
0

我确实遇到了与 BizTalk 2009 相同的限制,但设法在 PowerShell 脚本中使用Microsoft.BizTalk.ExplorerOM解决了问题。

停止和启动 BizTalk 应用程序的示例

(在这篇关于 BizTalk Deployments with PowerShell 的优秀博文之后

param
(
    [switch] $start,
    [switch] $stop,
    [string] $appName,
    [string] $connectionstring
)


    function Stop-Application
    {
        $app = $catalog.Applications[$appName]

        if ($app -eq $null)
        {
            Write-Host "Application " $appName " not found" -fore Red
        }
        else
        {
            if ($app.Status -ne 2)
            {
                $null = $app.Stop(63)
                $null = $catalog.SaveChanges()
                $null = $catalog.Refresh()
                Write-Host "Stopped application: " $appName -fore Green
            }
            else
            {
                Write-Host "Application: " $appName " already stopped" -fore Yellow
            }
        }
    }


    function Start-Application
    {
        $app = $catalog.Applications[$appName]

        if ($app -eq $null)
        {
            Write-Host "Application " $appName " not found" -fore Red
        }
        else
        {
            if ($app.Status -eq 2)
            {
                $null = $app.Start(63)
                $null = $catalog.SaveChanges()
                $null = $catalog.Refresh()
                Write-Host "Started application: " $appName -fore Green
        }
        else
        {
            Write-Host "Application: " $appName " already started" -fore Yellow
        }
    }
}


$null = [System.Reflection.Assembly]::LoadWithPartialName("Microsoft.BizTalk.ExplorerOM")

$catalog = New-Object Microsoft.BizTalk.ExplorerOM.BtsCatalogExplorer
$catalog.ConnectionString = $connectionstring


if ($catalog.Applications -eq $null)
{
    Write-Host "Application catalog is empty" -fore Red
}


if ($start)
{
    Start-Application
}


if ($stop)
{
    Stop-Application
}

我们的 BizTalk 部署由 MSBuild、BTSTask 和 ExplorerOM 通过 PowerShell 驱动。我什至设法解决了部署其他程序集(或端口)所依赖的程序集时的问题。

于 2010-07-01T15:47:41.800 回答