Partager via


Dynamics CRM 2011: Solution Down Level Utility

みなさん、こんにちは。

今日は開発者の方向けの情報として、SDK 5.0.14 で提供された
Solution Down-Level Utility を紹介します。

Prepare a Solution that is Backward Compatible with Earlier Releases of Microsoft Dynamics CRM
https://msdn.microsoft.com/ja-jp/library/jj945276.aspx

背景

Microsoft Dynamics CRM 2011 のソリューションはポータブルで
適用されている Update Rollup に極力依存しないように設計が
されていますが、Update Rollup 12、および 2012 年 12 月
サービスアップデートでは、システムで大幅な変更が入った
ため、それらの環境のソリューションを Update Rollup 11 以下の
環境に移すことが困難になりました。

Solution Down-Level Utility を利用することで、Update Rollup 6
以上、Update Rollup 12 未満の環境へそれらのソリューションを
移すことが可能となります。

ただし、こちらのツールは Web リソース内のカスタムコードに
関しては対応しておりません。例えば Update Rollup 8 で提供
された Xrm.Utility や Update Rollup 12 で提供された getClientUrl
関数を Update Rollup 6 で利用できるように変換しません。

ツールを利用する場面

Update Rollup 12 以上が適用された環境、または 2012 年 12 月
サービスアップデートが適用済みの環境からエクスポートした
ソリューションを、Update Rollup 6 レベルの組織にインポートする
場合に利用します。

ただし上記注意にあるとおり、特定の Update Rollup で提供された
SDK を利用している場合には、利用できません。

ツールの利用方法

ツールは SDK に含まれており、コマンドプロンプトで実行します。
以下の手順で実行します。

1. コマンドプロンプトを開き、SDK\bin フォルダに移動します。

2. 必要な引数を指定して SolutionDownLevelUtility.exe を実行します。

引数:
/baseurl または /b  必須
ソリューションをエクスポートする組織のアドレス
/solution または /s 必須
エクスポートするソリューション名
/managed[+][-] または /m[+][-]  必須
マネージドとしてエクスポートする場合は +、アンマネージドなら -
/file または /f 
エクスポートするソリューションから排除した要素を記録するファイル名
ComponentsToRemove.xml が既定
/user または /u  必須
組織に接続するユーザー情報
/pass または /p
ユーザーのパスワード。省略すると実行時に聞かれる
/homerealm または /h
IFD の場合に HomeRealm を指定
@file
パラメーターをファイルに保存しておき、構成情報として読み込めます。

例) アジア環境で組織名が crm2011training であり、MySolution
ソリューションをアンマネージドとしてエクスポートする場合

>solutiondownlevelutility.exe /b:https://crm2011training.crm5.dynamics.com
/s:MySolution  /m:- /u:administrator@crm2011training.onmicrosoft.com

ツールの実行詳細はすべて画面に出力さえるため、どの
要素が削除されたかを見ることが出来ます。また出力された
ComponentsToRemove.xml でも確認可能です。

- Dynamics CRM サポート 中村 憲一郎