2011-12-05 10 views
2

パッケージ作成者が別のパッケージ、つまりForms Renderingパッケージの依存関係を要求するか、必要な依存関係をインストールするのがベストプラクティスです。設定パッケージはPackage Creatorから入手できますが、パッケージに多数の設定項目がある場合は面倒です。パッケージ作成者 - 依存関係の要求

答えて

2

Composite C1 Package Creator(v.3.3)の現在のリリースには、UIで必要なパッケージを指定する機能がありません。私はあなたにこれのための機能要求を登録し、あなたの必要性を説明することをお勧めします。あなたはあなたがが、パッケージには、このチェックを追加することができますいくつかのC#の開発でカスタム検証ロジック

を書くhttp://compositec1.codeplex.com/workitem/list/basic

に「新規アイテムの作成」を使用することができます。 C1パッケージシステムは、インストール前に状態を検証し、インストール作業を行う 'インストーラプラグイン'に基づいています。このような 'インストーラプラグイン'を作成し、必要なC1パッケージの存在を検証して、プラグインをパッケージに関連付けることができます。

  1. (オーバーライドをインストール Composite.Core.PackageSystem.PackageFragmentInstallers.BasePackageFragmentInstaller

  2. から継承したクラスを作成します)と検証() - (検証にあなたの検証を置く)と1つ以上のPackageFragmentValidationResultがあなたの検証が失敗で返します。 Install()を単に返すようにしてください。

  3. ファイルinstall.xmlのパッケージに新しい「断片のインストーラ」クラスを登録する - ルート要素の内側に、このようなセクションを追加します。

    <mi:PackageFragmentInstallerBinaries> <mi:Add path="~/MyAssembly.dll"/> </mi:PackageFragmentInstallerBinaries>

    どこパスポイント、アセンブリにあなたがそれを追加としてジッパーに。既存の<PackageFragmentInstallers />要素内

  4. 、これをやって<mi:Add installerType="MyFragmentInstallers.MyValidator, MyFragmentInstallers"/>

のような要素を使用してBasePackageFragmentInstallerから継承するクラスへの呼び出しを追加した複合C1は、インストールパッケージの一部としてあなたのvalidate()メソッドを呼び出すようになります検証メッセージが返された場合にユーザーに警告します。

を使用すると、パッケージのIDを知っていれば、それはComposite.Core.PackageSystem.PackageManager.IsInstalled(Guid packageId)を使用してインストールされている場合、あなたは確認することができますパッケージがインストールされている場合

を検出します。

+0

迅速な対応をありがとう - 私のソリューションは私の目標には十分だと思います。 – Kevin

関連する問題