FarPlugins icon indicating copy to clipboard operation
FarPlugins copied to clipboard

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

Open de-served opened this issue 1 year ago • 0 comments

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...])

de-served avatar Dec 18 '23 23:12 de-served