Visual Studio のエンタープライズ展開に既定値を設定する

Visual Studio の展開と更新に影響するレジストリ ポリシーを設定することができます。 これらのポリシーはクライアント コンピューター上でグローバルであり、次の影響を受けます。

  • 他のバージョンまたはインスタンスと共有されているパッケージがいくつかインストールされている場合。
  • パッケージのキャッシュ場所とキャッシュされているかどうか
  • 管理者の更新プログラムを有効にする必要があるかどうか、およびその適用方法。
  • 使用可能な更新チャネルと、クライアントに表示される方法。
  • 通知の表示または非表示。

これらのポリシーを設定するには、クライアント コンピューターでコマンド ライン オプションを使用するか、クライアント コンピューターでレジストリ値を直接設定するか、グループ ポリシー を使用して組織全体に配布します。

レジストリ キー

一部の場所にエンタープライズの既定を設定して、グループ ポリシーまたは直接レジストリから、それらを管理できます。 Visual Studio は順番にエンタープライズ ポリシーが設定されているかを確認し、以下の順番でポリシー値が検出された時点で、残りのキーは無視されます。

  1. HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\VisualStudio\Setup
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup
  3. HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\Setup (64 ビット オペレーティング システム)

いくつかのレジストリ値は、未設定の場合、最初に使われたときに自動的に設定されます。 これにより、以後のインストールでも同じ値が使われるようになります。 これらの値は、2 番目のレジストリ キーである HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup に格納されます。

以下のレジストリ値を設定できます。

インストールとダウンロードの動作の制御

このセクションのレジストリ設定では、クライアント コンピューターにVisual Studio 製品をダウンロードする方法と場所を制御します。

名前 Type [Default] 説明
CachePath REG_SZ または REG_EXPAND_SZ %ProgramData%
\Microsoft
\VisualStudio
\Packages
パッケージ マニフェストと、ペイロード (省略可能) が格納されるディレクトリ。 詳細については、「パッケージ キャッシュの無効化または移動」ページを参照してください。
KeepDownloadedPayloads REG_DWORD 1 パッケージのペイロードはインストール後も保持されます。 この値はいつでも変更できます。 ポリシーを無効にすると、修復または変更するインスタンスでキャッシュされたパッケージのペイロードがすべて削除されます。 詳細については、「パッケージ キャッシュの無効化または移動」ページを参照してください。
SharedInstallationPath REG_SZ または REG_EXPAND_SZ %ProgramFiles(x86)%
\Microsoft Visual Studio
\Shared
Visual Studio の異なるバージョンのインスタンスで共有されているパッケージがいくつかインストールされているディレクトリ。 値はいつでも変更できますが、変更が反映されるのは以後のインストールのみです。 元の場所に既にインストールされている製品は移動しないでください。移動すると、正しく機能しない場合があります。
BackgroundDownloadDisabled REG_DWORD 0 インストールされているすべての Visual Studio 製品に対して、更新プログラムが自動的にダウンロードされないようにします。 この値はいつでも変更できます。

重要

インストール後に CachePath のレジストリ ポリシーを変更する場合は、既存のパッケージ キャッシュを新しい場所に移動して、SYSTEM および Administratorsフル コントロール が、Everyone読み取り アクセスが可能になるようにセキュリティを保護する必要があります。 既存のキャッシュの移動やセキュリティの保護に失敗すると、今後のインストールで問題が発生する場合があります。

管理者の更新プログラムを制御する

このセクションのレジストリ設定は、管理者の更新プログラムをクライアント コンピューターに適用するかどうかとその方法を制御します。

