Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Access Visual Studio 2017's private registry hive

Visual Studio uses a private registry hive instead of "polluting" the system registry - typically found somewhere like this:

C:\Users\Abx\AppData\Local\Microsoft\VisualStudio\15.0_4b0ba1c0\privateregistry.bin

[In order to determine installed extensions we need to look at the following key: Software\Microsoft\VisualStudio\15.0_4b0ba1c0\ExtensionManager\EnabledExtensions]

What is the simplest way to load and access this file by key in C#?

like image 981
Adrian S Avatar asked Mar 21 '17 00:03

Adrian S


1 Answers

To manually review, you can use the regedit.exe application to load the privateregistry.bin file by doing the following:

  1. Launch RegEdit.exe
  2. Select the Computer\HKEY_LOCAL_MACHINE node in the left-hand pane
  3. Select the File | Load Hive... menu item, and load the privateregistry.bin
  4. When prompted for a key name, just type in something like "VSRegHive"
  5. This will load the data into a VSRegHive under the HKLM node
  6. When finished exploring, be sure to select the VSRegHive and select File | Unload Hive... , before exiting the RegEdit.exe utility, otherwise VS will fail to start. Keeping the hive loaded in regedit creates some sort of lock that prevents DevEnv.exe from launching.

To programmatically access the key RegLoadAppKey is indeed your best bet.

like image 82
Ed Dore Avatar answered Oct 08 '22 19:10

Ed Dore