ソリューションのインポート
[このトピックはプレリリース ドキュメントであり、変更されることがあります。]
この記事の手順を使用して、ソリューションを手動でインポートできます。 信頼できるソースから取得したソリューションのみをインポートする必要があります。
注意
- コンポーネントをインポートするには、作成権限が必要です。 システム カスタマー セキュリティ ロールには、一般的にインポートされるほとんどのコンポーネントに対する作成権限がありますが、デフォルトでは、プラグインアセンブリ テーブルに対する作成権限はありません。 システム管理者セキュリティ ロールには、この権限があります。
- 管理ソリューションをインポートすると、すべてのコンポーネントの変更が公開された状態で環境に反映されます。 ただし、アンマネージド ソリューションをインポートすると、変更は下書き状態でインポートされるため、アクティブにするには公開する必要があります。
- 組織に正常なアプリケーション ライフサイクル管理 (ALM) を実装するには、ソース管理システムを使用してソリューションを格納およびコラボレーションし、ソリューションのインポート プロセスを自動化することを検討してください。 詳細: Power Platform ALMガイドの ALMの基本。
アンマネージド ソリューションをインポートする場合:
- そのソリューションのすべてのコンポーネントを環境に追加し、ソリューションを削除してコンポーネントを削除することはできません。 アンマネージド ソリューションを削除すると、ソリューション コンテナーのみが削除されます。
- カスタマイズされたコンポーネントが含まれている場合、コンポーネントに対する既存のカスタマイズは、アンマネージド ソリューションのインポート後に上書きされます。 これを元に戻すことはできません。
ソリューションをインポートするには:
Power Apps にサインインし、左側のナビゲーションから ソリューション を選択します。
コマンド バーで インポート を選択します。

