VSTO アドインのレジストリ エントリ

Visual Studio で作成した VSTO アドインを配置するときには、一連のレジストリ エントリを作成する必要があります。 それらのレジストリ エントリで指定する情報によって、Microsoft Office アプリケーションは VSTO アドインを検出し、読み込むことができます。

適用対象: このトピックの情報は、VSTO アドイン プロジェクトに適用されます。 詳細については、「Office アプリケーションおよびプロジェクトの種類別の使用可能な機能」を参照してください。

Note

複数のプラットフォームで Office エクスペリエンスを拡張するソリューションの開発に関心がありますか。 新しい Office アドイン モデルを確認してください。 Office アドインの占有領域は、VSTO アドインやソリューションと比較して小さく、その作成には、HTML5、JavaScript、CSS3、XML など、ほぼすべての Web プログラミング テクノロジを使用できます。

プロジェクトをビルドすると、Visual Studio によって開発用コンピューター上にレジストリ エントリが作成されます。 これにより、VSTO アドインを簡単に実行およびデバッグするのに役立ちます。 ClickOnce を使用して VSTO アドインを配置することにより、エンド ユーザーのコンピューター上にレジストリ エントリが自動的に作成されます。

Windows インストーラーを使用して VSTO ソリューションを配置する方法の詳細については、「Windows インストーラを使用した VSTO ソリューションの配置」を参照してください。

VSTO アドインの読み込みプロセス中にレジストリ エントリがどのように使用されるかについては、「 Architecture of VSTO Add-ins」を参照してください。

Note

このトピックでは、テキスト アドイン ID は VSTO アドインの一意の ID を表します。 既定では、この ID は VSTO アドイン アセンブリの名前です。

現在のユーザーとすべてのユーザー用の VSTO アドインの登録

VSTO アドインをインストールするときは、次の 2 つの方法で登録できます。

  • 現在のユーザーのみ (VSTO アドインは、アドインのインストール時にコンピューターにログオンしていたたユーザーのみが使用可能)。 この場合、レジストリ エントリは HKEY_CURRENT_USER の下に作成されます。

  • すべてのユーザー (コンピューターにサインインしたすべてのユーザーが VSTO アドインを使用可能)。 この場合、レジストリ エントリは HKEY_LOCAL_MACHINE の下に作成されます。

    Visual Studio を使用して作成したすべての VSTO アドインは、現在のユーザー用に登録できます。 ただし、特定のシナリオに限り、VSTO アドインをすべてのユーザー用に登録できます。 これらのシナリオは、コンピューター上の Microsoft Office のバージョン、および VSTO アドインの配置方法によって異なります。

デプロイの種類

ClickOnce を使用して VSTO アドインを配置する場合は、現在のユーザー用にのみ VSTO アドインを登録できます。 これは、ClickOnce が HKEY_CURRENT_USER の下でのキーの作成のみをサポートしているためです。 VSTO アドインをコンピューター上のすべてのユーザー用に登録する場合は、Windows インストーラーを使用して VSTO アドインを配置する必要があります。 これらの配置の種類の詳細については、「ClickOnce を使用して Office ソリューションを配置する」および Windows インストーラーを使用した Office ソリューションの配置に関するページを参照してください。

レジストリ エントリ

必要な VSTO アドインのレジストリ エントリは、次のレジストリ キーの下にあります。Root は、インストールが現在のユーザーとすべてのユーザーのどちらに対するものかに応じて、HKEY_CURRENT_USER または HKEY_LOCAL_MACHINE です。

Office アプリケーション 構成パス
Visio Root\Software\Microsoft\Visio\Addins\add-in ID
その他すべて Root\Software\Microsoft\Office\Office application name\Addins\add-in ID

Note

インストーラが 64 ビットの Windows 上のすべてのユーザーを対象としている場合は、HKEY_LOCAL_MACHINE\Software\Microsoft の下に 1 つ、HKEY_LOCAL_MACHINE\Software\WOW6432Node\Microsoft hive の下に 1 つの、2 つのレジストリ エントリを含めることをお勧めします。 これは、ユーザーがコンピューターで 32 ビットまたは 64 ビットのいずれかのバージョンの Office を使用できる可能性があるためです。

インストーラが現在のユーザーを対象としている場合は、HKEY_CURRENT_USER\Software パスが共有されているため、WOW6432Node にインストールする必要はありません。

