Windows インストーラー パッケージのカスタマイズ

Visual Studio の配置ツールを使用すると、インストール時に表示されるユーザー インターフェイス (UI) を制御できます。 ユーザーに情報を提示したり、ユーザーから情報を収集したりするように、インストール UI をカスタマイズできます。

インストーラー パッケージは、マージ モジュールとカスタム動作を使用してカスタマイズすることもできます。 マージ モジュールでは、共有コンポーネントを提供できます。カスタム動作では、インストールの終了時にコードを実行して、インストール中には処理できないアクションを実行できます。

インストール時のユーザー インターフェイス

表示されるダイアログ ボックスの指定やカスタマイズを行うには、ユーザー インターフェイス エディターを使用します。 各ユーザー インターフェイス ダイアログ ボックスは、インストール時に表示されるセットアップ ウィザードの各ページを表しています。

定義済みのさまざまなダイアログ ボックスをユーザー インターフェイス エディターで使用して、一般的なシナリオを扱うことができます。たとえば、ウィザードの目的を紹介する ([ようこそ] ダイアログ ボックス)、インストール ディレクトリをユーザーが指定できるようにする ([インストール フォルダー] ダイアログ ボックス)、インストールの進行状況を表示する ([進行状況] ダイアログ ボックス) などです。 さらに、さまざまなカスタム ダイアログ ボックスが用意されており、チェック ボックスやオプション ボタン、テキスト ボックスを使用して、選択項目を表示したり情報を収集したりすることができます。 詳細については、「方法 : ユーザー インターフェイス エディターでインストール ダイアログ ボックスを追加および削除する」を参照してください。

注意

Visual Studio のセットアップ プロジェクトと配置プロジェクトでは、カスタム ダイアログ ボックスなど、独自に作成するユーザー インターフェイス要素はサポートされません。 「インストール ダイアログ ボックスの制限事項」も参照してください。

各ユーザー インターフェイス ダイアログ ボックスには、それぞれの外観を制御するために使用できるプロパティがあります。 カスタム ダイアログ ボックスにはインストール時に評価できるプロパティがあり、条件を使用してインストール内容を変更します。 詳細については、「ユーザー インターフェイス エディターのプロパティ」を参照してください。

マージ モジュール

マージ モジュールには、.dll などのコンポーネントと共に、関連するファイル、リソース、レジストリ エントリ、およびセットアップ ロジックが収められています。 マージ モジュールを直接インストールすることはできません。 代わりに、モジュールをインストーラーにマージして、コンポーネントの機能をアプリケーションに提供します。

マージ モジュールに関する推奨事項

マージ モジュールは、修正および更新が困難になる場合があります。 マージ モジュールをセットアップ プロジェクトに組み込んだ場合、マージ モジュールを修正するには、その所有者とのやり取りが必要です。 また、マージ モジュールの所有者からエンド ユーザーのコンピューターに更新プログラムを直接送信することはできません。

別の方法として、セットアップに連結できる Windows インストーラーを使用することを検討してください。 詳細については、「アプリケーション配置の必要条件」を参照してください。

再ターゲット可能なマージ モジュール

既定では、マージ モジュール内のファイルは、モジュールの所有者が指定したフォルダーにインストールされます。 場合によっては、マージ モジュールの使用者がファイルのインストール先を決定できるようにすることがあります。 たとえば、マージ モジュール内のアセンブリを複数のアプリケーションで使用する場合、マージ モジュールの使用者は、アセンブリをグローバル アセンブリ キャッシュにインストールできます。それ以外の場合は、アセンブリをアプリケーション ディレクトリにインストールできます。

マージ モジュールの使用者がファイルのインストール先を別の場所に変更できるようにするには、ファイル システム エディター[モジュールの再ターゲット可能フォルダー] にファイルを配置します。 生成されるマージ モジュールが別の配置プロジェクトに追加されるとき、そのプロジェクトの作成者は、マージ モジュールによって公開される Module Retargetable Folder プロパティを設定することによって、ファイルのインストール先を選択できます。 Module Retargetable Folder プロパティは動的プロパティです。 このプロパティは、ソリューション エクスプローラーでマージ モジュールを選択すると、[プロパティ] ウィンドウの [KeyOutput] ノードの下にある [(MergeModuleProperties)] ノードに表示されます。

注意

ファイル システム エディター[モジュールの再ターゲット可能フォルダー] の名前を変更すると、プロパティの名前も変更されます。 [プロパティ] ウィンドウには、マージ モジュールがビルドされるまで、このプロパティが表示されません。

カスタム動作