名前 Type [Default] 説明
AdministratorUpdatesEnabled REG_DWORD 0 管理者向け更新プログラムをクライアント コンピューターに適用することを許可します。 この値が指定されていないか、0 に設定されている場合、管理者向け更新プログラムはブロックされます。 この値は管理用です。 詳細については、管理者向け更新プログラムを有効にする方法に関するページを参照してください。
AdministratorUpdatesOptOut REG_DWORD 0 ユーザーが Visual Studio の管理者向け更新プログラムの受け取りを希望していないことを示します。 このレジストリ値がない、または値 0 が設定されている場合は、Visual Studio ユーザーが Visual Studio の管理者向け更新プログラムの受け取りを希望していることを意味します。 これは開発者ユーザー向けです (クライアント コンピューター上に管理者権限がある場合)。 詳細については、管理者向け更新プログラムを適用する方法に関するページを参照してください。
UpdateConfigurationFile REG_SZ または REG_EXPAND_SZ %ProgramData%
\Microsoft
\VisualStudio
\updates.config
管理者向け更新プログラムを構成するためのファイル パス。 詳細については、「管理者向け更新プログラムを構成する方法」を参照してください。

このセクションのレジストリ設定は、管理者の更新プログラムをクライアント コンピューターに適用するかどうかとその方法を制御します。

名前 Type [Default] 説明
AdministratorUpdatesEnabled REG_DWORD 0 管理者向け更新プログラムをクライアント コンピューターに適用することを許可します。 この値が指定されていないか、0 に設定されている場合、管理者向け更新プログラムはブロックされます。 この値は管理用です。 詳細については、管理者向け更新プログラムを有効にする方法に関するページを参照してください。
AdministratorUpdatesOptOut REG_DWORD 0 ユーザーが Visual Studio の管理者向け更新プログラムの受け取りを希望していないことを示します。 このレジストリ値がない、または値 0 が設定されている場合は、Visual Studio ユーザーが Visual Studio の管理者向け更新プログラムの受け取りを希望していることを意味します。 これは開発者ユーザー向けです (クライアント コンピューター上に管理者権限がある場合)。 詳細については、管理者向け更新プログラムを適用する方法に関するページを参照してください。
UpdateConfigurationFile REG_SZ または REG_EXPAND_SZ %ProgramData%
\Microsoft
\VisualStudio
\updates.config
管理者向け更新プログラムを構成するためのファイル パス。 詳細については、「管理者向け更新プログラムを構成する方法」を参照してください。
BaselineStickinessVersions2019 REG_SZ または REG_EXPAND_SZ 16.7.0 クライアントが使用すべきサービス ベースラインのマイナー バージョン。 詳細については、管理者向け更新プログラムを適用する方法に関するページを参照してください。

このセクションのレジストリ設定は、管理者の更新プログラムをクライアント コンピューターに適用するかどうかとその方法を制御します。

名前 Type [Default] 説明
AdministratorUpdatesEnabled REG_DWORD 0 管理者向け更新プログラムをクライアント コンピューターに適用することを許可します。 この値が指定されていないか、0 に設定されている場合、管理者向け更新プログラムはブロックされます。 この値は管理用です。 詳細については、管理者向け更新プログラムを有効にする方法に関するページを参照してください。
AdministratorUpdatesOptOut REG_DWORD 0 ユーザーが Visual Studio の管理者向け更新プログラムの受け取りを希望していないことを示します。 このレジストリ値がない、または値 0 が設定されている場合は、Visual Studio ユーザーが Visual Studio の管理者向け更新プログラムの受け取りを希望していることを意味します。 これは開発者ユーザー向けです (クライアント コンピューター上に管理者権限がある場合)。 詳細については、管理者向け更新プログラムを適用する方法に関するページを参照してください。
UpdateConfigurationFile REG_SZ または REG_EXPAND_SZ %ProgramData%
\Microsoft
\VisualStudio
\updates.config
管理者向け更新プログラムを構成するためのファイル パス。 詳細については、「管理者向け更新プログラムを構成する方法」を参照してください。

更新プログラムのソースの場所の構成

