Greifen Sie auf die private Registrierungsstruktur von Visual Studio 2017 zu

9

Visual Studio verwendet eine private Registrierungsstruktur, anstatt die Systemregistrierung zu "verschmutzen" - normalerweise findet sich das irgendwo in dieser Form:

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

[Um installierte Erweiterungen zu ermitteln, müssen wir uns folgenden Schlüssel ansehen: Software\Microsoft\VisualStudio.0_4b0ba1c0\ExtensionManager\EnabledExtensions ]

Was ist der einfachste Weg zum Laden und Zugriff auf diese Datei durch Eingabe von C #?

?     
Adrian S 21.03.2017, 00:18
quelle

2 Antworten

11

Um manuell zu überprüfen, können Sie die regedit.exe-Anwendung verwenden, um die privateregistry.bin-Datei zu laden, indem Sie folgendermaßen vorgehen:

  1. Starten Sie RegEdit.exe
  2. Wählen Sie den Knoten Computer \ HKEY_LOCAL_MACHINE im linken Bereich
  3. aus
  4. Wählen Sie die Datei | Load Hive ..., und lade die privateregistry.bin
  5. Wenn Sie nach einem Schlüsselnamen gefragt werden, geben Sie einfach "VSRegHive"
  6. ein
  7. Dies lädt die Daten in einen VSRegHive unter dem HKLM-Knoten
  8. Wenn Sie mit der Erkundung fertig sind, wählen Sie den VSRegHive aus und wählen Sie Datei | Entladen Sie Hive ..., bevor Sie andernfalls das Dienstprogramm RegEdit.exe beenden VS wird nicht gestartet. Wenn der Hive in regedit geladen wird, entstehen einige Art der Sperre, die das Starten von DevEnv.exe verhindert.

Um programmgesteuert auf den Schlüssel zuzugreifen, ist RegLoadAppKey in der Tat die beste Wahl.

Mit freundlichen Grüßen, Ed Dore

    
Ed Dore 25.03.2017 03:25
quelle
0

Ich hatte gerade ein ähnliches Problem und fand dies SO Posting. Meiner Erfahrung nach müssen Sie die x86-Konfiguration für Ihr Projekt verwenden, sonst wird eine Ausnahme auftreten. Ich habe den Code an Ihr Problem angepasst.

%Vor%

Zusätzlich zu der obigen Methode scheint es möglich zu sein, die "normalen" .Net-Methoden für den Registrierungszugriff zu verwenden, nachdem "CreateForApplication" aufgerufen wurde. Verwenden Sie einfach so etwas:

%Vor%     
frank koch 13.02.2018 11:57
quelle