Як вставити записи реєстру з .reg-файлу в 32-розрядний реєстр у 64-розрядної Windows


12

У 64-розрядної Windows (Vista / 7) є HKLM\Software\Wow6432Nodeвсі 32-розрядні реєстри. Якщо у мене є .reg файл із деякими ключами, як я можу сказати regedit імпортувати його до 32-розрядного реєстру (під Wow6432Node), а не до 64-розрядного реєстру?

Навіть якщо я поклав шлях Wow6432 до ключів реєстру у файлі .reg, Windows "спритно" ігнорує їх і ставить їх у основний 64-розрядний реєстр.


Сором немає очевидного способу зробити це у самому файлі, оскільки ми не завжди матимемо контроль над тим, як його імпортувати.
Діанна

Не використовуйте regedit для цього. regКоманда прийняла б ваш патч. Але (можливо, лише тим часом) такі дії, як імпорт та експорт через 64-бітний / 32-бітний кордон, добре підтримуються 64-розрядним regінструментом. Будь ласка, подивіться на мою відповідь .
Вовк

Відповіді:


13

Ви повинні мати доступ до 32-розрядного реєстру виключно за допомогою 32-бітної версії regedit. Просто імпортуйте свої .regфайли за допомогою:

\Windows\syswow64\regedit.exe <REG_FILE.reg>

Я думаю, що зараз набагато простіше .
Вовк

14

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

reg import yourfile.reg /reg:64

Так просто, як це.


Я думаю, що це не дає відповіді на власне питання . Чому б не поставити реальну відповідь спочатку, додавши подану інформацію про доповнення пізніше (або, ще краще, як виноску)?
Вовк

5

regІнструмент встановлений з 64-розрядної версії Windows , знає про техніку віртуалізації реєстру. Він має два нові комутатори: /reg:32і /reg:64. Якщо ви хочете застосувати експорт реєстру з 32-бітної системи до 64-бітної системи, використовуйте наступний командний рядок:

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

regІнструмент має довідки командного рядка , яка пояснює це в дуже короткій формі через reg import /?.

... Ви знайдете це також в Інтернеті (хоча це трохи важко в Google), наприклад:


0

Нижче я використав команди команд powerhell, щоб досягти цього:

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

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.