Registrierungsschlüssel in HKLM \ Microsoft \ Windows \ CurrentVersion \ Run kann nicht über die Befehlszeile gelöscht werden

2

Ich versuche, einige Registrierungsschlüssel ( Startelemente ) über die Befehlszeile zu löschen, und während ich aus HKCU \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run löschen kann, kann ich nichts aus HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ löschen. Lauf.

Ich habe dort sogar einige temporäre Schlüssel über regedit.exe erstellt, aber selbst diese sind über die Befehlszeile nicht löschbar. Also habe ich hier nach ähnlichen Themen gesucht und sie offensichtlich gegoogelt. Normalerweise geschieht dies aus folgenden Gründen:

  1. Die Eingabeaufforderung wird nicht als Administrator ausgeführt. Dies ist hier nicht der Fall, da ich definitiv Administratorrechte im gestarteten cmd-Fenster habe.
  2. Registrierungsberechtigungen blockieren das Löschen. Dies ist auch hier nicht der Fall. Ich habe die Berechtigung manuell über regedit.exe geändert und bin jetzt der Eigentümer von HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run sowie die vollständige Kontrolle über mein Konto.

Die spezifische Fehlermeldung, die von der Befehlszeile ausgegeben wird, lautet:

ERROR: The system was unable to find the specified registry key or value.

Der Schlüssel ist jedoch definitiv an dem Ort vorhanden, an dem ich ihn löschen möchte, und sogar regedit zeigt ihn dort an. Ich kann es auch problemlos mit regedit löschen.

Hat jemand irgendwelche Hinweise, was zu überprüfen ist?

OK, also beim Schreiben dieses Beitrags bin ich auf etwas wirklich Seltsames gestoßen. Es scheint, dass es zwei Versionen von HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run gibt.

Ich habe keine Ahnung, wie dies überhaupt möglich ist, aber wenn ich den Schlüsselnamen in regedit kopiere, sind beide identisch und zeigen unterschiedliche Elemente an. Der erste ist in Ordnung und es scheint, dass reg.exe versucht, den Schlüssel an diesem Speicherort zu finden und zu löschen. Aus diesem Grund tritt ein Fehler auf. Der zweite ist der problematische, bei dem der Schlüssel vorhanden ist, den ich über die Befehlszeile löschen muss.

Wenn ich jedoch einen identischen Schlüssel zu HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run hinzufüge , wird dieser an den "richtigen" Speicherort geschrieben, und ich kann ihn auch über die Befehlszeile löschen.

OK, ich glaube ich weiß was das Problem jetzt ist. Der "richtige" Speicherort wird angezeigt, wenn ich eine native 64-Bit-Version von regedit ausführe, und der problematische Speicherort wird nur angezeigt, wenn ich eine 32-Bit-Version von regedit ausführe.

LÖSUNG:

Verwenden Sie %windir%\SysWOW64\reg.exe32-Bit - Registry - Einträge zu manipulieren und %windir%\System32\reg.exe64-Bit - Registry - Einträge zu manipulieren. Ich werde mit den Programmautoren ein ernstes Gespräch darüber führen, warum sie ihren Startschlüssel in die 32-Bit-Anforderung auf einem 64-Bit-System verschoben haben.

TMRW
quelle

Antworten:

4

LÖSUNG: Verwenden Sie diese Option%windir%\SysWOW64\reg.exe , um 32-Bit-Registrierungseinträge und %windir%\System32\reg.exe64-Bit-Registrierungseinträge zu bearbeiten.

Ich werde mit den Programmautoren ein ernstes Gespräch darüber führen, warum sie ihren Startschlüssel in die 32-Bit-Anforderung auf einem 64-Bit-System verschoben haben.

TMRW
quelle
Wenn das Setup-Programm 32-Bit ist, werden die von ihm erstellten Registrierungseinträge automatisch zum Wow6432Node-Schlüssel umgeleitet.
David Marshall
Das Setup und das Programm selbst sind 64-Bit. Ich habe den Programmautor benachrichtigt, aber in neueren Betaversionen scheint der Startschlüssel sowieso veraltet zu sein und stattdessen wird der Taskplaner verwendet. Das fragliche Programm ist hwinfo64
TMRW