[Powershell, cmd] reg-Datei in 64bit importieren für Windows XP

HonniCilest

Erfahrenes Mitglied
Hallo,

ich weiß nicht, ob jemand schonmal das Problem hatte, aber be mir liegt folgendes vor:

Ich habe ein cmd- oder wahlweise auch ein Powershell-Script, indem ein Registry-Wert gesetzt werden soll. Solange man dieses Script von einer 64-Bit Applikation (z.B. Windows Explorer) ausgeführt wird, ist das kein Problem. Wird aber die Datei von einer 32-bit Applikation (z.b. Link in einer Outlook Mail) ausgeführt, so wird der Eintrag im 32-bit Registry Zweig hinzugefügt. Dies ist total unabhängig von dem eigentlich definierten Registry Pfad oder auch der absoluten Pfadangabe zu regedit.exe/reg.exe/powershell.exe

Die Zeit, die ich für die Suche im Internet aufgebracht habe ist schon enorm und erbitte nun um Hilfe. Das Thema ist im Internet viel diskutiert aber habe noch keine Lösung gefunden oder verstanden.

Microsoft selbst nennt sogenannte Flags für Redirection/Reflection, aber mir ist nicht klar wo ich diese setzen sollte. Andere genannte Wege verliefen über .Net Programme wie C# oder VB-Script, dies würde ich jedoch gerne vermeiden.

Vielen Dank schonmal, ich freue mich auf die Antworten!
 

HonniCilest

Erfahrenes Mitglied
Nein habe ich nicht, aber ich finde den Ordner %windir%\sysnative auch nicht. Die Pfade zu den anderen Applikationen waren je nach dem %windir%\system32 oder %windir%\syswow64 oder manchmal nur %windir%. Alle 64-Bit Anwendungen wurden auch auf 32bit ausgeführt, wenn das aufrufende Programm auch 32-Bit war, da gab es keine Ausnahme.
 

deepthroat

Erfahrenes Mitglied
Nein habe ich nicht, aber ich finde den Ordner %windir%\sysnative auch nicht.
Das kannst du auch nicht. Der existiert nur für 32bit Applikationen und wird auch da nicht angezeigt, obwohl er vorhanden ist.

Die Pfade zu den anderen Applikationen waren je nach dem %windir%\system32 oder %windir%\syswow64 oder manchmal nur %windir%. Alle 64-Bit Anwendungen wurden auch auf 32bit ausgeführt, wenn das aufrufende Programm auch 32-Bit war, da gab es keine Ausnahme.
Wenn du nicht sysnative verwendet hast, dann hast du ach keine 64bit Anwendungen gestartet. Für 32bit gilt: c:\windows\syswow64 == c:\windows.

Du mußt einfach sysnative verwenden.

Gruß
 

HonniCilest

Erfahrenes Mitglied
Soweit ich das nun gelesen habe gibt es Sysnative erst ab Windows Vista, wie aber bereits im Titel erwähnt geht es hier um Windows XP.
 

HonniCilest

Erfahrenes Mitglied
Das Hotfix zu haben wär natürlich zu schön gewesen, leider habe ich keinen Einfluss auf meine oder andere Systemkonfigurationen. Es wird also vermutlich wirklich auf ein VB-Script hinauslaufen, auch wenn ich das eigentlich vermeiden wollte. Vielen Dank für deine Antworten.

Edit:
Zur Info - Das mit der WMI in Powershell habe ich probiert, das lief wieder auf das gleiche Problem hinaus.
 
Zuletzt bearbeitet: