2

VisualStudioを使用して非常に基本的な「セットアップと展開」プロジェクトを作成しようとしています。私が欲しいのは、インストールするコンポーネントを選択する機能です。各コンポーネントが単一のクラスライブラリのプライマリ出力で構成されているとしましょう(つまり、各コンポーネントは実際には単一のモジュールまたはコンパイルされたアセンブリです)。

利用可能なダイアログの標準セットでそのようなオプションを見たことがありません。しかし、少しの努力で、どういうわけかカスタムダイアログを作成できることを私は見ました。

  • セットアップおよび展開プロジェクトの一部として使用可能なコンポーネントをプログラムで検出するにはどうすればよいですか?(つまり、インストールからコンポーネントを追加または削除する場合でも、プロジェクトを機能させたい)

  • 使用可能なコンポーネントのリストを表示するカスタムダイアログを拡張または作成するにはどうすればよいですか?

  • エンドユーザーがインストールを選択したコンポーネントを検出するにはどうすればよいですか?

私はOrca、.msiファイルを操作するツール、およびInstallShieldのような本格的なインストーラーアプリケーションにある程度精通していますが、生のVisualStudioと他の利用可能なオープンソースツールのみを使用してこれを作成したいと思います。

ご協力いただきありがとうございます。

4

1 に答える 1

2

VDP(Visual studio Deployment Project)は、この種のものには適していません(読む:代わりにWixを使用してください):

  1. (実行時にこれが必要だと思います)MsiQueryComponentStateを使用できますが、そのためには、VDPでは制御できないコンポーネントGUIDを渡す必要があります。
  2. これは、VDP以外のすべてのものと一緒に箱から出てきます。
  3. (セットアップ時にこれが必要だと思います...)コンポーネントのインストール状態に基づいてカスタムアクションを実行するためにConditionを使用できます。VDPでは、コンポーネントIDを制御できません(混同しないでください)。コンポーネント条件を実行するために必要なコンポーネントGUID)。
于 2009-05-17T16:36:24.023 に答える