Файл протокола установки приложения не опознан данной версией
Для чего нужно устанавливать приложения, да и нужно ли вообще? Наличие в Windows программы-установщика — это необходимость, которая обусловлена архитектурой платформы, прежде всего, привязкой к системному реестру. Задача такого мастера установки — дать пользователю возможность самостоятельно определить базовые настройки устанавливаемого ПО: выбрать инсталлируемые компоненты, указать расположение файлов приложения на своем жестком диске и так далее. То же самое можно сказать и про механизм удаления установленного приложения.
Когда запускается установщик приложения, программа выполняет ряд действий — записывает данные в системный реестр, создает папку приложения на жестком диске, копирует в нее нужные файлы, создает вспомогательные данные. Самые продвинутые программы могут вносить изменения в систему, например менять конфигурацию оборудования, добавлять новые виртуальные устройства, менять сетевые настройки и так далее. При удалении все происходит с точностью до наоборот — программа деинсталляции удаляет оставленные записи, восстанавливает системные настройки. Достаточно одной неточности, и в системе появляется ошибка, скажем, в виде неиспользуемой информации в системном реестре. На первых порах наличие этой ошибки ничем не мешает пользователю. Но, по прошествии некоторого времени, когда таких «мусорных» сведений становится слишком много, производительность заметно снижается. Кроме того, некоторые ошибки некорректной установки-удаления программ могут вызывать сбой в системных процессах — в этом случае могут возникнуть конфликты между работающими приложениями и запущенными сервисами.
- Разработчик: Chemtable Software
- Распространение: shareware
- Русский интерфейс: есть
Full Uninstall — это очень простая программа, и главным ее предназначением является корректная деинсталляция ПО. Работает приложение так: после его установки включается мониторинг за запуском исполняемых файлов. Как только Full Uninstall определяет, что запущен такой файл, она предлагает установить ее в режиме отслеживания изменений. Установка в таком режиме происходит немного дольше, чем обычным способом, однако при этом Full Uninstall фиксирует все изменения файлов и системного реестра.
В окне Full Uninstall всегда можно просмотреть список всех установленных программ, а для тех из них, которые инсталлировались в режиме отслеживания изменений, увидеть все созданные записи реестра, файлы и пр. Удалить приложения из системы тоже можно из окна Full Uninstall. При этом запускается «родной» деинсталлятор приложения, однако после того, как его работа завершается, есть возможность проверить, остались ли в системе «хвосты», и почистить их.
- Разработчик: CrystalIdea Software
- Распространение: shareware
- Русский интерфейс: есть
Uninstall Tool предлагает более удобное окно управления установленными приложениями, чем стандартный апплет «Программы и компоненты». В нем реализована подсветка недавно установленных приложений, есть информация о том, являются ли программы 32- или 64-разрядными. Также есть возможность получить сведения о дате и времени установки, версии программы, перейти на сайт разработчика, открыть папку приложения на жестком диске или папку в реестре с основными записями о ней.
При помощи Uninstall Tool можно также управлять приложениями, которые запускаются вместе с Windows, просматривать системные и скрытые утилиты, выполнять поиск среди установленных приложений в реальном времени.
- Разработчик: Gavrila Martau
- Распространение: shareware
- Русский интерфейс: есть
Total Uninstall может пригодиться и для слежения за вновь устанавливаемыми приложениями, и для удаления тех, которые появились в системе еще до появления в ней Total Uninstall. Программа способна определять изменения, сделанные инсталляторами, даже для тех программ, для которых не осуществлялось слежение, хотя, конечно же, не столь точно. Кроме этого, приложения, которые были установлены с использованием модуля слежения, можно удалить из системы, не обращаясь к «родному» деинсталлятору. Отслеженные приложения отображаются отдельно от всех остальных.
Модуль слежения не работает в автоматическом режиме, и для установки программы с его помощью придется немного повозиться. Сначала создается снимок системы, потом указывается путь к установочному файлу, затем проходит установка, после чего вручную нужно указать, что она завершена.
Для приложений, установленных обычным способом, Total Uninstall предлагает сначала запустить работу прилагаемого к ним деинсталлятора, а затем — собственное средство для очистки. Нужно сказать, что в большинстве случаев даже такой способ дает свои результаты. Так, наше тестирование показало, что запуск чистильщика Total Uninstall после обычного деинсталлятора во многих случаях помогает удалить оставшиеся в реестре записи.
После первого запуска Total Uninstall проводит анализ системы и составляет список всех имеющихся приложений. При этом для каждого выводится статистическая информация о том, сколько папок, файлов, ключей и значений реестра было создано, предоставляется путь к файлу журнала, ссылка на официальный сайт и т.д.
Перейдя в режим просмотра изменений, можно увидеть древовидную структуру файловой системы и реестра и просмотреть все добавленные программой элементы. Если программа устанавливает свои службы и устройства, они также отображаются. По умолчанию Total Uninstall проводит средний анализ системы, но при желании можно выбрать другой уровень поиска изменений — безопасный или, наоборот, глубокий.
Total Uninstall дает возможность выполнять поиск не только по названиям приложений, но и по другим созданным, удаленным или измененным программами объектам: папкам, файлам, значениям и ключам реестра.
Еще одна интересная возможность Total Uninstall — создание резервной копии приложения. Эта функция будет полезна, например, в тех случаях, если вы опасаетесь, что после установки дополнительных приложений может возникнуть конфликт. Резервная копия поможет восстановить приложение до работоспособного состояния, не переустанавливая его.
- Разработчик: VS Revo Group
- Распространение: shareware
- Русский интерфейс: есть
Revo Uninstaller предлагается в двух версиях: бесплатной и коммерческой. Обычная редакция является просто усовершенствованным вариантом системного апплета «Программы и компоненты», в то время как профессиональная содержит ряд интересных функций, таких как модуль слежения за устанавливаемыми приложениями и режим «охоты».
Как и Total Uninstall, эта программа формирует отдельный список отслеженных приложений. В верхней части общего списка программ можно увидеть приложения, установленные недавно. В Revo Uninstaller предусмотрена возможность сортировки программ по группам, что является хорошим дополнением к функции поиска.
По любому приложению можно быстро получить расширенную информацию, а также попробовать найти его название в Google. Эта функция удобна для поиска неизвестных приложений — если окажется, что программа является вредоносной, то, скорее всего, поисковик об этом расскажет.
Еще одна функция, помогающая определить наличие рекламных и вредоносных модулей, — режим «охоты». Не секрет, что инсталляторы многих приложений устанавливают не только основную программу, но и разные дополнения: панели инструментов, рекламные модули и т.д. Проблема в том, что при деинсталляции основного приложения установленные вместе с ним дополнения остаются в системе. А поскольку ведут они себя чаще всего вызывающе (вешают свои ярлыки на рабочий стол, прописываются в Автозагрузку), они доставляют пользователю массу неудобств.
Режим «охоты» предназначен именно для борьбы с такими надоедливыми приложениями. Если вы никак не можете определить, какой программе принадлежит значок в системном трее, просто включите режим «охоты» и наведите курсор-мишень на него. Курсор также можно наводить на ярлык программы или на открытое окно. Revo Uninstaller тут же определит, какому приложению принадлежит этот элемент, и предложит убрать его из автозагрузки, убить относящийся к нему процесс, открыть папку установки приложения, принудительно деинсталлировать его. Кроме этого, есть возможность быстро поискать в Google название файла приложения.
Кроме режима «охоты», в профессиональной версии Revo Uninstaller есть ряд других полезных возможностей. Например, можно вывести на печать список установленных приложений, получить его в виде текстового файла, HTML-странички или файла XLS. В Revo Uninstaller Professional есть также возможность полного резервного копирования реестра и функция удаления следов приложений, которые были некорректно деинсталлированы ранее.
- Разработчик: Ashampoo GmbH
- Распространение: shareware
- Русский интерфейс: есть
В состав Ashampoo Uninstaller входит монитор установок, который постоянно следит за запуском установочных файлов и предлагает отследить изменения, возникающие в процессе инсталляции. Как и в других приложениях, установка программы в режиме отслеживания позволяет более корректно удалить ее. Но интересно, что в Ashampoo Uninstaller можно создавать снимки системы не только перед установкой программ, а и в любое время. Такие снимки могут затем сравниваться между собой, использоваться для корректной деинсталляции и т.д. Снимок содержит информацию о состоянии реестра, файловой системы и отдельно — о состоянии системных файлов. Поэтому если, например, потребуется оценить, насколько корректно работает стандартный деинсталлятор приложения, это легко выполнить при помощи двух снимков системы, сделанных непосредственно перед установкой и сразу после деинсталляции.
В Ashampoo Uninstaller есть еще одна интересная функция, позволяющая восстановить удаленное приложение без повторной установки. Она может пригодиться, например, если под рукой не будет дистрибутива удаленного приложения. Чтобы ею воспользоваться, нужно при установке приложения создать снимок системы, а при деинсталляции — специальный файл, содержащий информацию о восстановлении.
Несмотря на то, что в названиях практически всех программ для деинсталляции присутствует слово uninstall, на самом деле далеко не все они действительно помогают полностью избавиться от «хвостов» удаленных приложений. По большому счету единственный верный способ это сделать — отследить, какие изменения программа вносит в систему при установке. Именно поэтому те утилиты для деинсталляции, которые не предлагают режима слежения за устанавливаемыми программами, скорее, относятся к категории обычных чистильщиков. Впрочем, поскольку и чистильщики, и средства для деинсталляции преследуют одну и ту же цель — избавить пользователя от лишнего «мусора» в системе и тем самым оптимизировать его работу, нет ничего удивительного в том, что нередко разработчики предлагают комплексные решения, в которых можно найти и то и другое.
Программа с компьютера удалена, а в списке панели установки и удаления программ строка с программой не удаля
При нажатии на "Удалить" выходит окно: "Файл не найден или не существует, деинсталляция невозможна". Также при запуске компьютера выходит баннер программы, как при автозапуске, потом также выходит окно, что файл не найден, и надо кликнуть на "ОК", что это исчезло с компьютера. И так каждый раз. Как это всё убрать? И из списка панели установки и удаления программ и с рабочего стола при загрузке?
Вступите в группу, и вы сможете просматривать изображения в полном размере
Обо всем по порядку. Для начала стоит определить, не используется ли удаляемый элемент каким-то приложением или программой, если так, то запрет на удаление объясним. Если же причина не в этом, а пользователь проверил реестр, завершил процесс, а завершить действие не получается, то копать нужно глубже. Возможно, не удаляется файл из-за действий администратора, который наложил запрет на процесс и забыл об этом, что маловероятно. Причин подобной проблемы множество, а действенных способов, когда не удаляется файл и пишет, что используется, всего 3. О них и поговорим подробно.
Кроме этого пользователь узнает, как удалить программу, которая не удаляется встроенными и сторонними утилитами.
Деинсталляция файла без использования сторонних утилит
Когда пользователь пытается удалить файл, который не удаляются, то перед ним всплывает окно, как представлено выше. Если рассмотреть внимательно, что указано, то можно увидеть какая именно программа использует удаляемый элемент. Следуя стандартной логике, удаление возможно при создании условий, когда исполняемый файл не будет задействован. В моей ситуации открывается вот такое окошко, у вас принцип тот же самый, только программа может быть другой:
В этом случае удалить программу, если она не удаляется, нам поможет встроенный диспетчер задач.
- Если ваш компьютер под управлением Windows Seven или XP, то открываем приложение комбинацией клавиш:
- При управлении компьютером операционкой восьмого выпуска и попытке удалить неудаляемые файлы через диспетчер, следует нажать такую комбинацию:
- Здесь пользователь находит процесс, блокировавший деинсталляцию, выделяет его курсором и снимает задачу или завершает процесс;
- Теперь можно опять пробовать удалить не удаляющийся файл с компьютера.
Если у вас в окне было указано, что файл занят, например, браузером, то именно его работу нужно завершать в диспетчере.
Установочный диск или флешка, для удаления файлов
Теперь рассмотрим способ, который позволит удалить сопротивляющийся элемент. Для его реализации вам потребуется загрузочный диск или флешка. Пользователь может использовать носитель, который он подготовил на случай аварийного восстановления компьютера. При запуске системы юзер определяет удобный интерфейс управления (виндовс или командная строка).
Совет! Если вы решили реализовать описываемый метод деинсталляции файлов, то рекомендуется обратить внимание на имена разделов, при подобном способе загрузке, они могут отличаться от заданных ранее. Это поможет вам избежать удаления важной информации.
Когда комп загрузится, определить требуемый диск можно через команду в системной строке:
Далее нажать кнопку ввода и на мониторе высветиться перечень папок на диске:
Кликая по ним ПКМ можно перемещаться внутри и деинсталлировать ненужные элементы.
Если вы решили удалить файлы, которые не удаляются, посредством установочной флешки или диска, то нужно выполнить запуск. Далее подождать когда система перейдет к определению языкового сопровождения, и здесь нажать комбинацию:
Это проведет вас в командную строку.
Использование программы Unlocker, чтобы удалить файл
Если описанные ваше варианты не подходят, то предлагаю альтернативный вариант сторонние утилиты. К рассмотрению предлагается одна из лучших программ – Unlocker. Список ее достоинств не маленький, из главных:
- небольшой вес;
- бесплатное распространение;
- функция разблокировки файлов;
- позволяет удалить файл, открытый в system.
Когда пользователь сталкивается с проблемой удаления файла, у опытных юзеров в голове сразу проскакивает название только этой программы, что и понятно. Ведь она справляется со своей основной задачей – закрытие процессов блокировки файла. С ее помощью можно не только деинсталлировать, но и давать другое название, менять расширение.
Для начала установим ее на свой компьютер. В процессе инсталляции программа предложит панель управления или тулбары, можно смело отказываться, они все равно не помогут удалить не удаляющиеся файлы, нас интересует только утилита.
Приветственное окно выглядит так, здесь снимаем ненужные отметки:
Подскажите, как можно полностью удалить программу из Windows. Пробовал разными способами: через меню ПУСК, через установку и удаление программ, вручную удалял папку и т.д. Всё равно, при ее повторной установке — установщик пишет, что она у вас уже имеется и нужно сначала ее удалить.
Известная проблема. Сразу скажу, что встроенная утилита в Windows по установке и удалению программ далека от идеала, и частенько не может выполнить свои функции (к тому же после ее работы в системе остается множество "хвостов" как в реестре, так и просто, среди временных файлов).
В статье рассмотрю несколько способов решения вашей проблемы. И так.
"Полное" удаление программы из Windows
В большинстве случаев происходит подобное из-за того, что пользователь удаляет программу очень простым способом: заходит в проводник, находит нужную папку в каталоге Program Files и нажимает Delete ( результат : файлы программы удалены, но записи в реестре остаются. ) .
Чтобы такого не происходило, необходимо удалять программы (хотя бы) с помощью стандартного установщика, встроенного в Windows. Об этом пару слов в пункте-1 ниже.
❶ Классическое удаление программы через панель управления
В панели управления необходимо перейти по адресу: Панель управления Программы Программы и компоненты .
Далее нужно найти и выделить искомую программу, затем нажать кнопку "удалить" (в идеале запустится установщик и за несколько шагов программа будет удалена) .
Панель управления — программы — программы и компоненты
(Автору вопроса это не поможет, но в рамках статьи рекомендую начать разбираться с вопросом именно с этого шага).
Кстати, в Windows 10 можно удалять приложения через параметры системы (чтобы их открыть — нажмите сочетание клавиш Win+i). См. скриншот ниже.
Windows 10 — приложения — приложения и возможности
❷ Если "Программы и компоненты" ничем не помогли.
Например, в списке не оказалось нужной программы, то можно попытаться вручную отыскать деинсталлятор.
Многие пользователи просто удаляют папку с программой с системного диска "C:". Но подобный шаг — только добавит свободного места на HDD, сама система будет считать, что программа всё еще установлена (ведь, те же записи в системном реестре-то остались).
А для правильного удаления нужен деинсталлятор (спец. небольшая утилита от разработчика для удаления его программы) . Деинсталлятор, обычно, всегда находится в папке с установленной программой. Представляет он из себя файл " Uninstall.exe " ( прим.: могут быть различные производные вида "unins000.exe") .
Большинство программ, по умолчанию, устанавливаются в папки:
Поэтому, если через установку и удаление программ удалить приложение не получилось, необходимо зайти в одну из этих папок, затем найти каталог программы (которую хотите удалить) , и посмотреть — нет ли там подобного файла.
Кстати, при наведении мышкой на такой файл — появляется небольшое окно, вида "Описание файла: Setup/Uninstall" (см. скриншот ниже).
В общем-то, если такой файл есть — вам осталось его запустить и следовать указаниям.
Важно!
Кстати, для некоторого софта разработчики на официальных сайтах выкладывают специальные деинсталляторы. Представляют они из себя обычное приложение, которое проверит вашу систему, и начисто удалит все следы когда-то установленной программы.
Например, подобные деинсталляторы есть для антивирусов (Касперский, Нод 32 и т.д.).
❸ Утилиты для полного удаления проблемного софта
Если предыдущие шаги не увенчались успехом (а также для чистки системного реестра от хвостов) — для удаления сбойных программ существуют специальные утилиты. Они покажут практически все установленные программы (в отличие от "Установки и удаления программ" в Windows) , и могут удалять принудительно и полностью любую из них!
IObit Uninstaller
Отличная программа для отслеживания установленного софта, автозагрузки Windows (утилита предупреждает, когда кто-то туда вторгается) , и для удаления начисто любого софта из системы (удаляются в том числе и хвосты, которые оставляет стандартный установщик в Windows) .
К тому же, утилита бесплатна и работает во всех версиях Windows: XP, 7, 8, 10.
Как удалить программу в IObit Uninstaller — просто выделите нужное приложение, и нажмите по значку корзины
- возможность очистки браузера от надстроек и тулбаров (рекламного ПО, различных баннеров, ссылок и пр., что сейчас часто встраивается в браузеры);
- наличие функции принудительного удаления приложений;
- возможность глубокой проверки системы на наличие оставшегося "мусора", "хвостов" от старого софта;
- утилита бесплатна и поддерживает русский!
IObit Uninstaller — автоматически нашел оставшиеся записи в реестре (хвосты)
Geek Uninstaller
С одной стороны, очень простая утилита для удаления программ, с другой — это мощный инструмент для очистки вашей системы от ненужного софта (так, чтобы не осталось даже следа от того, что он когда-то присутствовал ✌) .
- попытаться удалить ее стандартным образом (деинсталляция);
- если не получилось — удалить принудительно;
- можно просто удалить запись о ней из реестра;
- также утилита поможет найти веб-сайт программы, папку на диске, куда была установлена программа, и записи в реестре, связанные с ней.
Главное окно программы Geek Uninstaller — пример деинсталляции приложения
CCleaner
Одно из лучших бесплатных решений для очистки и оптимизации системы. В рамках данной статьи интересные дополнительные функции этой утилиты (которые находятся в меню "Сервис") :
- удаление программ (можно провести стандартную деинсталляцию, но если не получилось — можно просто удалить сведения о программе из системы и реестра (в этом случае папку с файлами программы нужно будет удалить ручную) );
- есть контроль за автозагрузкой Windows;
- возможность поиска и удаления дубликатов файлов;
- удаление тулбаров и дополнений в браузерах и пр. (см. скрин ниже).
❹ Удаление ключа вручную из реестра
Бывает и такое, что утилиты бессильны (хотя редко, но все-таки) . В этом случае можно вручную удалить из реестра ключи и "хвосты" от программы, а затем удалить ее папку из каталога Program Files на системном диске "C:" (со всеми ее файлами) .
Чтобы войти в системный реестр, необходимо:
regedit — открыть редактор реестра
Реестр представляет из себя большую базу данных, в котором много различных каталогов и ключей. Нам нужно найти следующую ветку: HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall .
Именно в этой ветке содержатся ключи практически от всех установленных программ в Windows. Открыв ее, вы увидите, что часть программ имеют привычное название, другая часть: непонятные цифры с буквами.
Чтобы найти ключи от конкретной программы, щелкните правой кнопкой мышки по каталогу Uninstall и нажмите "Найти" . Далее вбейте в поисковую строку название программы (на латинице).
Поиск ключа программы
Затем редактор предоставит вам найденные данные. Вам осталось их удалить, а затем переустановить программу (например).
Удаление ключей из реестра
Также обратите внимание, что некоторые утилиты для удаления программ могут в авто-режиме найти записи в реестре (например, в IObit Uninstaller достаточно кликнуть правой кнопкой мышки по приложению, и в появившемся меню выбрать "Открыть в Regedit" ) .
Расположение приложения и его ветки в реестре / IObit Uninstaller
Совет №2
Бывает и так, что программа не удаляется из-за того, что требует права администратора, или пишет, что она уже используется. В этом случае попробуйте загрузить систему в безопасном режиме , и произвести удаление программы из него. Во многих случаях помогает!
Это мощное бесплатное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта, но генерит на 200-300 кб больший инсталятор. На данный момент он конкурирует и даже превосходит многие коммерческие установщики по функциональности и стабильности.
Inno Setup Compiler 5.3. 8 build 100322 Final - расширенная версия от ResTools (зеркало)
Inno ISCmplr Setup 5.3. 8 build 100323
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
Документация, FAQ, и различные примеры для Inno Setup - Здесь можно найти различную документацию, примеры и т.д.
Дополнительные библиотеки для Inno Setup - Corona Skin, InnoTools Downloader, коллекция DLL файлов, распаковка архивов 7-zip и FreeArc и т.д.
Дополнительные утилиты для Inno Setup - сюда входят различные распаковщики, надстройки над Inno Setup, различные генераторы скриптов, утилита объединения скриптов и т.д.
Inno Setup плюс внешние упаковщики - обсуждение FreeArc+Inno, Precomp+Inno, 7zip+Inno и Inno+остальные внешние упаковщики.
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - обсуждение того, какими утилитами/способами лучше сжимать, чтобы получить как можно меньший размер инсталятора.
Перед тем, как задать вопрос: загрузите "версию для печати" (ссылка справа вверху, над номерами страниц) и попробуйте поискать средствами браузера (ctrl+F). Большинство типовых задач уже решались, причем неоднократно!
"Файл протокола для деинсталляции не распознан данной версией деинсталлятора и деинсталляция невозможна"
Во первых: нафига копируешь в темп файлы get_hw_caps.dll и get_hw_caps.exe если в скрипте их не используешь? (get_hw_caps.dll - это .dll для инно для проверки системных требований).
Во вторых: в скрипте все правильно прописано эт ты чето с реестром намутил.
molot76
Да, действительно, есть такое дело. Нужно поковырять, что там к чему.
Тестирование установки ПО направленно на проверку успешной инсталляции и настройки, а также обновления или удаления программного обеспечения.
В настоящий момент наиболее распространена установка ПО при помощи инсталляторов (специальных программ, которые сами по себе так же требуют надлежащего тестирования.
В реальных условиях инсталляторов может не быть. В этом случае придется самостоятельно выполнять установку программного обеспечения, используя документацию в виде инструкций или readme файлов, шаг за шагом описывающих все необходимые действия и проверки.
В распределенных системах, где приложение разворачивается на уже работающем окружении, простого набора инструкций может быть мало. Для этого, зачастую, пишется план установки (Deployment Plan), включающий не только шаги по инсталляции приложения, но и шаги отката (roll-back) к предыдущей версии, в случае неудачи. Сам по себе план установки также должен пройти процедуру тестирования для избежания проблем при выдаче в реальную эксплуатацию. Особенно это актуально, если установка выполняется на системы, где каждая минута простоя — это потеря репутации и большого количества средств, например: банки, финансовые компании или даже баннерные сети. Поэтому тестирование инсталляторов можно назвать одной из важнейших задач по обеспечению качества программного обеспечения.
Именно такой комплексный подход с написанием планов, пошаговой проверкой установки и отката инсталляции, полноправно можно назвать тестированием установки или Installation Testing.
Под катом много текста о том, что следует помнить при тестировании.
Особенности тестирования инсталляторов:
Инсталлятор — это «обычная» программа, основные функции которой — Установка (Инсталляция), Обновление и Удаление (Деинсталляция) программного обеспечения.
Всем известна народная мудрость: "Встречают по одежке, а провожают по уму". Инсталляционное приложение и есть та самая одежка, по которой создается первое впечатление о Вашем продукте. Именно поэтому тестирование установки — это одна из важнейших задач.
Если эти особенности не зарядили Вас на серьезное отношение к тестированию инсталляционных программ, то хочу привести небольшой список рисков, который покажет всю значимость корректной работы инсталляторов:
● риск потери пользовательских данных.
● риск вывода операционной системы из строя.
● риск неработоспособности приложения.
● риск некорректной работы приложения.
В тоже время, как и на любую программу, на инсталлятор накладываются некоторые функциональные требования. Объединив их со списком особенностей, мы получим более полную картину, показывающую объем предстоящих работ по тестированию. Далее, исходя из списка требований, Вам надо будет ответить на вопросы: «Что тестировать?», и только затем — «Как тестировать?».
С современным изобилием персональных компьютеров, серверов и операционных систем, возникла потребность в установки одного и того же программного обеспечения на разные платформы. Для этого инсталляторы должны понимать что и куда они устанавливают в зависимости от окружения.
Что тестировать в Инсталляционных программах?
Как тестировать Инсталляции?
Получение списка файлов должно проводиться До, а проверка самих файлов — После установки.
Самое правильное — это попытаться получить список файлов от сборщика инсталляционного пакета. Фраза: «Возьмите и составьте список после установки ПО, там все верно» — это провокация и на нее лучше не поддаваться.
Если программа содержит файлы подписанные сертификатом, например от MS, то не исключено, что могут попадаться временные файлы, которые уже не нужны для работы приложения (*.tmp и т.д.). Обратите внимание, что один и тот же инсталляционный пакет может устанавливать под разные ОС разные наборы файлов. Поэтому тестировать надо делать под каждую ОС отдельно.
Практически для любой ОС важна регистрация рабочих библиотек и служебных записей. Например, в ОС Windows вам необходимо будет проверить системный реестр на предмет корректной записи новых данных и регистрации новых/нового приложения.
Если при открытии документа, на работу с которым рассчитана ваша программа, вы получите в результате диалог выбора программы для открытия файлов данного типа или же он будет открыт другим приложением, то налицо будет ошибка регистрации расширения в ОС.
Обновление
Проверка обратной совместимости включает следующие шаги:
● После установки обновления, все ранее созданные приложением объекты, такие как документы, формы, сохранения (если это игра) должны открываться и работать без ошибок. Такое поведение называется обратная совместимость (backward compatibility). Пользовательские настройки должны остаться прежними, конечно если обновления не затрагивали именно их изменение.
● Созданные в новой версии однотипные документы должны корректно открываться в старых версиях, конечно если целью обновления не стояло изменение формата и структуры файлов. Если же был внедрен новый формат, то в новой версии должна быть реализована возможность сохранения документа в старом формате.
● В случае, если обновляемое приложение запущено, пользователь должен получить предупреждение о том, что обновление невозможно, при работающем приложении.
Заметим, что процесс обновления может быть остановлен в любой момент, при этом исходное приложение должно остаться не изменённым и в рабочем состоянии. Допустим у вас установлено приложение версии 1, вы пытаетесь обновить его до версии 2, но в процессе установки передумали и прервали установку. В этом случае инсталлятор должен вернуть все уже сделанные изменения, почистить использованные для обновления временные файлы и завершить свою работу. При этом приложение версии 1 остается в рабочем состоянии.
Удаление (Деинсталляция)
Тестирование мастера установки (Installation Wizard)
В большинстве случаев инсталлятор представляет собой приложение в виде мастера (Wizard), которое может обладать специфическими требованиями, рекомендации по тестированию которых рассмотрены ниже:
Кросс-платформенное тестирование инсталляторов
Отдельным пунктом хочется выделить кросс-платформенное тестирование инсталляторов, которое обязательно должно проводиться для всех трех функций — установка, обновление и удаление:
● Корректность работы инсталлятора с различными версиями ОС, Сервиспаков (ServicePack) и установленных обновлений.
● Проверка файлов, драйверов и библиотек при установке под разные ОС.
● Проверка прав на доступа к файлам, папкам и к системным записям для разных ОС.
● Проверка установленных на файлы приложения разрешений (Permissions).
Для упрощения процедуры тестирования рекомендуется создать таблицу, где колонками будут идти требуемые конфигурации, а строками — тестовые случаи (test cases) или тестируемые функции. В процессе тестирования на пересечении колонок и строк заполняйте результат, что сможет визуально показать прогресс тестирования и соответствие «кросс-платформенным» требованиям.
Проверка списка устанавливаемых файлов проводится по аналогии, что же касается установки драйверов и библиотек, то тут следует отметить особую важность данной проверки. Не все драйвера и библиотеки одинаково хорошо работаю на разных платформах.
Случай из практики: «Для некоторых драйверов есть зависимость от файловой системы, на которой работает ОС. Точнее для некоторых типов ошибок. Был случай, когда на NTFS все прекрасно работало, а на FAT32 нет. Причина была в неверной записи при установке драйвера в реестр.»
Необходимо проверить, что инсталлятор имеет права на доступ к файлам, папкам и к системным записям. Особенно это важно при инсталляции под ОС семейства UNIX, с их жесткими ограничениями в доступе к ресурсам для разных категорий пользователей. При/после инсталляции на unix системах, у файлов должны быть соответствующие разрешения (Permissions). Т.е. если файл предназначен для запуска, то он должен быть запускаемым, если это конфигурационный файл, например, то должны быть разрешения на модификацию и т.д.
Идея моего друга dartos.
Читайте также: