方法 : レジストリ起動条件を使用してターゲット ディレクトリを指定する
更新 : 2007 年 11 月
レジストリ起動条件を使うと、必要なレジストリ キーまたはレジストリ値を検索し、発見できない場合にエラー メッセージを表示できます。
レジストリ キーまたは値が存在するかどうかを検索するだけでなく、レジストリ検索を使うと、レジストリから値を取得できます。インストールのときに、取得した値を使ってインストーラのプロパティを設定できます。たとえば、Internet Explorer と同じディレクトリにファイルをインストールするとします。すべてのコンピュータで Internet Explorer が同じ場所にインストールされているとは限りませんが、Internet Explorer がインストールされている場所を示すレジストリ キーがあります。
レジストリ検索で一致するものが見つからないと (Internet Explorer がインストールされていない場合など)、インストールは失敗します。起動条件は、レジストリ検索から返る値を評価し、空白が返った場合は、エラー メッセージを表示します。
以下に示す例では、レジストリ検索を使って、ファイルのターゲット ディレクトリを決定しています。以下の 2 つの手順を実行してください。最初の手順では、レジストリ検索を起動条件として指定します。2 番目の手順では、レジストリ検索に基づいてファイルをインストールします。
メモ : |
---|
使用している設定またはエディションによっては、表示されるダイアログ ボックスやメニュー コマンドがヘルプに記載されている内容と異なる場合があります。設定を変更するには、[ツール] メニューの [設定のインポートとエクスポート] をクリックします。詳細については、「Visual Studio の設定」を参照してください。 |
レジストリ検索を起動条件として指定するには
[表示] メニューの [エディタ] をポイントし、[起動条件] をクリックします。
[ターゲット コンピュータ上の必要条件] ノードをクリックします。
[操作] メニューの [レジストリ起動条件の追加] をクリックします。
[RegistryEntry の検索] ノードをクリックします。[プロパティ] ウィンドウの Root プロパティをクリックし、検索するレジストリ ルートを選択します。
たとえば、Internet Explorer を検索するには [vsdrrHKLM] を選択します。これにより、HKEY_LOCAL_MACHINE ルートが検索されます。
RegKey プロパティを選択し、検索するレジストリ キーの名前を入力します。
たとえば、Internet Explorer を検索するには、「SOFTWARE\Microsoft\IE Setup\Setup」と入力します。
Value プロパティを選択し、検索するレジストリ値を入力します。
たとえば、Internet Explorer を検索するには、「Path」と入力します。
Property プロパティを選択し、プロパティのわかりやすい名前を入力します。
たとえば、Internet Explorer を検索する場合は、「SearchForIE」と入力します。
[条件] ノードを選択します。[プロパティ] ウィンドウの Condition プロパティを選択し、評価する条件の名前を入力します。この名前は、レジストリ検索に対して入力した Property プロパティと一致している必要があります。
たとえば、Internet Explorer の起動条件の場合は、「SearchForIE」と入力します。
レジストリ検索に基づいてファイルをインストールするには
[表示] メニューの [エディタ] をポイントし、[ファイル システム] をクリックします。
ファイル システム エディタで、[ターゲット コンピュータ上のファイル システム] ノードをクリックします。
[操作] メニューの [特別なフォルダの追加] をポイントし、[カスタム フォルダ] をクリックします。
[プロパティ] ウィンドウの DefaultLocation プロパティを選択し、場所を指定するプロパティを入力します。
たとえば、Internet Explorer の起動条件の場合は、「[SearchForIE]」と入力します (レジストリ検索に対する Property プロパティの値)。
メモ : Condition プロパティ以外のプロパティの中でプロパティを参照するときは、角かっこが必要です。
インストーラを実行すると、Property プロパティの値が評価されて、DefaultLocation プロパティに設定されます。ファイルは、この値で指定されている場所にインストールされます。