2010/03/23

[BizTalk2009]BtsTaskによるバッチ作成

btstaskはBizTalkアプリケーションのインストール等をコマンドライン上で行えるコマンドラインツールです。
以下に自分の使用例を書いときます。




バインド設定を省いたアプリケーションのmsiファイルを作成する方法

  1. アプリケーションネーム(ここではBizApp1とする)を指定し、リソースXMLファイルを作成する。
    btstask listapp -a:BizApp1 -r:BizApp1_Resource.xml


  2. BizApp1_Resource.xml 修正する。

    <Resources>タグ以下の
    <Resource Type="System.BizTalk:BizTalkBinding"
    で始まるタグを削除する。

  3. エクスポート実行
    btstask ExportApp -a:BizApp1 -p:<MsiFileName> -r:BizApp1_Resource.xml


  4. バインドファイルもエクスポート実行
    btstask ExportBindings -Destination:BindFile.xml -ApplicationName:BizApp1


バッチ例

msiファイルとバインド設定ファイルをエクスポートする

@setlocal
@echo off

echo ##################################
echo %DATE% %TIME% Running export.bat
echo ##################################

REM !!!!You edit this block!!!!
call :SUB BizApp1
call :SUB BizApp2
REM !!!!You edit this block!!!!

@endlocal
goto :EOF

:SUB

set APP_NAME=%1
set MSI_NAME="%~dp0%1.msi"
set XML_NAME="%~dp0%1.BindingInfo.xml"
set RES_NAME="%~dp0%1_Resource.xml"


REM #### Resource.xmlを指定して、エクスポートします。
btstask ExportApp -a:%APP_NAME% -p:%MSI_NAME% -r:%RES_NAME%

REM #### バインド設定xmlをエクスポートします。
btstask ExportBindings -Destination:%XML_NAME% -ApplicationName:%APP_NAME%


msiファイルからBizTalkアプリをインストールする

@setlocal
@echo off

echo ##################################
echo %DATE% %TIME% Running create.bat
echo ##################################

REM !!!!You edit here!!!!
call :SUB BizApp1
call :SUB BizApp2
REM !!!!You edit here!!!!

@endlocal
goto :EOF

:SUB
set MSI_NAME="%~dp0%1.msi"
set APP_NAME=%1

echo ##################################
echo %MSI_NAME% %APP_NAME%
echo ##################################

REM #### msiファイルをローカルに展開する。
msiexec /i %MSI_NAME% TARGETDIR="%cd%" /qn

REM #### BizTalk アプリを作る
BTSTask AddApp -ApplicationName:%APP_NAME%

REM #### BizTalk アプリの設定をインポートする
BTSTask ImportApp -Package:%MSI_NAME% -ApplicationName:%APP_NAME% -o


バインド設定をインポートする

@echo off
@setlocal

echo ##################################
echo %DATE% %TIME% Running importBindings.bat
echo ##################################

REM !!!!You edit here!!!!
call :SUB BizApp1
call :SUB BizApp2
REM !!!!You edit here!!!!

@endlocal
goto :EOF

:SUB
set XML_NAME="%~dp0%1.BindingInfo.xml"
set APP_NAME=%1
btstask ImportBindings -Source:%XML_NAME% -ApplicationName:%APP_NAME%


msiファイルを使った対象BizTalkアプリを削除する

@echo off
@setlocal

echo ##################################
echo %DATE% %TIME% Running remove.bat
echo ##################################

REM !!!!You edit here!!!!
call :SUB BizApp1
call :SUB BizApp2
REM !!!!You edit here!!!!

@endlocal
goto :EOF

:SUB
set APP_NAME=%1
set MSI_NAME="%~dp0%1.msi"

REM #### アプリケーションを削除します。
BTSTask RemoveApp -ApplicationName:%APP_NAME%
BTSTask UninstallApp -ApplicationName:%APP_NAME%

REM #### msiファイルを削除します
msiexec /x %MSI_NAME% /qb

0 件のコメント:

コメントを投稿