e2: STOP 0x0200 VERSION_CONTROL
Некоторые интересовались что это и почему это — STOP. Рассказываю всё по-порядку.
В реестре e2 хранит текущую свою версию. При инсталляции он туда её записывает, и потом использует:
- Когда нужно показать, какие есть обновления (показывает обновления начиная с вашей версии + 1 и до последнего);
- В процессе скачивания обновлений, чтобы определить, какие именно файлы нужно скачать (скачивается только то, что изменилось);
- После скачивания обновлений, чтобы сделать нужные изменения в структуре базы и/или реестра.
После установки обновлений e2 записывает в реестр ту версию, до которой он обновился, и цикл повторяется.
Теперь предположим, следующее. Вы устанавливаете дистрибутив v555 и через некоторое время обновляетесь до v666. В ходе обновления база и реестр нужным образом переделываются, чтобы v666 продолжала работать как ни в чём не бывало. Неожиданно вы понимаете, что v555 вам нравится больше (потому что не такое страшное число) и решаете вернуться на неё, заменив core.php старым.
В результате e2 больше не открывается, а вместо этого умирает со словами:
STOP 0x0200 VERSION_CONTROL
Это происходит потому, что версия core.php меньше чем та, которая записана у него в реестре. Если бы в e2 не было этого сообщения STOP, то старый core.php бы попытался работать с данными, новый формат которых ему неизвестен. К чему это могло бы привести — никто не знает. Поэтому на всякий случай, чтобы ничего не повредить, e2 останавливается.
Что же теперь делать? Во-первых, как уже понятно, всё данные целы и невредимы благодаря этому STOP’у, поэтому не нужно паниковать. Во-вторых, есть два пути восстановления нормальной работы e2:
- Вернуть на место ядро v666 или более позднее и наслаждаться им, забив на суеверия (рекомендуется!)
- На свой страх и риск вручную изменить в реестре версию на v555, чтобы version control не догадался, что вы пытаетесь перейти на более старую версию (не рекомендуется!)
Если вы собираетесь производить манупуляции с реестром, то лучше сначала сохраните все свои данные куда-нибудь в надёжное место.