3 Replies Latest reply on Feb 23, 2010 3:04 AM by Markus.Zierer

    RegDeleteKey auf XP (x64)

    tkramer Apprentice
      Hallo Community,
      wir haben hier bei uns Windows XP (SP3, x86) und Windows XP (x64) im Einsatz. Jetzt habe ich ein Paket, welches sowohl unter x86 als auch unter x64 laufen soll.
      In diesem Paket wird zunächst geprüft, ob ein bestimmter Registry-Schlüssel vorhanden ist. Dieses ist bei beiden Systemen der Fall, er läuft dann weiter in der IF-Bedingnung. Dort soll enteo den eben abgeprüften Schlüssel komplett löschen.
      Bei XP (x86) funktioniert das einwandfrei, bei XP 64 nicht. In den LogFiles wird zwar angezeigt, dass der Befehl ausgeführt wird, aber der Registry-Schlüssel wird nicht gelöscht.

      Kann mir einer Helfen, das Problem zu beheben?

      Vielen Dank!
        • 1. Re: RegDeleteKey auf XP (x64)
          Markus.Zierer Expert
          Tja, das hängt ganz davon ab, ob der RegKey den Du löschen möchtest im virtuellen x86 Hive steht oder nicht.

          Wenn es sich um einen virtualisierten Key handelt, sollte es eigentlich so klappen.
          Wenn es ein nativer x64 Key ist, musst Du den Haken bei "Use 64 bit Hive on x64 machines" setzen.

          Wenn auch des ned tut, dann würde ich es mal auf die klassiche Art versuchen. Reg File erstellen und das ganze per Execute bzw. RunAs auf der Maschine anwenden. Aber auch muss dann wieder auf die entsprechenden Ausführungsoptionen geachtet werden.
          • 2. Re: RegDeleteKey auf XP (x64)
            tkramer Apprentice
            Hallo vielen Dank für die schnelle Antwort.
            Der Key wird ein reiner x64 Key sein, da er über einen Server  2003 (x86) und regedt32.exe nicht abfragbar ist, sondern nur von einer 64 Maschine selber. Den Flag Usex64Hive habe ich gesetzt, leider löscht eneteo den Schlüssel nicht.
            Kannst du mir sagen, wie so eine Reg-Datei perfekterweise aussehen muss, damit ein Key gelöscht wird?

            Vielen Dank!
            • 3. Re: RegDeleteKey auf XP (x64)
              Markus.Zierer Expert
              Soweit ich mich erinnern kann geht das folgendermaßen:

              Regedit öffnen und dann den entsprechenden Key in ein RegFile exportieren.

              Mit nem Editor das RegFile öffnen und ein "-" vor den RegKey schreiben.

              - bedeutet Schlüssel löschen
              + bedeutet Schlüssel hinzufügen

              Das Regfile dann als Parameter an den regedit aufruf übergeben. Das sollte so klappen. Is aber schon etwas her dass ich das zuletzt so gemacht hab...