Miranda NG Official Community Forum
Miranda NG русскоязычный форум => Новости => Topic started by: dartraiden on 10 01 2020, 12:34:26
-
Проблема возникает с базами, созданными с помощью ранней версии драйвера MDBX… для успешного обновления сделайте следующее:
После восстановления предыдущей версии программы из резервной копии (\каталог Миранды\Plugin Updates\Backups), войдите в профиль и сожмите его («База данных → Сжать» в главном меню). Сделайте резервную копию профиля и обновите программу.
-
Способ не работает при обновлении с 0.95.12.1 на 0.96.1.0.
-
У этой ошибки могут быть разные причины, вплоть до того, что на новой версии отсутствует нужный драйвер базы (например, если профиль в формате MDBX, а dbx_mdbx пользователь установить забыл).
-
Проблема в том, что это делает не пользователь, а автоматическое обновление Miranda NG. При обновлении с 0.95.12.1 на 0.96.1.0 старый драйвер базы удаляется, но база не обновляется на новый формат, который будет необходим после обновления. Как-то недальновидно.
-
А почему он удаляется... Если он был в старой версии (а он был, база ведь как-то открывалась), то он обновится до актуальной, но мы его не удаляем.
Даже в коде (https://github.com/miranda-ng/miranda-ng/blob/0_96_1/plugins/PluginUpdater/src/DlgUpdate.cpp#L466) видно, что dbx_mdbx в списке на принудительное удаление отсутствует, удаляются только вспомогательные утилиты.
Можете дать старую версию Миранды со всеми плагинами (без базы)?
-
Вот 0.95.12.1 https://disk.yandex.ru/d/fcPDZze8VrBezw (https://disk.yandex.ru/d/fcPDZze8VrBezw), которая при запуске желает обновиться и после этого сразу ломается.
-
Проблема в том, что в корне осталась libmdbx.mir. Она должна была стереться, но по какой-то причине этого не происходит. В новой версии библиотека лежит в Libs, а старая остаётся лежать в корне. Из-за того, что винда при запуске приложения всегда сперва ищет требуемое в корне, первой попадается старая библиотека и драйвер падает.
Таким образом, в качестве временного решения достаточно стереть её вручную после обновления:
- обновиться
- когда Миранда скажет про неизвестный формат профиля, удалить libmdbx.mir из корневого каталога вручную
- снова запустить Миранду
-
Спасибо! После удаления libmdbx.mir обновление базы проходит в штатном режиме. Действительно получилось наоборот, не нужный плагин удаляется, как я предполагал, а остается на месте более не нужный ;D