Как вставить записи реестра из файла .reg в 32-битный реестр в 64-битной Windows

12

В 64-битной Windows (Vista / 7) есть HKLM\Software\Wow6432Nodeвсе , что касается 32-битного реестра. Если у меня есть файл .reg с некоторыми ключами, как я могу указать regedit импортировать его в 32-разрядный реестр (ниже Wow6432Node), а не в 64-разрядный реестр?

Даже если я добавлю путь Wow6432 в разделы реестра в файле .reg, Windows «ловко» их игнорирует и помещает в основной 64-разрядный реестр.

GaryO
источник
Жаль, что нет очевидного способа сделать это в самом файле, так как мы не всегда будем контролировать его импорт.
Дина
Не используйте regedit для этого. regКоманда приняла бы ваш патч. Но (возможно, только пока) такие действия, как импорт и экспорт через 64-битную / 32-битную границу, хорошо поддерживаются 64-битным regинструментом. Пожалуйста, посмотрите на мой ответ .
Волк

Ответы:

13

Вы должны иметь доступ к 32-битному реестру исключительно с помощью 32-битной версии regedit. Просто импортируйте ваши .regфайлы, используя:

\Windows\syswow64\regedit.exe <REG_FILE.reg>
heavyd
источник
Я думаю, что теперь все намного проще .
Волк
14

Если вы используете reg import yourfile.regиз 32 битных исполняемого файла или пакетного файла, и по какой - то сумасшедшей причине вы хотите ключи внутри , yourfile.regчтобы не быть перенаправлены на Wow6432Node, просто используйте следующий синтаксис:

reg import yourfile.reg /reg:64

Это так просто.

kmort
источник
Я думаю, что это не отвечает на реальный вопрос . Почему бы не поставить реальный ответ первым, добавив информацию о данном дополнении позже (или, что еще лучше, в качестве сноски)?
Вольф
5

regИнструмент установлен с 64-разрядной версией Windows , знает о технике виртуализации реестра. У него есть два новых переключателя: /reg:32и /reg:64. Если вы хотите применить экспорт реестра из 32-битной системы в 64-битную систему, используйте следующую командную строку:

reg import <CONF-APP-32.reg> /reg:32

У regинструмента есть справка командной строки, которая объясняет это в очень краткой форме через reg import /?.

... вы найдете это также в Интернете (хотя это немного сложно для Google), например:

волк
источник
0

Для этого я использовал следующие команды powershell:

$ RegFileName = ($ _. RegFileName) .trim ()

reg import ". \ $ RegFileName" / reg: 32

Упендра Гугане
источник