Смешно читать о мелких багах, доставляющих при этом большие неудобства. Но когда столкнешься с таким самостоятельно — становится совсем не так смешно.
Одному из инженеров QA Service Lab для проведения серии тестов потребовалось обновить Windows 10 на самую свежую сборку 22H2, потому что нужное приложение отказывалось работать на текущей, более старой версии ОС. Дело житейское: запустили процесс, и вот — скачаны все файлы, загрузился установщик самого обновления, но установка не прошла. Программа заявила о конфликте с VirtualBox и попросила удалить его вручную.
Ну что же, так бывает, иногда приложения несовместимы, а какие-то операции нужно делать вручную. Но к удивлению — это не помогло: после удаления запрошенного приложения — установка все так же «ругалась» на наличие VirtualBox.
Зная, что так тоже случается и при удалении приложение может оставить за собой много «следов» в системе, пришлось вручную чистить системные папки и реестр. Но каково же было удивление, когда ошибка не исчезла даже тогда!
Поиск в Интернете показал, что это известная и достаточно частая проблема. На форумах рекомендовали самые разные решения (в том числе и те, которые уже были испробованы, но не дали результата). Одной из радикальных мер была рекомендация удалить вообще весь софт, так или иначе связанный с виртуализацией. Ну, что же поделать. Под нож пошли Docker, Android Studio (там есть встроенный эмулятор), WMware Workstation, Horizon… А ошибка — так и не исчезла!
В итоге, после долгих поисков, в глубинах Интернета была найдена статья, где перед советами, что можно удалить, все же дается информация о том, где хранится отладочная информация установщика. Проанализировав эти данные, мы поняли, что всё это время обновление «ругалось» на отдельно лежащий исполняемый файл с названием «virtualbox.exe», являющийся частью одного из тестовых фреймворков, и по факту к приложению VirtualBox не имеет никакого отношения.
Судя по всему, авторы мастера установки обновления написали логику поиска VirtualBox так, что он просто искал по всей файловой системе файлы с названием virtualbox.exe и, если находил, такой файл, считал, что приложение VirtualBox установлено в системе и блокирует обновление Windows. Конечно же такая логика изначально некорректна. Кроме того, если уж выбрали такой вариант определения – их право, но, чтобы улучшить пользовательский опыт, мастер установки мог бы указывать, что конкретно он нашел в системе такого, что мешает ему провести обновление.
Такую реализацию чаще всего можно увидеть в ПО для малой аудитории, либо когда его делал разработчик с не очень высокой квалификацией. Но ведь такую ситуацию допустила гигантская корпорация Microsoft с огромным штатом в том числе и тестировщиков!
Поэтому мы будем повторять снова и снова: любой софт должен быть проверен в разных ситуациях, так как в противном случае может пострадать клиент или репутация компании!
Сергей Москвин
Директор QA Service Lab