Visual Studio がインストールされていない限り、VSPackage は機能できません。 Microsoft Windows インストーラーを使用して VSPackage のインストールを管理する場合は、Visual Studio がインストールされているかどうかを検出するようにインストーラーを構成できます。 また、特定のバージョンの Windows や特定の RAM など、他の要件をシステムで確認するように構成することもできます。
Visual Studio のエディションを検出する
Visual Studio のエディションがインストールされているかどうかを確認するには、次の表に示すように、 インストール レジストリ キーの値が (REG_DWORD) 1 の適切なフォルダーにあることを確認します。 Visual Studio エディションの階層は次の点に注意してください。
Enterprise
Professional
Community
新しいエディションがインストールされると、そのエディションのレジストリ キーと以前のエディションのレジストリ キーが追加されます。 つまり、Enterprise エディションがインストールされている場合、 Install キーは Enterprise の場合は 1 に設定され、Professional エディションと Community エディションの場合は 1 に設定されます。 そのため、必要な最新のエディションのみを確認する必要があります。
注
レジストリ エディターの 64 ビット バージョンでは、32 ビット キーが HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\の下に表示されます。 Visual Studio キーは HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\vs\Servicing\の下にあります。
| Product | Key |
|---|---|
| Visual Studio Enterprise 2015 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vs\Servicing\14.0\enterprise |
| Visual Studio Professional 2015 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vs\Servicing\14.0\professional |
| Visual Studio Community 2015 | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vs\Servicing\14.0\community |
| Visual Studio 2015 シェル (統合および分離) | HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\vs\Servicing\14.0\isoshell |
Visual Studio が実行されていることを検出する
VSPackage のインストール時に Visual Studio が実行されている場合、VSPackage を正しく登録できません。 インストーラーは、Visual Studio が実行されていることを検出し、プログラムのインストールを拒否する必要があります。 Windows インストーラーでは、テーブル エントリを使用してこのような検出を有効にすることはできません。 代わりに、カスタム アクションを作成する必要があります。 EnumProcesses 関数を使用して devenv.exe プロセスを検出し、起動条件で使用されるインストーラー プロパティを設定するか、Visual Studio を閉じるようユーザーに求めるダイアログ ボックスを条件付きで表示します。