Skip to content

RegEditor портит сохраняемые файлы #18

Description

@de-served

1.1.38#4040 (x86)
GUID {257CF2CF-5025-4442-8FAC-239F56C21FC0}
RegEditorW3.dll 01.10.2014 15:28:42
Unicode File reg2

Сейчас приходится много возиться с бекапами реестров, выискивая похожее и разницу, копий много, файлов много, поэтому плагины для работы с реестром очень помогают, но есть и ложка дёгтя

Портятся сохраняемые .reg сразу по двум дорожкам:

1.1) Вхожу в файл SOFTWARE (reg2 его по умолчанию в 99% случаев не определяет и Far открывает эту БД как ArcLite:zip:SOFTWARE, естественно, не показывая ничего - ну это другая история, запускаю через reg2:SOFTWARE вручную постоянно)
1.2) Выделяю всё Ctr-* или Ctrl-+
1.3) F5, Enter, в процессе сохранения появляется ошибка "Ключ не существует или нет прав на чтение" к \Microsoft\Windows\CurrentVersion, после Enter обработка продолжается

Получаю файл HKEY.reg

Момент первый, не совсем глюк, т.е. вроде как глюк, но просто потому что не предусмотрено:
Имею в .reg-файле следующие записи

;RootFile=диск-путь-к-файлу-дата-время-бекапа-и-всё-такое\SYSTEM

[HKEY]

[HKEY\ActivationBroker]

И все ключи начинаются с HKEY. Всегда. Хотя разумно и правильно было бы сохранять исходную структуру, чтобы потом возможно было импортировать получаемые .reg без танцев с бубном. Сейчас танцевать приходится с сотнями файлов оооооочень много. Т.е. зная, что файл SYSTEM вполне можно и нужно прописывать полный путь в получаемом .reg - не HKEY, а HKEY_LOCAL_MACHINE, и файл сохранять при выборе более чем одного внутреннего ключа/значения тоже не как HKEY, а как HKLM_SYSTEM, например.
Так же и с SOFTWARE - тоже всё HKEY, как и имя файла, так и пути внутри .reg - разумно его называть HKLM_SOFTWARE и внутри пути прописывать [HKEY\ -> [HKEY_LOCAL_MACHINE.
DEFAULT, NTUSER.DAT, USRCLASS.DAT и прочие точно так же. Единственный нюанс с файлами NTUSER.DAT, USRCLASS.DAT - их в системе больше одного, по количеству пользователей. Но можно сделать ход конём, и файл на выходе в любом случае должен быть не HKEY, а NTUSER.DAT.reg и USRCLASS.DAT.reg, а ключи внутри вместо [HKEY\ -> [HKEY_CURRENT_USER\ - и проблема в 99.9% случаев решена, потому что практически вся работа осуществляется с HKEY_CURRENT_USER...

Момент второй, весьма глюк
После экспорта по пункту 1.3 получаем невалидный файл HKEY - этот же плагин его не открывает - "Ошибка разбора формата *reg файла диск-путь-к-файлу-HKEY.reg, Строка NNNNNNN, колонка 2 (нумерация с 1)"
При нажатии "В редактор" попадаем к месту двух испорченных записей:

[HKEY\Microsoft\Windows\Windows Error
						Reporting]

[HKEY\Microsoft\Windows\Windows Error
						Reporting\RuntimeExceptionHelperModules]

Названия ключей разорваны на две строки, вторая начинается с шести табуляций.

И дополнительный момент - если в настройках плагина переключить обработку .reg-файлов в положение "?", то при открытии сохранённых .reg-файлов появляется окно с вопросом, что делать с открываемым файлом. Каковы же последствия выбора "Импортировать..." на таких .reg-файлах? (в которых пути [HKEY...])

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions