InVS 2015 and earlier, settings were stored in the registry, e.g. HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config. In VS 2017, to support multiple instances of VS, the settings were moved out of the registry, according to this post.
I have previously been editing the registry to force Dark Theme when Windows is in High Contrast mode, according to this SO answer. Now I want to do the same in VS 2017 but cannot find where the settings are stored, to make this change.
The following VS2017PrivateRegistry.cmd batch file loads registry keys for all Visual Studio 2017 instances as HKLM_TMPVS_[id], starts Registry Editor for you to make changes in Visual Studio settings and unloads keys when you close Registry Editor:
The real fix for this would be for the Visual Studio team to allow developers to set the theme. If you are interested in getting this fixed go to this VS issue report and follow it and make a comment supporting it. It is currently under consideration.
You can configure certain aspects of Visual Studio's deployment and update behavior via policies. Some of these configurations are particular to an installed instance of Visual Studio, and some of the configurations can be global and apply to all Visual Studio instances on the client machine. You can configure the following:
Configure and deploy global machine wide policies across your organization by using the Microsoft Intune settings catalog or by importing Visual Studio Administrative Templates (ADMX) into legacy tools like Group Policy editor. You can also set registry values directly on the client machine. Per instance behaviors, are typically controlled by using command-line options on the client machine.
There are several locations in the registry where you can set these policies. Visual Studio looks sequentially, in the following order, to see if any enterprise policies are set. As soon as a policy value is discovered, the remaining keys are ignored.
Some registry values are set automatically the first time they are used if not set already. This practice ensures that subsequent installs use the same values. These values are stored in the second registry key, HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\Setup.
If you change the CachePath registry policy after any installations, you must move the existing package cache to the new location and make sure it's secured so that SYSTEM and Administrators have Full Control and that Everyone has Read access.Failure to move the existing cache or securing it might cause problems with future installs.
Cloud connected client machines that are managed by Intune must be configured for Windows Update for Business and opted into the "Enable Updates for other Microsoft Products" in order to receive Visual Studio administrator updates through the Windows Update for Business Microsoft Update channel.
The settings in this section allow an administrator to customize and control what update channels are available and how they appear to clients in an enterprise organization. For information about what the update settings even are and how they work, refer to the configure source location of updates documentation.This functionality requires the client to be using the Visual Studio 2022 Installer and the layout to be using a version of the 2019 bootstrapper that shipped on or after November 10, 2021. For guidance, see how to get the Visual Studio 2022 installer on your client machines via a Visual Studio 2019 layout documentation.
The first registry example can be used in a situation where the client previously installed from a network layout located at \\vslayoutserver3\vs\2019_Enterprise. As mentioned previously, Visual Studio defaults the channel name for this layout to "Private Channel". Here's how you would customize the channel name and description for this layout.
As described earlier, Visual Studio checks the location it is installed from, such as a network share or the internet, to see whether any updates are available. When an update is available, Visual Studio notifies the user with a notification icon in the lower right-hand corner of the window.
You can disable the notifications if you don't want end users to be notified of updates. (For example, you might want to disable notifications if you deliver updates through a central software distribution mechanism.)
Because Visual Studio 2019 stores registry entries in a private registry, you can't directly edit the registry in the typical way. However, Visual Studio includes a vsregedit.exe utility that you can use to change Visual Studio settings. You can turn off notifications with the following command:
After you run the command to change Visual Studio settings, start Visual Studio. Any already-running instances of Visual Studio don't change behavior until Visual Studio is shut down and restarted. As another option, you can restart the computer to make sure the setting takes effect.
Because Visual Studio 2022 stores registry entries in a private registry, you can't directly edit the registry in the typical way. However, Visual Studio includes a vsregedit.exe utility that you can use to change Visual Studio settings. You can turn off notifications with the following command:
I have installed Visual studio 2019 & 2022 and when we try to check in registry to find out what version is installed we are unable to get the generic location .
For example : if VS 2019 is installed in which path we can find the Application Name - Visual Studio 2019 and display version which is installed path as well , we need to figure out for many system in our environment , so what will be the generic path for both VS 2019 and VS2022 , Thanks in Advance
VS will generate eight random characters to be identified in Registry when you install them. The Registry path you are looking for should be Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio_XXXXXXXX, as XXXXXXXX is randomly generated, they will not be the same.
You can also find the installed VS instances and their eight characters in C:\ProgramData\Microsoft\VisualStudio\Packages\_Instances. If you can locate and confirm this characters, then in this path Computer\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\XXXXXXXX, you can match the eight characters, and find the DisplayName and DisplayVersion there.
Visual Studio traditionally includes several settings that can be set only in registry (HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\[version] key). For example, Find result format, UseSolutionNavigatorGraphProvider or EnableVSIPLogging.
Visual Studio 2017 continues to support these settings, but now uses the RegLoadAppKey function to store registry keys in a private binary file under %LOCALAPPDATA%\Microsoft\VisualStudio\15.0_ [id]\privateregistry.bin:
You can automate hive loading and unloading with the following VS2017PrivateRegistry.cmd batch file (close target Visual Studio 2017 instances with the background processes and then run the file with administrator rights):
If you do have multiple instances of VS 2017 installed (e.g. Community and Enterprise, or a general release and a preview) and want to find corresponding instance ids, you can use the Visual Studio Locator utility. Included with the installer as of Visual Studio 2017 version 15.2 and later at %ProgramFiles(x86)%\Microsoft Visual Studio\Installer\vswhere.exe:
If you want to quickly set a registry setting to a specific value, there is a simpler approach. A running Visual Studio 2017 instance not only loads registry keys with the RegLoadAppKey function from the privateregistry.bin file, but also redirects all registry operations under the HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\15.0 key to the private registry. Code running in the Visual Studio 2017 process can use standard registry API to set these settings:
Just execute the following commands once from Visual Studio (e.g. with the Visual Commander extension) to set corresponding settings: Change find result format to remove the full path, Hide class info in Solution Explorer, Show the GUID and ID of menu or command when Ctrl+Shift is pressed.
Visual Studio 2017 is now released to the public and with it comes a big architectural change: no more system-local registry keys! That's right, as part of the same design that now lets you do side-by-side VS installations, there are no more keys in your registry for Visual Studio 2017.
However, particularly if you do any extensions development for Visual Studio 2017, there's still plenty of things that can only be controlled by registry keys (like image load logging ). Thanks to Alex Eyler over in the extendvs Gitter room, here is how to update registry keys for Visual Studio 2017:
Using this method you can check all the usual keys (for example, ShellFileAssociations for file icon bindings), or add new keys (like the ImageLibrary keys for icon logging), just make sure to unload the hive after any changes.
So the first thing after Windows 10 1803 is installed afresh, is to install Visual Studio 2015 Update 3 immediately. Then install CUDA 9.1. After completion, CUDA installer will launch Experience in which you can safely install the latest 397.31 driver. If you are not sure, you can convince yourself that CUDA has successfully installed with VS even though there are many other directories of other VS versions by trying to new a project in VS. CUDA 9.1 is in the templates list of VS. Interestingly, Experience will complain there is no nVidia driver. Likewise, the CUDA 9.1 installer also installs NSight 5.4 which does not recognize the original 388.13, thinking the driver version is 0.0 and therefore fail the addWithCuda() function, even though the popups claim that NSight 5.4 works with 343.98+. So if you want to use Nsight to debug CUDA, you have to install the latest driver AFTER CUDA is installed. Since the problem I want to solve is to have CUDA integrate with VS, we can do installation on a simple basis (like old driver version or bare VS components). When the two agree with each other, we can then refine by installing new drivers, adding new features of VS and/or upgrading Nsight. After all, VS is not as delicate as CUDA.
3a8082e126