ソリューションのインポート ページで 参照 を選択して、インポートするソリューションが含まれている圧縮 (.zip または .cab) ファイルを見つけます。
次へ を選択します。
ソリューションについての情報が表示されます。 既定では、詳細設定 セクションで SDK メッセージとフローがソリューションに存在する場合、それらがインポートされます。 非アクティブな状態でインポートする場合は、ソリューションに含まれる SDK メッセージとフローを有効にする オプションを解除します。
ソリューションに 接続参照 が含まれている場合、必要な接続を選択するように求められます。 接続がまだ存在しない場合は、新しい接続を作成します。 次へ を選択します。
ソリューションに 環境変数 が含まれている場合、値を入力するように求められます。 ソリューションまたはターゲット環境に値がすでに存在する場合、この画面は表示されません。
ターゲット環境で不足している依存関係が検出された場合、依存関係のリストが表示されます。 必要なパッケージ バージョンをターゲット環境にインポートできる環境では、依存関係を解決するためのリンクが表示されます。 リンクを選択すると、Power Platform の管理センターに移動し、アプリケーションの更新をインストールすることができます。 アプリケーションの更新が完了したら、もう一度ソリューションのインポートを開始することができます。
インポート を選択します。
ソリューションはバックグラウンドでインポートされ、少し時間がかかる場合があります。
公開が必要な変更をインポートした場合、それらを使用可能にする前に、カスタマイズを公開する必要があります。
インポートに失敗した場合は、取得されたエラーまたは警告を示す通知がソリューション ページに表示されます。 インポートが失敗した原因に関する詳細をキャプチャするために、ログ ファイルのダウンロード を選択します。 インポートの失敗の最も一般的な原因は、ソリューションに必要なコンポーネントが含まれていなかったことです。
ログ ファイルをダウンロードするとき、Office Excel を使用して XML ファイルを開き、内容を表示します。
注意
ソリューション履歴 機能を使用して、ソリューションのインポートを含むすべてのソリューション操作の詳細を表示できます。 これらの操作を表示するには、ソリューション ページで 履歴を表示 を選択します。
ソリューション インポートのトラブルシューティング
管理ソリューションをインポートした後に作成されたアクティブなアンマネージド層があります
ソリューションのインポート中に、システムはテーブルのフォールバック フォームがあることを確認する必要があります。 この要件は、テーブルまたはフォームを作成するときに適用されます。 インポート中にテーブルにフォールバック フォームが指定されていない場合、インポートによってメイン フォームの 1 つにアンマネージド アクティブ レイヤーが作成され、アンマネージド カスタマイズによってフォームがフォールバック フォームとして示されます。 これにより、ユーザーは他のテーブル フォームにアクセスできないときにフォームを表示できます。 詳細: テーブルのフォールバック フォームを設定する
アンマネージド ソリューションをインポートした後、フォームがターゲット環境に表示されない
アンマネージド ソリューションのエクスポート中に、変更されていない一部のフォームは、ソリューション パッケージにある customizations.xml ファイルのフォーム XML の属性 unmodified=1 でエクスポートされます。 この属性は、ソリューション パッケージ内の customization.xml ファイルの FormXml ノードにあります。 この属性により、これらのフォームがエクスポートされるソリューションの一部であっても、同じソリューションが新しい環境にインポートされると、フォームはインポートから除外されます。 このシナリオを回避するには、フォームを unmodified=1 属性なしでエクスポートするためのアクティブなカスタマイズが必要です。 これを確認するには、エクスポートされたソリューション パッケージを抽出し、該当する FormXml ノードの customizations.xml ファイルを検索し、変更されていない属性を確認します。
Microsoft.Crm.CrmInvalidOperationException: full formXml は、ソリューションのインポート中にフォーム <formid> メッセージを作成することが想定されます
このエラーは、インポートするフォームがターゲット環境に存在せず、フォームが初めてインポートされるときに発生する可能性があります。 インポートするソリューションでは、完全なフォーム XML が必要な場合に、フォーム XML のフォーム変更 (差分) のみが行われます。 ソリューションは、フォームが環境にすでに存在し、変更をインポートする場合にのみ、差分フォーム XML をインポートする必要があります。 確認するには、ソリューションの customizations.xml ファイルを開き、エラー メッセージに表示されるフォーム ID を使用して FormXml ノードを検索します。 フォーム XML に solutionaction という名前の属性が含まれている場合、フォーム XML は差分です。 このシナリオを解決するには、フォーム XMLは完全なフォームXML である必要があり (solutionaction 属性を含めることはできません)、このフォームがアンマネージドとして作成されたインスタンスから取得できます。
Microsoft.Crm.CrmException: このフォームは 'table' テーブルに対する "メイン" の種類の唯一のフォールバック フォームであるため、削除できません。各エンティティには、ソリューションのアップグレードまたはアンインストール中に、フォームの各種類 のメッセージごとに少なくとも 1 つのフォールバック フォームが必要です
このエラーは、ソリューションのアップグレードまたはアンインストールがテーブルの最後の残りのフォームを削除しようとしたときに発生します。 この動作は仕様によるものです。 各テーブルは、有効なユーザーのフォームを表示できる必要があります。 したがって、少なくとも 1 つのフォームをフォールバック フォームとして指定する必要があります。 フォールバック フォームは、セキュリティ ロールにフォームが明示的に割り当てられていないユーザーが使用できます。 この問題を回避するには、テーブルのフォールバック フォームとして構成された一時フォームを作成してから、アップグレードまたはアンインストールを再試行します。 詳細: テーブルのフォールバック フォームを設定する
ソリューションのアンインストール時の システム内の他のコンポーネントから依存されているため、ソリューションを削除できません メッセージ
この問題は、ソリューションがレイヤー スタックでその上に他のソリューションから参照されるコンポーネントを含んでいる場合に発生する可能性があります。 この問題を解決するには、コンポーネントを削除するか、アンインストールしようとしているソリューションから依存関係を削除します。 詳細: 依存関係を削除する
アプリにアップデートをインポートした後、新しく追加されたコンポーネントはアプリに表示されません
ビューなどのコンポーネントを選択すると すべて を使用するモデル駆動型アプリの変更は、ターゲット環境のアプリに更新をインポートした後、反映されません。 これは次の条件が成り立つ場合に発生することがあります。
- 最初に選択しなかった すべて アプリ デザイナーで、コンポーネントを個別に選択しました。 たとえば、2 つのビューを選択し、アプリを管理ソリューションで開発環境からエクスポートして、テスト (ターゲット) 環境にインポートします。
- 次に、開発環境で同じアプリを使用して別のソリューションを作成しました。 アプリデザイナーですべてのビューを選択するために すべて を選択しました。 このソリューションは開発環境から管理対象としてエクスポートされ、テスト (ターゲット) 環境にインポートされます。
この動作を回避するには、すべてを選択するのではなく、手順 2 で説明した新しく追加されたビューなど、各コンポーネントを個別に選択します。
インポート後、ラベル テキストは追加の言語で表示されません
ソリューションをインポート後、ラベル テキストはその他の言語で表示されません。 この問題は、ターゲット環境で言語を有効にする 前 に、翻訳を含むソリューションをインポートするときに発生する可能性があります。
この問題を回避するには、必要な言語を有効にしてから、ソリューションを再度インポートします。 詳細情報: 言語を有効にする
ソリューションのインポート後にセキュリティ ロールを複製する
環境内に同じ名前のセキュリティ ロールが既に存在する場合に、Power Platform 管理センターでセキュリティ ロールを作成しようとすると、指定された名前のロールが既に存在し、ロールが作成されないというメッセージが表示されることに注意してください。 ただし、ソリューションのインポートによって、同じ名前の別のセキュリティ ロールが既に存在する環境にセキュリティ ロールをインポートすることは可能です。 この場合、同じ名前の両方のセキュリティ ロールが環境に存在するため、2 つのロールを区別することが難しくなります。
参照
ソリューションの更新
ソリューションのエクスポート
変更の公開
開発者向け : アンマネージド ソリューションの作成、エクスポート、インポート
注意
ドキュメントの言語設定についてお聞かせください。 簡単な調査を行います。 (この調査は英語です)
この調査には約 7 分かかります。 個人データは収集されません (プライバシー ステートメント)。
フィードバック
フィードバックの送信と表示