ラベル BizTalk2009 の投稿を表示しています。 すべての投稿を表示
ラベル BizTalk2009 の投稿を表示しています。 すべての投稿を表示

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

2010/02/28

[BizTalk2009]BizTalk2009プロジェクト管理にVSS2005を使うとエラーポップアップ!

VisualStudio2008でBizTalkServer2009のプロジェクトを作り、
管理をVSS2005でしていたところ、
開発メンバーからアップデート・チェックイン・チェックアウトが出来ないと苦情がきた。

エラー表示ポップアップが出るそうだ。

Error: Not Implemented
File: vsee\pkgs\vssprovider\csolutionnodebase.cpp
Line number:2111
ネットのフォーラムを漁ったところ、以下の記事を発見。

Error in Visual SourceSafe when checking in from Visual Studio 2008(@Microsoft Connect)

BizTalk Server 2009 プロジェクトを Visualk Studio 2008 で作成し、VSS2005でソース管理しようとした時に
よく起きるバグらしい。(勘弁してくれー)

回避策1:エラーポップアップを無視

エラーメッセージボックスのOKボタンを何度か押して消していると
モーダルが解けて後ろのボタンを押せるようになる。
押せば問題なく、チェックイン等のアクションが成功する。


回避策2:ツリービューをフラットビューに変更する。




どうやらツリービューの描画でエラーがおきているようだ。
とりあえずこうすることでポップアップが出る現象は回避できた。

ツリービュー or フラットビューの状態は各アクションごとに記憶されるので、
各アクション一度はフラットビューへの変更を行わないといけないが、
この方法が一番ストレスなくその後の作業に従事できるためオススメ。



しかし・・・
ほんとにコレでいいのか!BizTalkServer2009!

2010/02/19

[BizTalk2009]VisualStudio2008でBizTalk新規プロジェクトが作れなくなる。

BizTalk Server 2009 のプロジェクトをVisual Studio 2008 で作ってると
ある日突然新規プロジェクトを作成しようとしても、
Creating project 'project name'… project creation failed.
が返ってきて失敗してしまうようになる。


これはVisual Studio 2008 のバグである。
修正方法が以下のブログにあったので書き記しておく。


Visual Studio 2008 fails to Create new BizTalk projects
http://blogs.msdn.com/biztalkcrt/archive/2009/08/21/visual-studio-2008-fails-to-create-open-biztalk-projects.aspx


修正するにはレジストリの編集が必要になる。
レジストリはファイル名を指定して実行の欄で「regedit」と入力すれば編集出来る。


Visual Studio 2008 32bit の場合

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Projects\{FAE04EC0-301F-11d3-BF4B-00C04F79EFBC}]

の中の

"PossibleProjectExtensions"="csproj" を

"PossibleProjectExtensions"="csproj;btproj" に変更する。


Visual Studio 2008 64bit の場合

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Projects\{FAE04EC0-301F-11d3-BF4B-00C04F79EFBC}]

を上記32bitと同じように編集する。


まとめ

上記のレジストリキーはデフォルトでは "csproj" であり、
BizTalk2009のインストール時に "csproj;btproj" に変更されます。

ただし、Visual Studio側に何らかの更新(Windows Update等)が入ったタイミングで、
レジストリの値が元に戻されてしまうことがあります。

つまり、何度でもこの事態は起きるので、プロジェクトの新規生成でこけたら
とりあえずレジストリチェックを覗くようにしましょう。
(覗きたくないですね!)