カスタム動作では、インストールの終了時に .dll、.exe、アセンブリなどのコードを実行して、インストール中には処理できないアクションを実行できます。 たとえば、インストール時にターゲット コンピューターにローカル データベースを作成するには、データベースを作成して構成する実行可能ファイルを作成し、その実行可能ファイルをカスタム動作として配置プロジェクトに追加します。 詳細については、「チュートリアル : カスタム動作を使用して、インストール時にデータベースを作成する」を参照してください。

Visual Studio のカスタム動作エディターを使用すると、カスタム動作を追加したり、そのプロパティを配置プロジェクトに設定したりできます。 1 つの配置プロジェクトに複数のカスタム動作を追加できます。 詳細については、「方法 : カスタム動作エディターでカスタム動作を追加および削除する」を参照してください。

カスタム動作はインストールが完了した後で実行されるので、インストールの制御に使われるプロパティにはアクセスできません。 インストーラーからカスタム動作に情報を渡す必要がある場合は、CustomActionData プロパティを設定することで行うことができます。 詳細については、「チュートリアル : カスタム動作を使用した、インストール時のメッセージの表示」を参照してください。

ヒント

カスタム動作の実行が失敗すると、インストール全体がロールバックします。

さらに、Condition プロパティを使用することで、カスタム動作に条件を設定できます。 これにより、インストール時にターゲット コンピューターに存在する条件に基づいて、異なるカスタム動作を実行できます。 たとえば、ターゲット コンピューターのオペレーティング システムのバージョンに基づいて、異なるカスタム動作を実行できます。 詳細については、「Condition プロパティ」を参照してください。

カスタム動作に関する推奨事項

カスタム動作を使用すると柔軟なインストーラー パッケージを作成できますが、エンド ユーザーのコンピューターや構成の違いにより問題が発生する場合があります。 InstallUninstallRollbackCommit の各メソッドを実装するカスタム動作を作成する必要があります。 また、カスタム動作では、修復、移行、製品のアップグレード、製品のダウングレード、OS のアップグレード、OS のダウングレード、修正、参照カウントなどのシナリオに対応できる必要があります。

カスタム動作のガイドラインの詳細については、「Tao of the Windows Installer, Part 2 (Windows インストーラーの詳解、パート 2)」のルール 25 を参照してください。

条件付き配置

Visual Studio の配置機能の中で最も重要な機能の 1 つは、インストールに対して条件を設定する機能で、アプリケーションのインストール方法をカスタマイズできます。 条件付き配置を使用すると、オペレーティング システムのバージョンに基づいて異なるファイルをインストールしたり、既存のキーの値に基づいてレジストリの設定をカスタマイズしたり、依存アプリケーションがターゲット コンピューターにまだインストールされていない場合はインストールを中断したりすることができます。

Visual Studio の配置ツールがサポートする条件付き配置機能には、起動条件によるものと Condition プロパティによるものの 2 種類があります。

起動条件

起動条件は、ターゲット コンピューターの条件を評価し、条件が満たされていない場合はインストールを中止するために使用します。 起動条件を設定することで、オペレーティング システムのバージョン、ファイルの存在、レジストリの値、Window インストーラーのコンポーネント、共通言語ランタイム、インターネット インフォメーション サービスなどを確認できます。 起動条件は、起動条件エディターで指定します。 詳細については、「配置での起動条件の管理」を参照してください。

Condition プロパティ

ファイル、フォルダー、レジストリ エントリ、カスタム動作、または起動条件の Condition プロパティを使用して、Windows インストーラーが公開するプロパティやインストーラーの他の要素が設定したプロパティを評価します。 起動条件に対するカスタム プロパティは起動条件エディターで、カスタム フォルダーに対するカスタム プロパティはファイル システム エディターで、カスタム ダイアログ ボックスに対するカスタム プロパティはユーザー インターフェイス エディターで、それぞれ指定できます。 カスタム プロパティを指定するときは、名前が大文字を含んでいる必要があり、既存のプロパティまたは Windows インストーラーのプロパティの名前と衝突しない名前にする必要があります。

評価の対象となるプロパティは、インストーラー内の他の要素が公開する Property プロパティ (ファイル検索に対する Property プロパティなど)、または Windows インストーラーが公開するプロパティ (オペレーティング システムのバージョンなど) です。

詳細については、「Condition プロパティ」を参照してください。

条件の Boolean 演算子

Boolean 演算子を使用して複数のプロパティを評価できます。 詳細については、「Conditional Statement Syntax」を参照してください。

参照

概念

セットアップ/配置プロジェクト

その他の技術情報

Visual Studio インストーラーの配置