Windows Installer комплекс для установки, обновления и удаления программ

Windows Installer – комплекс для установки, обновления и удаления программ. Самая первая версия использовалась для установки MS Office 2000. Следующая версия (1.1) уже входила в стандартный комплект Windows 2000.

Фактически, это кастрированный аналог линуксовых программных пакетов с поправками на то, что Виндовс содержит реестр. Создан он, прежде всего, для упрощения жизни практически всем, кто обслуживает компьютер или работает на нем.
Разработчик программного обеспечения получает уже готовый стандартный инсталлятор. Исчезает необходимость искать отдельные решения и, тем более, покупать их. Системный администратор получает программное обеспечение с однотипным интерфейсом для установки.
Более того, программы в виде MSI довольно легко установить в полностью автоматическом режиме, заранее определив все необходимые параметры или установить автоматически на несколько сот или тысяч компьютеров организации. MSI сама контролирует версии библиотек, целостность программ, следит за тем, чтобы в случае ошибки при установке система вернулась в прежнее положение.
Но поскольку Майкрософт – контора очень специфическая, они сами создали кучу проблем как себе, так и потенциальным пользователям своих продуктов. Прежде всего, практически полным отсутствием документации по Windows Installer (чуть не единственный источник информации: легендарный MSI.chm, первые версии которого были исключительно для внутреннего пользования, а каждая страничка промаркирована “КОНФИДЕНЦИАЛЬНО”). С появлением и распространением интернета стало проще.
Вторая проблема – отсутствие адекватного инструментария для создания пакетов. От Майкрософта нам досталась только достаточно дубовая ORCA (1 – 3 Мегабайты).
Но, чтобы ее получить, нужно скачать 1,5 Гб пакета разработчиков. К счастью, есть сторонние разработчики с их instead’амb, WISE’aми и всем остальным.
Третье – отсутствует стандартной системы централизованного развертывания пакетов. Вылечилось это огромным разнообразием систем развертывания сторонних производителей, причем у каждой системы свои собственные требования к пакетам, которые можно им ставить.
В наших широтах MSI в основном используется для создания дистрибутивов под Windows, в которые встроены сторонние программы. Поставили Винду, а там уже и проигрыватель правильный, и торрент есть, и фаерфокс, и еще куча всякого добра (как пример – широко известная сборка ZVER, что уже считается едва ли не оригинальным майкрософтовским творением).

 

Что хорошего дает нам Windows Installer, если не слишком углубляться?

1. Однотипные интерфейсы для установки приложений (чтобы не заблудились).
2. Возможность “тихой” установки из командной строки CMD-файла, когда вообще клацать ничего не нужно. Когда нужно установить одно и то же на несколько машин – просто супер.
3. Восстановление программ. Нахимичили с настройками … убили несколько файлов, и программа уже не запускается? Заходите в “Add Remove Programs”. Находите свою программку и нажимаете “Repair” Все файлы восстановятся, настройки восстанавливают стандартные значения. Можно ломать снова;)
4. Самовосстановление. “Куда” исчезла целая папочка с программой? Вы нажимаете по ярлыку, вместо ошибки получаете прогресс-бар с сообщением о восстановлении продукта. После восстановления программа сама штатно запускается. Красота!
5. Удаление. Корректное! Когда система становится точно такой, какой была бы, если бы эту программу вообще не устанавливали. Удаляются все ключики реестра … файлы … все-все. Точнее почти все. Вся работа пользователя – документы, изображения, базы данных остаются.
Пакет представляет собой реляционную базу данных (проще говоря, определенное количество связанных между собой табличек с информацией, что и куда нужно записать в вашей системе, чтобы установить программу, а потом удалить) + непосредственно сами файлы, которые будут копироваться.
Файлы могут просто лежать рядом, могут быть заархивированы в САВ-архив, а сам архив может быть встроен в файл базы данных. Всего 3 варианта.
Но все как всегда … Чтобы это нормально работало, у того кто делает пакет, руки должны расти из правильного места сгибаться так, как задумано было природой. Пока назвову несколько программ для редактирования и создания MSI.

ORCA

Творение Майкрософта. Маленькую утилитку можно свободно и бесплатно скачать с официального сайта Microsoft. Единственное, чтобы это не казалось слишком легким – она была упакована в 1,5 Гб архив.

SuperORCA

SuperOrca from “Pantaray Research Ltd.” is a direct replacement to the “Orca” MSI Editor from Microsoft. SuperOrca may be used to examine and modify an MSI database (СуперОрка от “Pantaray Research Ltd.” Это прямой заменитель редактора MSI Орки от Майкрософта.)
Вот так! Авторская скромность прет через край.
Главное преимущество супер-Орки в том, что открытая MSI не блокируется, его можно устанавливать, а можно открыть еще чем. Умеет сравнивать два пакета и показывать разницу между ними. Больше ничего особенного.

InstEd

Довольно-таки классный редактор. В принципе почти все, что хотелось бы от программы такого рода.
Существует платная расширенная версия редактора InstEd Plus.
После установки инстедита советую сразу в настройках переключить отображение чисел в десятичный формат Options> View Options> BitFlags> Decimal.
Все эти три утилиты логично отражают структуру пакета – набор таблиц. Добавление туда записей, файлов, скриптов … все делается руками. ИнстЕд немного удобнее, а Орка немного менее удобна … в общем все одно и тоже и делается + / – одинаково. Все три программы бесплатные.


Ими можно быстро сделать установочный пакет из 2-5 файлов, несколькими записями в реестре. Можно подредактировать уже готовый. Ну и все.
Если файлов будет несколько тысяч – записей в реестре будет не счесть, то остается использовать дорогостоящие специализированные профессиональные программы с мощной графической оболочкой, функцией автоматического захвата изменений в системе и прочего. Ну скажем, ярким примером такого комплекса является Wise Package Studio.

В. Смок