このセクションの設定を使用すると、管理者は、使用可能な更新チャネルをカスタマイズして、エンタープライズ組織内のクライアントに表示する方法を制御できます。 更新プログラムの設定とその動作の詳細については、更新プログラムのソースの場所の構成に関するドキュメントを参照してください。 この機能を使用するには、クライアントが Visual Studio 2022 インストーラーを使用し、2021 年 11 月 10 日以降に出荷された 2019 ブートストラップのバージョンを使用するようにレイアウトを使用する必要があります。 これを有効にする方法については、Visual Studio 2019 のレイアウトに関するドキュメントを参照して、クライアント コンピューターで Visual Studio 2022 インストーラーを取得する方法に関するガイダンスを参照してください。

このセクションのキーは Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\ レジストリパスにのみ適用されます

名前 Type 説明
Channels Key カスタム レイアウト チャネル情報を格納するためのキーのパス。 このキーの値はチャネル名を考慮し、[更新チャネル] ドロップダウンに表示されます。
DisabledChannels Key チャネルを非表示にして、チャネルを [更新チャネル] ダイアログに表示しないようにするためのキーのパス。 チャネルがここで定義されている場合は、ダイアログから除外されます。
ChannelURI REG_SZ Channels Hive に追加して更新チャネル値の一覧に追加するか、DisabledChannels レジストリ Hive に追加することによって更新チャネルの一覧から除外します。 Microsoft がホストするチャネルの場合、channelURI は "https://aka.ms/vs/16/release/channel" または "https://aka.ms/vs/16/pre/channel" です。 レイアウトの場合、この値はレイアウトの ChannelManifest. json をポイントする必要があります。 次の例を参照してください。
Description REG_SZ チャネルの 2 行のカスタム説明。 レイアウトから既にインストールしている場合は、更新設定 UI の既定値は "プライベートチャネル" に設定され、この説明を使用して変更できます。

次のレジストリファイルの例では、 設定更新 UIでカスタム更新チャネルのいくつかのレイアウト エントリを追加する方法と、プレビュー チャネルを表示しないようにする方法も示します。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels\More meaningful name of my existing layout]
"channelUri"="\\\\vslayoutserver3\\vs\\2019_Enterprise\\ChannelManifest.json"
"Description"="Dev Tools based on VS 2019 16.9.Spring.2020 servicing baseline"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels\Spring 2021 dev toolset]
"channelUri"="\\\\new2019layoutserver\\share\\new2019layout\\ChannelManifest.json"
"Description"="Dev Tools based on VS 2019 16.11.Spring.2021 servicing baseline"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\Channels\Next gen dev tools using VS 2022 toolset]
"channelUri"="\\\\vs2022Layoutserver\\share\\2022Enterprise\\ChannelManifest.json"
"Description"="Developer Tools based on the VS 2022 17.0.Winter.2021 LSTC servicing baseline"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup\DisabledChannels\Preview]
"channelUri"="https://aka.ms/vs/16/pre/channel"

Visual Studio IDE の通知を制御する

上述のとおり、Visual Studio はそのインストール元である場所 (ネットワーク共有やインターネットなど) で更新プログラムが利用できないか確認します。 更新プログラムが利用可能になると、Visual Studio は、ユーザーへの通知としてウィンドウの右上隅に通知フラグを表示します。

更新プログラムの通知フラグ

上述のとおり、Visual Studio はそのインストール元である場所 (ネットワーク共有やインターネットなど) で更新プログラムが利用できないか確認します。 更新プログラムが利用可能になると、Visual Studio では、ユーザーへの通知としてウィンドウの右下隅に通知アイコンが表示されます。

Visual Studio IDE の通知アイコン

エンド ユーザーに更新プログラムを通知したくない場合は、通知を無効にすることができます。 (たとえば、中央のソフトウェア配布メカニズムを使用して更新プログラムを提供する場合、通知を無効にしたい場合があります。)

Visual Studio 2017 はプライベート レジストリにレジストリ エントリを保存するので、そのレジストリを通常の方法で直接編集することはできません。 ただし、Visual Studio には vsregedit.exe ユーティリティが含まれます。これを利用し、Visual Studio 設定を変更できます。 次のコマンドで通知をオフにできます。

vsregedit.exe set "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 0

