none
Schreiben in die Registry (schnellster Weg) RRS feed

  • Frage

  • Hallo allerseits,

    suche eine Alternative zum schnell Speichern bzw. Schreiben in die Registry mit ca. 10k bis 150k  Einträgen.
    Habe es bereits mittels RegistryKey-Klasse versucht jedoch dauert das sehr lange.

    foreach (cCache c in caches)
    {
    	RegistryKey rk = Registry.LocalMachine.OpenSubKey("Software\\" + APP_NAME + "\\" + key, RegistryKeyPermissionCheck.ReadWriteSubTree);
    	if (rk != null)
    	{
    		RegistryKey comp = rk.OpenSubKey(c.Pro, RegistryKeyPermissionCheck.ReadWriteSubTree);
    		if (comp != null)
    		{
    			string[] allS = comp.GetValueNames();
    ... ...

    Derzeit erstelle ich eine reg Datei und führe die regedit.exe mit der Datei aus.
    Ist zwar schneller mit vielen Einträgen jedoch weiß ich nicht ob das die schnellste Variante ist bzw. wäre?

    Um im Vorhinein eines abzuklären: Die Einträge müssen in die Registry geschrieben.

    Wäre für jede Hilfe, Denkanstoss, Tips und Ratschläge sehr dankbar.

    Lg

    Ge.Ri




    • Bearbeitet geRe.LI Mittwoch, 18. März 2020 10:05
    Mittwoch, 18. März 2020 10:04

Alle Antworten

  • Hallo Ge.Ri,

    Greifst Du auf Registrierungssclüssel in HKEY_CLASSES_ROOT oder HKEY_LOCAL_MACHINE oder HKEY_CURRENT_USER zu? Im ersteren Fall ist das Lesen und Schreiben unter Umständen (längere Namen) langsamer, wie in folgendem Blogeintrag erklärt:
    Fast and slow RegistryKey.GetSubKeyNames()

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Donnerstag, 19. März 2020 09:51
    Moderator
  • Hallo Dimitar,

    und danke für deine Antwort sowie den Link (nützliche Info). Auf die Seite bin ich auch schon mal gestoßen.
    Der Zugriff erfolgt auf HKEY_LOCAL_MACHINE (im Maschinen Teil) in der Registry.

    Lg
    Ge.Ri

    Donnerstag, 19. März 2020 14:12