2011-02-05 5 views
7

私はBizTalkプロジェクトに取り組んでおり、インストール(ダブルクリック)とインポート(biztalk管理コンソールを使用)の両方の理由が理解できません。BizTalkではなぜMSIファイルがインポートされ、インストールされていますか?

私はBizTalkプロジェクトを持っており、そのリソースにバインディングを追加してmsiファイルをエクスポートしました。これで、別のサーバーにアプリケーションをインストールしたいと考えています。私の知る限り、これを言うことができるように

は、MSIがインストールするものですが行われます。GAC

    1. ファイルシステムにファイルをコピーします
    2. レジスタアセンブリは、追加/削除プログラムにアプリケーションを追加します。アプレット

    しかし、ここに私の問題は、次のとおりです。

    1. msiを使用してインストールすると、アプリケーションがBizTalk管理コンソールに追加されません。 msiをインポートする必要があります。
    2. msiを使用してアンインストールしても、アセンブリはGACから削除されません。ファイルシステムにコピーしたファイルのみを削除します。アンインストールでGACアセンブリも削除されますか?
    3. 私はMSIをインポートするだけで私のbiztalkアプリケーションを起動することができ、正常に動作しているようです。第1号と第2号と組み合わせると、MSIはなぜ必要なのですか?私はGACにそれを追加しないので、他のアプリケーションがそれに依存している場合、インポートは動作しません。

    msiで提供されている機能や設定が不足していますが、なぜmsiをインストールしてbiztalkにインポートする必要があるのか​​、そして、それがインストールされているすべて?

  • 答えて

    10

    BizTalkソリューションを展開するときは、2つの操作を実行する必要があります。

    なぜBizTalkソリューションを展開するのが2段階操作ですか?

    1. あなた溶液を含む

    システムファイルへのBizTalk工芸品や依存関係をインストールまず、のBizTalkアセンブリはのBizTalk管理に登録する必要がありますBizTalk管理データベースへのBizTalkソリューションを登録しますデータベース。これにより、BizTalkは、どのスキーマ、マップ、パイプライン、オーケストレーションが利用可能かを知ることができます。

    これは、WindowsインストーラパッケージをBizTalkにインポートすることによって行われます。

    典型的なBizTalkプラットフォームは通常、多くの物理サーバーで構成されています。ただし、BizTalk Groupのすべてのサーバーは、1つのBizTalk管理データベースを共有します。

    したがって、BizTalkグループ全体でインポート操作を1回実行する必要があります

    第2に、BizTalkに登録されているBizTalkアセンブリは、物理的にはに存在する必要があります。したがって、ファイルシステムにインストールする必要があります。

    これは、Windowsインストーラパッケージをダブルクリックして行います。

    お知らせそのインストール操作は、BizTalkグループの一部である任意の物理サーバに繰り返される必要があります。また、BizTalk管理データベースには、ソリューションの一部であるアセンブリが1つしかないため、BizTalkアセンブリをGAC(Global Assembly Cache)にインストールする必要がある理由が説明されています。 、これまでのところ、ルールは単純です

    お知らせ:

    • のBizTalkアセンブリは、BizTalkグループ
    • のBizTalkアセンブリ内の各サーバにGACにインストールする必要がありますがにインポート(または登録)する必要があります一度BizTalk管理データベース

    ただし、BizTalkアセンブリのみを扱っています。実行時にBizTalkソリューションが必要とする他のすべてのアセンブリまたはその他の依存関係(ビジネスルール定義、COMオブジェクト、バインディング、構成ファイルなど)は、この2段階操作ではカバーされません。

    インター環境展開

    溶液が実行されるときしかし、これらの依存性はまた、必要に応じて、それぞれのBizTalk Server上に存在しなければなりません。

    これらのアーティファクトのほとんどもBizTalk管理データベースに登録されています。しかし今度は、これは、BizTalkソリューション用のWindowsインストーラパッケージを作成し、その依存関係をターゲットサーバーに適切にインストールできるようにするために、依存関係が反映されるようにのみ実行されます。

    アンインストール時にBizTalkアセンブリがGACから削除されないのはなぜですか?

    一般的な経験則として、assemblies that are registered to the Global Assembly Cache are considered shared resourcesです。したがって、安全上の理由から、アンインストール時にBizTalkアセンブリはGACから削除されません。カスタムBizTalkパイプラインが複数のアプリケーションで使用されているときに何が起こるかを検討します。その場合、BizTalkパイプラインは、別の一般的なBizTalkアプリケーションの一部でなければなりません。このパイプラインに依存して他のすべてのアプリケーションを壊すこの共有のBizTalkアプリケーションを...アン

    adding resources to the BizTalk Management Databaseは、あなたがアセンブリが輸入でGACにインストールしたり時間をインストールする必要がありする選択肢を持っている

    。最も一般的なマルチサーバーBizTalkグループでは意味をなさない という "GacOnImport"機能を使用することを強くお勧めします。

    ただし、Windowsインストーラパッケージに関して、BizTalkアセンブリまたはその他の依存関係に対して行うことを簡単かつ柔軟にカスタマイズする方法があります。これはPre Processing and Post Processing Scriptsで行われます。

    これらのスクリプトを使用すると、インポート/インストール操作中に4つの特定の時刻に任意のアプリケーションを実行できます。

    をIntalling後

  • をインストールする前
  • をインポートした後
  • をインポートする前に

    • あなたはアセンブリがアンインストール時にGACから削除したい場合は、それはスケジュールの単純な問題です操作の「インストール前」フェーズ中に適切なコマンドラインを実行します。

  • 8

    MSIファイルをインポートすると、MSIのアセンブリがBizTalkデータベースに追加されます。あなたが述べたように、MSIを実行すると、アセンブリがGACに追加されます。両方とも、BizTalkアプリケーションを「インストール」する必要があります。 BizTalkアセンブリのみをBizTalk管理データベースにインポートする必要があります。 BizTalkで使用されるすべてのDLLは、GACに存在する必要があります。

    http://msdn.microsoft.com/en-us/library/aa578463(v=BTS.10).aspxを参照すると、BizTalkアプリケーションの各リソースのインストールとインポートの動作をカスタマイズできます。これにより、MSIをインポートするだけで、アセンブリをデータベースに追加してGACにもインストールできるようになり、[プログラムの追加と削除]に追加の混乱が生じません。

    インストールされているMSIをアンインストールするときにDLLがGACから削除されない理由については、これが仕様であることがわかります。 MSDN http://msdn.microsoft.com/en-us/library/aa562001(v=bts.10).aspxでこのページを見ると、この動作が期待どおりに行われていることがわかります。そのMSDNの記事には、GACからアセンブリを削除する方法のリンクも含まれています。これは、後処理スクリプトを使用してMSIのアンインストール時に実際にアセンブリをGACから削除する方法を説明しています。

    関連する問題