詳細については、レジストリの 32 ビットおよび 64 ビットのアプリケーション データに関するページを参照してください。

このレジストリ キーの下にあるエントリを次の表に示します。

入力 Type
説明 REG_SZ 必須。 VSTO アドインの簡単な説明。

この説明は、ユーザーが Microsoft Office アプリケーションの [オプション] ダイアログ ボックスの [アドイン] ペインで VSTO アドインを選択したときに表示されます。
FriendlyName REG_SZ 必須。 Microsoft Office アプリケーションの [COM アドイン] ダイアログ ボックスに表示される、VSTO アドインの説明的な名前。 既定値は VSTO アドイン ID です。
LoadBehavior REG_DWORD 必須。 アプリケーションが VSTO アドインを読み込みを試行した時点と、VSTO アドインの現在の状態 (読み込まれているかアンロードされているか) を示す値。

このエントリの既定値は 3 です。これは、VSTO アドインが起動時に読み込まれたことを示します。 詳細については、「LoadBehavior の値」を参照してください。

注: ユーザーが VSTO アドインを無効にすると、その操作によって HKEY_CURRENT_USER レジストリ ハイブの LoadBehavior の値が変更されます。 各ユーザーに対して、HKEY_CURRENT_USER ハイブの LoadBehavior の値によって、HKEY_LOCAL_MACHINE ハイブで定義された既定の LoadBehavior がオーバーライドされます。
マニフェスト REG_SZ 必須。 VSTO アドインの配置マニフェストの完全なパス。 ローカル コンピューター上の場所、ネットワーク共有 (UNC)、Web サーバー (HTTP) のいずれかを指定できます。

Windows インストーラーを使用してソリューションを配置する場合、 マニフェスト パスにプレフィックス " file:/// " を追加する必要があります。 さらに、このパスの末尾に文字列 |vstolocal (つまり、パイプ文字 | の後に vstolocal と入力) を追加する必要があります。 これにより、ClickOnce キャッシュではなく、インストール フォルダーからソリューションが読み込まれます。 詳しくは、「Windows インストーラーを使用した Office ソリューションの配置」を参照してください。

注: 開発用コンピューターで VSTO アドインをビルドすると、Visual Studio によって文字列 |vstolocal が自動的にレジストリ エントリに追加されます。

Outlook フォーム領域のレジストリ エントリ

Outlook 用 VSTO アドインにカスタム フォーム領域を作成する場合は、フォーム領域を Outlook に登録するために追加のレジストリ エントリが使用されます。 これらのエントリは、フォーム領域がサポートするメッセージ クラスごとに異なるレジストリ キーの下に作成されます。 これらのレジストリ キーは次の場所にあります。RootHKEY_CURRENT_USER または HKEY_LOCAL_MACHINE です。

Root\Software\Microsoft\Office\Outlook\FormRegions\message class

すべての VSTO アドインで共有されるその他のレジストリ エントリと同様に、プロジェクトをビルドすると、Visual Studio によって開発用コンピューター上にフォーム領域レジストリ エントリが作成されます。 ClickOnce を使用して VSTO アドインを配置することにより、エンド ユーザーのコンピューター上にレジストリ エントリが自動的に作成されます。 Windows インストーラーを使用して VSTO アドインを配置する場合は、InstallShield Limited Edition プロジェクトを構成して、エンド ユーザーのコンピューター上にレジストリ エントリを作成する必要があります。

フォーム領域レジストリ エントリの詳細については、カスタム フォームでのフォーム領域の場所の指定に関するページを参照してください。 Outlook フォーム領域の詳細については、Outlook フォーム領域の作成に関するページを参照してください。

LoadBehavior 値

Root\Software\Microsoft\Office\application name\Addins\add-in ID キーの下にある LoadBehavior エントリには、VSTO アドインの実行時の動作を指定する値のビットごとの組み合わせが含まれています。 最下位のビット (値 0 および 1) は、VSTO アドインが現在アンロードされているか、または読み込み済みであるかを示します。 その他のビットは、アプリケーションが VSTO アドインを読み込もうとしていることを示します。

