Package Deployer と Windows PowerShell を使用したパッケージの展開

Microsoft Dynamics CRM Package Deployer は、管理者が環境でパッケージをデプロイできるようにします。

Note

Package Deployer は Dynamics 365 Customer Engagement (on-premises) の組織でも動作します。

「パッケージ」は、次の一部またはすべてで構成されます。

  • 1 つ以上のDataverseソリューション ファイル。

  • フラット ファイル、Configuration Migration ツールからエクスポートされたデータ ファイル。 Configuration Migration ツールの詳細については、「TechNet: 構成データの管理」を参照してください。

  • パッケージ中またはその後に実行できるカスタム コードは、環境に展開されます。

  • パッケージ展開プロセスの最初か最後に表示可能な、パッケージに固有の HTML コンテンツです。 これは、パッケージに展開されるソリューションおよびファイルの説明を提供するのに便利です。

    開発者は、Visual Studio でパッケージ展開テンプレートを使用して、パッケージを作成します。 詳細: Package Deployer のパッケージを作成する

    パッケージを作成したら、CRM Package Deployer を実行、またはツールの Windows PowerShell コマンドレットを使用して、パッケージを展開できます。

重要

運用組織でパッケージをインポートして実行する前に、運用組織の非運用組織ミラー イメージでパッケージをテストします。

パッケージを展開する前に、運用組織を必ずバックアップします。


Package Deployer ツールを使用してパッケージを配置する

以下の方法で、Package Deployer ツール (packagedeployer.exe) を使用してパッケージの配置をすることができます。

CRM Package Deployer tool を使用してパッケージの配置をする

コマンドラインでCRM Package Deployer ツールを使用する

Package Deployer ツール を使用してパッケージの配置をする

Package Deployer ツールで一度に1つまでのパッケージを処理することができます。 ただし、 Package Deployer ツールのディレクトリにある複数のパッケージから、展開をするパッケージを選択することができます。 ツール内の一部の画面と操作は、パッケージ定義に基づいて異なります。 Package Deployer ツールをインストールする必要はありません。 ダウンロードして実行するだけです。

  1. 展開するパッケージを取得します。 パッケージとは、Visual Studioプロジェクトフォルダ(<Project>\Bin\Debug) 内に作成されるファイルとフォルダの集まりで、Visual Studio 内にパッケージプロジェクトを構築する際に使用されます。 以下のものをプロジェクト デバッグ フォルダーからコピーします。

    • <PackageName> フォルダー: このフォルダーには、ソリューション、インポートの構成、およびパッケージのコンテンツが含まれています。

    • <PackageName>.dlll: アセンブリにはパッケージのコードが含まれています。 既定では、アセンブリ名は Visual Studio のプロジェクト名と同じです。

      Visual Studioを使用したパッケージ作成に関する詳細情報については、 Package Deployer ツールのパッケージを作成するを参照してください。

      このトピックでは、Visual Studio プロジェクト デバッグ フォルダー (<Project>\Bin\Debug) から、パッケージ フォルダーおよびアセンブリが c:\DeployPackage フォルダーにコピーされていることを前提とします。

  2. Package Deployer ツールを取得します。 Package Deployer ツールは NuGet パッケージとして提供されています。 Package Deployerを使用するには、nuget.exe.を使用してファイルをローカル コンピューターにダウンロードし、展開する必要があります。

    nuget.exehttps://www.nuget.org/downloads からダウンロードし、コンピューター d:\ に保存します。 その後、コマンド プロンプトで次のコマンドを実行し、パッケージの内容をコンピューター上のフォルダー (たとえば PD) に展開します。
    d:\nuget install Microsoft.CrmSdk.XrmTooling.PackageDeployment.Wpf -Version [VERSION] -O d:\PD

    Package Deployer ツールを展開した後、[ExtractedLocation]\tools フォルダーに移動して PackageDeployer.exe ファイルを見つけます。

  3. c:\DeployPackage フォルダーを参照し、パッケージ フォルダーとアセンブリを [ExtractedLocation]\tools フォルダーにコピーします。

  4. ファイルをコピーした後、[ExtractedLocation]\tools フォルダーの PackageDeployer.exe ファイルをダブルクリックして、ツールを実行します。

  5. ツールのメイン画面で続行をクリックします。

  6. Microsoft Dynamics 365 for Customer Engagement に接続 画面で、パッケージを展開する Dynamics 365 Server に接続するための認証の詳細を指定します。 組織が複数あり、パッケージを展開する組織を選択する場合、使用可能な組織の一覧を常に表示するチェック ボックスをオンにします。 ログインをクリックします。

  7. Dynamics 365 Server に複数の組織がある場合、接続する Dynamics 365 アプリ組織を選択します。

  8. 展開するパッケージを選択し、次へをクリックします。

    Package Deployer ツールでパッケージを選択します。

  9. 次の画面の指示に従い、パッケージの展開を完了します。

    画面は、展開用に選択したパッケージの定義に基づいて表示されます。 Package Deployer ツールを使用したエンドツーエンドのパッケージ展開については、Unified Service Desk パッケージの展開に関するトピックを参照してください: Package Deployer を使用した CRM Serve rへの Unified Service Desk アプリケーションのサンプル展開