次のコマンドで通知をオンに戻すことができます。

vsregedit.exe set "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 1

既定の動作に戻すには、次のコマンドで値を削除することもできます。

vsregedit.exe remove "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override

コマンドを実行して Visual Studio の設定を変更したら、Visual Studio を起動します。 既に実行中である Visual Studio インスタンスの動作は、Visual Studio をシャットダウンして再起動するまで変更されません。 もう 1 つのオプションとして、設定が有効になるようにコンピューターを再起動することができます。

次のコマンドで設定を確認できます。

vsregedit.exe read "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword

値が存在しない場合 (既定の状態) は、上記のコマンドにより、値の読み取りに失敗したことが示されます。 値を設定すると、上記のコマンドでは Visual Studio 構成の値が反映されます (0 か 1、または設定されている任意の値が示されます。予期される値は 0 か 1 だけです)。

Visual Studio 2019 はプライベート レジストリにレジストリ エントリを保存するので、そのレジストリを通常の方法で直接編集することはできません。 ただし、Visual Studio には vsregedit.exe ユーティリティが含まれます。これを利用し、Visual Studio 設定を変更できます。 次のコマンドで通知をオフにできます。

vsregedit.exe set "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 0

次のコマンドで通知をオンに戻すことができます。

vsregedit.exe set "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 1

既定の動作に戻すには、次のコマンドで値を削除することもできます。

vsregedit.exe remove "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override

コマンドを実行して Visual Studio の設定を変更したら、Visual Studio を起動します。 既に実行中である Visual Studio インスタンスの動作は、Visual Studio をシャットダウンして再起動するまで変更されません。 もう 1 つのオプションとして、設定が有効になるようにコンピューターを再起動することができます。

次のコマンドで設定を確認できます。

vsregedit.exe read "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword

値が存在しない場合 (既定の状態) は、上記のコマンドにより、値の読み取りに失敗したことが示されます。 値を設定すると、上記のコマンドでは Visual Studio 構成の値が反映されます (0 か 1、または設定されている任意の値が示されます。予期される値は 0 か 1 だけです)。

Visual Studio 2022 はプライベート レジストリにレジストリ エントリを保存するので、そのレジストリを通常の方法で直接編集することはできません。 ただし、Visual Studio には vsregedit.exe ユーティリティが含まれます。これを利用し、Visual Studio 設定を変更できます。 次のコマンドで通知をオフにできます。

vsregedit.exe set "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 0

次のコマンドで通知をオンに戻すことができます。

vsregedit.exe set "C:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword 1

既定の動作に戻すには、次のコマンドで値を削除することもできます。

vsregedit.exe remove "c:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override

コマンドを実行して Visual Studio の設定を変更したら、Visual Studio を起動します。 既に実行中である Visual Studio インスタンスの動作は、Visual Studio をシャットダウンして再起動するまで変更されません。 もう 1 つのオプションとして、設定が有効になるようにコンピューターを再起動することができます。

次のコマンドで設定を確認できます。

vsregedit.exe read "c:\Program Files\Microsoft Visual Studio\2022\Enterprise" HKCU ExtensionManager AutomaticallyCheckForUpdates2Override dword

値が存在しない場合 (既定の状態) は、上記のコマンドにより、値の読み取りに失敗したことが示されます。 値を設定すると、上記のコマンドでは Visual Studio 構成の値が反映されます (0 か 1、または設定されている任意の値が示されます。予期される値は 0 か 1 だけです)。

(編集したいインストール済みのインスタンスと一致するようにディレクトリを置き換えてください。)

ヒント

vswhere.exe を利用し、クライアント ワークステーションで特定のインスタンスの Visual Studio を見つけます。

サポートを受ける

ときには、問題が発生してしまうことがあります。 Visual Studio のインストールが失敗した場合は、「Visual Studio のインストールとアップグレードの問題のトラブルシューティング」に記載されているステップ バイ ステップ ガイドをご覧ください。

他のいくつかのサポート オプションを次に示します。

関連項目