Author Topic: Ошибка «Miranda NG не может открыть <имя_профиля>, профиль в неизвестном формате  (Read 9383 times)

0 Members and 1 Guest are viewing this topic.

Offline dartraiden

Проблема возникает с базами, созданными с помощью ранней версии драйвера MDBX… для успешного обновления сделайте следующее:

После восстановления предыдущей версии программы из резервной копии (\каталог Миранды\Plugin Updates\Backups), войдите в профиль и сожмите его («База данных → Сжать» в главном меню). Сделайте резервную копию профиля и обновите программу.
 
The following users thanked this post: caphook

Offline Dm1

Способ не работает при обновлении с 0.95.12.1 на 0.96.1.0.
 

Offline dartraiden

У этой ошибки могут быть разные причины, вплоть до того, что на новой версии отсутствует нужный драйвер базы (например, если профиль в формате MDBX, а dbx_mdbx пользователь установить забыл).
« Last Edit: 23 07 2022, 12:09:49 by dartraiden »
 

Offline Dm1

Проблема в том, что это делает не пользователь, а автоматическое обновление Miranda NG. При обновлении с 0.95.12.1 на 0.96.1.0 старый драйвер базы удаляется, но база не обновляется на новый формат, который будет необходим после обновления. Как-то недальновидно.
 

Offline dartraiden

А почему он удаляется... Если он был в старой версии (а он был, база ведь как-то открывалась), то он обновится до актуальной, но мы его не удаляем.

Даже в коде видно, что dbx_mdbx в списке на принудительное удаление отсутствует, удаляются только вспомогательные утилиты.

Можете дать старую версию Миранды со всеми плагинами (без базы)?
« Last Edit: 23 07 2022, 15:44:54 by dartraiden »
 

Offline Dm1

Вот 0.95.12.1 https://disk.yandex.ru/d/fcPDZze8VrBezw, которая при запуске желает обновиться и после этого сразу ломается.
 
The following users thanked this post: dartraiden

Offline dartraiden

Проблема в том, что в корне осталась libmdbx.mir. Она должна была стереться, но по какой-то причине этого не происходит. В новой версии библиотека лежит в Libs, а старая остаётся лежать в корне. Из-за того, что винда при запуске приложения всегда сперва ищет требуемое в корне, первой попадается старая библиотека и драйвер падает.

Таким образом, в качестве временного решения достаточно стереть её вручную после обновления:
- обновиться
- когда Миранда скажет про неизвестный формат профиля, удалить libmdbx.mir из корневого каталога вручную
- снова запустить Миранду
« Last Edit: 24 07 2022, 12:10:05 by dartraiden »
 
The following users thanked this post: Dm1

Offline Dm1

Спасибо! После удаления libmdbx.mir обновление базы проходит в штатном режиме. Действительно получилось наоборот, не нужный плагин удаляется, как я предполагал, а остается на месте более не нужный  ;D