通常、VSTO アドインがエンド ユーザーのコンピューターにインストールされている場合は、LoadBehavior エントリは 10 進数の 0、3、または 16 に設定されます。 既定では、VSTO アドインをビルドまたは発行すると、Visual Studio によってアドインの LoadBehavior エントリが 3 に設定されます。

LoadBehavior エントリに指定できるすべての値を次の表に示します。 この表では、VSTO アドインを手動またはプログラムによって読み込む場合も示されています。 VSTO アドインを手動で読み込むには、アプリケーションの [COM アドイン] ダイアログ ボックスで、VSTO アドインの横にあるチェック ボックスをオンにします。 VSTO アドインをプログラムによって読み込むには、VSTO アドインを表す Connect オブジェクトの COMAddIn プロパティを true」を参照してください。

値 (10 進形式) VSTO アドインの状態 VSTO アドインの読み込み動作 説明
0 アンロードされました 自動的に読み込まない VSTO アプリケーションは自動的にアドインを読み込みません。 VSTO アドインを読み込むには、ユーザーが手動で読み込むか、またはプログラムによって読み込みます。

VSTO アドインの読み込みが成功した場合、 LoadBehavior の値は 0 のままですが、 [COM アドイン] ダイアログ ボックスの VSTO アドインの状態は更新されて、VSTO アドインが読み込み済みであることが示されます。
1 ロード済み 自動的に読み込まない VSTO アプリケーションは自動的にアドインを読み込みません。 VSTO アドインを読み込むには、ユーザーが手動で読み込むか、またはプログラムによって読み込みます。

アプリケーションの起動後、[COM アドイン] ダイアログ ボックスには VSTO アドインが読み込み済みであることが示されますが、手動またはプログラムによって読み込まれるまで VSTO アドインは読み込まれません。

VSTO アドインの読み込みが成功した場合、 LoadBehavior の値は 0 に変更されます。アプリケーションの終了後も 0 のままです。
2 アンロードされました スタート時に読み込む アプリケーションは自動的に VSTO アドインを読み込みません。 VSTO アドインを読み込むには、ユーザーが手動で読み込むか、またはプログラムによって読み込みます。

VSTO アドインの読み込みが成功した場合、 LoadBehavior の値は 3 に変更されます。アプリケーションの終了後も 3 のままです。
3 ロード済み スタート時に読み込む アプリケーションが起動時に VSTO アドインを読み込もうとします。 これは、Visual Studio で VSTO アドインをビルドまたは発行した場合の既定値です。

VSTO アドインの読み込みが成功した場合、 LoadBehavior の値は 3 のままです。 VSTO アドインの読み込み中にエラーが発生した場合、 LoadBehavior の値は 2 に変更されます。アプリケーションの終了後も 2 のままです。
8 アンロードされました 必要に応じて読み込む アプリケーションは自動的に VSTO アドインを読み込みません。 VSTO アドインを読み込むには、ユーザーが手動で読み込むか、またはプログラムによって読み込みます。

VSTO アドインの読み込みが成功した場合、 LoadBehavior の値は 9 に変更されます。
9 ロード済み 必要に応じて読み込む VSTO アドインは、アプリケーションで要求されたときにのみ読み込まれます。 VSTO アドインの機能を使用する UI 要素 (たとえば、リボンのカスタム ボタン) をユーザーが選択したときなど、です。

VSTO アドインの読み込みが成功した場合、 LoadBehavior の値は 9 のままですが、 [COM アドイン] ダイアログ ボックスの VSTO アドインの状態は更新されて、VSTO アドインが現在読み込み済みであることが示されます。 VSTO アドインの読み込み中にエラーが発生した場合は、 LoadBehavior の値が 8 に変更されます。
16 ロード済み 初回に読み込み、その後必要に応じて読み込む VSTO アドインを必要に応じて読み込む場合は、この値を設定します。 ユーザーが最初にアプリケーションを起動したときに、アプリケーションが VSTO アドインを読み込みます。 ユーザーが次にアプリケーションを実行したときには、VSTO アドインによって定義された UI 要素が読み込まれます。 ただし、VSTO アドインはユーザーが VSTO アドインに関連付けられた UI 要素を選択するまで読み込まれません。

VSTO アドインの最初の読み込みが成功した場合、VSTO アドインが読み込まれている間 LoadBehavior の値は 16 のままです。 アプリケーションの終了後、 LoadBehavior の値は 9 に変更されます。