コマンドラインでCRM Package Deployer ツールを使用する

システム管理者およびカスタマイザーは、地域言語コードなどのパラメーターをコマンドラインから packagedeployer.exe へ渡すことができます。 これらのパラメータを設定するには、コマンドラインで Package Deployer tツールを実行する必要があります。

Note

この機能は Dynamics CRM Online 2016 Update 0.1 で最初に導入されています。

使用できるパラメーターを次の表に示します。

パラメーター 説明設定 既定値
RuntimePackageSettings packagedeployer.exe に、LCID と SkipChecks などのコマンド ライン パラメータを受け入れるように指示します。 適用なし
LCID=localeID パッケージ内で利用可能なロケール ID から、英語 (米国) の場合は 1033、フランス語 (フランス) の場合は 1036 など、ロケール ID を指定します。 指定しない場合、既定の言語が使用されます。 既定の言語の使用
SkipChecks=true/false このパラメーターは、対象の環境に他のソリューションやカスタマイズが含まれていないときにだけ使用します。 [true] に設定すると、ソリューションのインポートがセキュリティ チェックをスキップします。これにより、インポートのパフォーマンスを向上させることができます。 False

次の例は、一部のセキュリティ チェックをスキップするように CRM Package Deployer に指示し、ポーランド語としてインポートするように言語を設定します。

packagedeployer.exe /Settings:"SkipChecks=true|lcid=1045"

Note

複数のパラメーターを使用してコマンド ラインで packagedeployer.exe を実行するとき、パラメーターを区切るパイプ文字 | を使用します。

packagedeployer.exe へと渡されるパラメータおよび値についての詳細は、 CRM のパッケージを作成するPackage Deployerを参照ください。

Windows PowerShell を使用してパッケージを展開

Package Deployer ツールは、パッケージを展開する際に Windows PowerShell にも対応しています。 詳細情報: パッケージ展開モジュールの使用を開始する

ログ ファイルを使用してパッケージ展開に関する問題のトラブルシューティングを行う

Package Deployer ツールはロギング サポートを提供しており、ツールを使用して Microsoft Dynamics 365 for Customer Engagement にサインインし、パッケージを展開した際に発生し得るエラーに関する詳細な情報を取得します。 既定では、ツールを実行したコンピュータ内の次の場所に3つのログファイルを生成します: c:\Users\<UserName>\AppData\Roaming\Microsoft\Microsoft Dynamics CRM Package Deployer\<Version>. 異なるフォルダーを指定するには、- LogWriteDirectory の PowerShell コマンドレット パラメーターを使用します。 詳細情報: パッケージを取得するコマンドレットの使用

  • Login_ErrorLog.log: ツールを使用して Dynamics 365 インスタンスにサインインするときに発生する問題に関する詳細を提供します。 サインイン時に問題がある場合は、ツールのログイン画面に、ログ ファイルへのリンクと共にメッセージが表示されます。 メッセージには、ログイン要求の処理中に発生したエラーが示され、ユーザーはエラー ログを表示できます。 メッセージ内のリンクをクリックすると、このログ ファイルを表示できます。 ログ ファイルは、最初にツールでサインインの問題が発生したときに作成されます。 その後、ログ ファイルは、サインインに関する問題が発生するときに、その情報を記録するために使用されます。

  • PackageDeployer.log: パッケージの展開時にツールで実行される各タスクに関する詳細情報を提供します。 画面の下部のログ ファイルの表示リンクをクリックすると、ツールからのログ ファイルを表示できます。

  • ComplexImportDetail.log: ツールを使用した最後の展開でインポートされたデータに関する詳細情報を提供します。 このツールを使用してパッケージを展開するたびに、ログ ファイルからの既存の詳細情報が、同じディレクトリにある ComplexImportDetail._old.log という名前のファイルに移動されます。ComplexImportDetail.log ファイルには、ツールを使用して行われる最新インポートの情報が表示されます。

パッケージを展開するためのベスト プラクティス

パッケージを展開するときに、Dynamics 365 管理者は、次を実行する必要があります:

  • アセンブリをソースまで追跡できるように、署名付きパッケージのアセンブリに要求します。

  • 運用環境サーバーで実行する前に、非実稼働インスタンス (可能であれば、実稼働インスタンスのミラー イメージ) でパッケージをテストします。

  • パッケージ展開前に、実稼働インスタンスをバックアップします。

関連項目

CRM Package Deployer のパッケージを作成する