Ж у р н а л   о   к о м п ь ю т е р н ы х   с е т я х   и   т е л е к о м м у н и к а ц и о н н ы х   т е х н о л о г и я х
СЕТИ И СИСТЕМЫ СВЯЗИ on-line
  ПОИСК: ПОДПИСКА НА НОВОСТИ: НОМЕР:
    ДОМОЙ • Архив: Новостей | Конференций | НомеровПодписка
 
   
 
   
    
РЕДАКЦИЯ
 
Все о журнале
Подписка
Как проехать
Где купить
Отдел рекламы
График выхода журнала
Адреса в Интернет

РУБРИКАТОР
   
• Инфраструктура
• Информационные
   системы

• Сети связи
• Защита данных
• Кабельные системы
• Бизнес
• Колонка редактора
• Электронная
   коммерция

• Только на сервере
• Системы
   учрежденческой
   связи

• Новые продукты


Rambler's Top100

  

Тестируем продукты переупаковки программ в формат MSI

Джеймс И. Дрюс

Если вы хотите создавать изящные инсталляторы приложений, то средства переупаковки программ (software repackagers) в формат MSI — это как раз то, что вам нужно. Продукт повторной упаковки приложений Wise Package Studio компании Wise Solutions победил в нашем тестировании, оставив позади двух своих соперников.

Любой системный администратор, уставший от неразберихи фирменных методов инсталляции ПО, вероятно, все чаще присматривается к инсталлятору Microsoft Software Installer (MSI). Разработав свой продукт, компания Microsoft намеревается внести наконец порядок в процесс инсталляции приложений, сделав его последовательным и стабильным. Продукт MSI действительно хорош для системных администраторов: он упрощает публикацию приложений в формате MSI для справочника Active Directory (AD) и его поддерживают многие популярные пакеты управления настольными системами (Altiris Client Management Suite, Microsoft Systems Management Server и Novell ZENworks), используя для развертывания ПО.

С новыми приложениями дела обстоят хорошо, а что же делать со старыми? Хотя инсталляционный пакет (MSI-файл ) лучше всего покупать у разработчика ПО, некоторые новые продукты позволяют преобразовывать унаследованные программные инсталляционные пакеты в формат MSI. Чтобы оценить имеющееся сего-дня на рынке ПО переупаковки приложений, мы попросили компании gInstall, InstallShield Software, OnDemand Software, Wise Solutions и Zero G Software прислать на испытания в лабораторию журнала Network Computing свои продукты. К сожалению, оказалось, что ПО Zero G и gInstall ориентировано на автономную инсталляцию приложений и не может генерировать файлы MSI (см.: “Дополнительные инсталляционные возможности”).

Полную версию данной статьи смотрите в 12-ом номере журнала за 2004 год.

MSI изнутри

В файле MSI находятся таблицы базы данных, описывающие приложение. Во многих случаях файл MSI содержит также и программные файлы. Это делает более гибким процесс инсталляции, например, в случае крупных приложений, не умещающихся на одном компакт-диске. В ходе инсталляции конечные пользователи могут выбрать те возможности приложения, которые они хотят установить на свои настольные системы. Инсталляционный пакет включает в себя и такие компоненты, как параметры системного реестра и объекты COM (Component Object Model).

До появления продуктов MSI разделяемые компоненты отслеживались счетчиками ссылок установок реестра. Когда добавлялся или удалялся разделяемый компонент, значение счетчика изменялось на единицу. Инсталлятор MSI присваивает каждому продукту, использующему разделяемый компонент, уникальный идентификатор продукта или GUID (Global Unique Identifier), добавляемый к счетчику ссылок этого компонента.

Главным преимуществом MSI является стандартизация процесса инсталляции приложений: он делает фирменные инсталляционные форматы достоянием истории. Ниже перечислен ряд других преимуществ MSI:

• Сервис WIS (Windows Installer Service) выполняет инсталляцию приложений по принципу транзакций. Это значит, что он отслеживает добавляемые, заменяемые и удаляемые файлы и параметры реестра. Если в ходе установки возникает неисправимая ошибка, MSI позволяет вам сделать “откат” всей процедуры, чтобы избежать неисправной работы системы с наполовину установленными компонентами.

• При использовании MSI со справочником Active Directory его можно привязать к какой-либо групповой политике, позволяя конечным пользователям инсталлировать приложение на свои настольные системы даже в отсутствие у них полномочий на модификацию файловой системы или реестра. При этом запрос на инсталляцию передается сервису WIS, который ее фактически и осуществляет. Так как инсталляционный пакет был санкционирован администратором — например, путем привязки его к групповой политике AD, то процесс инсталляции будет выполняться беспрепятственно.

• Формат MSI позволяет легко модифицировать и индивидуально настраивать процесс инсталляции путем создания MSI-преобразования (MSI transform). MSI-преобразование — это файл с расширением .mst, содержащий указания сервису WIS, касающиеся инсталляции пакета MSI. В преобразовании указывается, какие возможности пакета нужно инсталлировать, где разместить инсталлируемый пакет или задать предопределенные ответы в диалоговых окнах. Создавать MSI-преобразования гораздо удобнее, нежели модифицировать исходный пакет MSI. При этом для одного и того же базового файла MSI можно создать несколько разных преобразований.

• Разработчики ПО, взявшие на вооружение формат MSI, могут воспользоваться передовыми функциями MSI, такими, как самовосстановление после сбоев или определение опций приложения, устанавливаемых при его первом вызове. Однако, учитывая тот факт, что эти возможности требуют использования интерфейсов программирования MSI, не стоит надеяться на столь же высокий уровень функциональности унаследованных приложений, упакованных в пакет MSI.

Переупакуйте, пожалуйста

Всем трем протестированным нами продуктам необходима та или иная база данных. Все они могли работать с Microsoft SQL Server или его run-time-компонентом MSDE, однако только WinInstall компании OnDemand мог использовать СУБД Oracle. Вместе с тем он был единственным среди протестированных нами продуктов, который не мог использовать файл базы данных Microsoft Access. Однако лишь он выполнял инсталляцию и конфигурирование компонента MSDE как часть своего процесса установки.

Базы данных позволяли каждому продукту отслеживать многочисленные приложения MSI на предмет разрешения конфликтов. Эта возможность позволяла нам сравнивать набор приложений и информацию об инсталлированных на рабочей станции компонентах, например, на предмет возможных конфликтов с библиотекой DLL. Чтобы упростить тестирование, мы использовали файл базы данных Access для Wise Package Studio и InstallShield AdminStudio, а базу данных MSDE для WinInstall (см.: “Как мы тестировали продукты переупаковки программ”).

Все три продукта хорошо справлялись с преобразованием нашего приложения Mozilla Firefox в формат MSI. Все они обнаруживали один и тот же набор файлов и параметров настройки. Тем не менее, когда результирующие файлы MSI “прогонялись” через утилиты окончательной проверки, в MSI-пакетах, созданных с помощью продуктов Wise Package Studio и InstallShield AdminStudio, были обнаружены ошибки, тогда как в файле MSI WinInstall их не было вовсе. Однако ошибка ошибке рознь, и многие приложения в процессе переупаковки порождают массу разнообразных предупреждений, большинство из которых можно проигнорировать без особого ущерба для работы инсталлятора MSI.

Пользовательские интерфейсы AdminStudio и Wise Package Studio были намного более совершенными, чем интерфейс WinInstall. Зато WinInstall был единственным пакетом, включающим встроенную возможность распространения приложений. Первым двум продуктам для распространения пакетов MSI требовались сервер Microsoft SMS, справочник Active Directory или ПО Altiris Client Management.

Мы запустили наши тестовые приложения совместно с образцами баз данных приложений, которые включили в свои продукты все три наших производителя. Результаты показали, что между нашими тестовыми приложениями и библиотеками DLL конфликты отсутствуют. Однако продукты Wise Package Studio и AdminStudio позволяли сгенерировать искусственные конфликты с DLL и предоставляли подробные инструкции по их разрешению. Что касается WinInstall, то мы выполнили оценку конфликтов между двумя копиями созданного нами пакета MSI FireFox, в результате нам был выдан длиннющий список конфликтов для идентичных файлов, инсталлированных в одно и то же место, зато мы получили представление о том, насколько эффективно продукт WinInstall выявляет и оценивает конфликты.

По мере того как все большее число производителей ПО поддерживают инсталлятор MSI, системные администраторы все чаще стремятся выполнять специализированные программные инсталляции. При этом предпочтительным методом индивидуальной упаковки программных файлов становится создание файлов преобразований MSI. Такие файлы могут создавать все протестированные нами продукты, хотя у WinInstall это получается несколько хуже, чем у его конкурентов. Для создания файла преобразований Wise Package Studio и AdminStudio мы имитировали установку пакета MSI и регистрировали выбранные нами возможности, параметры реестра и ответы, но не инсталлировали продукт. Wise Package Studio позволял нам прятать страницы программы-мастера, связанные с преобразованием. Все три продукта могли скрывать диалоговые окна, но продуктам AdminStudio и WinInstall требовался для этого один дополнительный шаг.

Победителем в нашем тестировании, как уже упоминалось, стал продукт Wise Package Studio компании Wise Solutions. Нам очень понравился его основанный на заданиях интерфейс проектов. Мы думаем, что системные администраторы средней квалификации найдут этот продукт простым и удобным в использовании. Кроме того, на фоне остальных протестированных продуктов он заметно выделяется тесной интеграцией с системами распространения ПО ряда третьих фирм.

Wise Package Studio Professional Edition компании Wise Solutions

Wise Package Studio — это великолепное инструментальное средство для переупаковки приложений, проверки корректности файлов MSI, разрешения конфликтов с библиотекой DLL и создания автономных инсталляционных пакетов.

При запуске программы Wise Package Studio ее интерфейс Workbench выдает список заданий, необходимых для выполнения установки. Этот список включает инсталляцию программы-мастера, помогающей отыскивать файлы и записи реестра, задействуемые в ходе инсталляции; копирование и проверку стандартной ОС на наличие конфликтов и настройку различных шаблонов.

Файлы MSI, или преобразования MSI, создавались посредством интерфейса Workbench как проекты. Для каждого проекта мы выбирали процесс, или набор заданий, обеспечивающих выполнение этого проекта. Нас больше всего интересовали такие задания, как Customize MSI Using Transform (настроить MSI, используя преобразование) и Repackage for Windows Installer (переупаковка приложения для службы Windows Installer).

Выбор процесса для данного проекта состоял в подборе заданий, которые необходимо было выполнить, чтобы создать MSI-пакет или его преобразование. Каждое задание имело свой индикатор статуса его выполнения и ссылку “запуск”, позволяющую запустить соответствующее приложение. Например, ссылка “запуск” задания Create Transform (создать преобразование) давала возможность инициировать программу InstallTailor, которая проводила нас через все этапы создания исходного преобразования.

Пакет Package Studio давал нам возможность выбрать один из нескольких методов создания моментальных снимков приложений. Он поддерживает обычный процесс создания моментальных снимков, который сканирует жесткий диск, регистрирует состояние системы до и после инсталляции приложения и фиксирует все изменения, и ПО SmartMonitor, отслеживающее все действия инсталлятора программ на низком уровне — уровне интерфейса API. Помимо этого, мы могли сделать моментальный снимок “виртуальной ОС” чистой системы, а затем сымитировать инсталляцию.

Сначала для создания моментального снимка мы попробовали воспользоваться стандартным методом, запустив вдобавок ПО SmartMonitor. В результате мы получили пакет MSI, который не запускался. Проблема состояла в том, что файл setup.exe для приложения Firefox, включавший многоплатформенные компоненты, пытался создавать папку bin/components (обратите внимание, что здесь “прямой” слэш). Сделать это ему не удалось, однако SmartMonitor возобновил попытку создать эту папку, считая ее наличие обязательным. Поскольку программа инсталляции так и не заработала, мы сделали новый моментальный снимок, но уже без SmartMonitor и в результате получили работоспособный пакет MSI.

Просматривая файл MSI, мы не обнаружили в нем каких-либо дополнительных элементов системного реестра. При сравнении его с файлами MSI других продуктов мы тоже не заметили отсутствия в нем каких-либо элементов, собранных другими пакетами повторной упаковки программ. Однако этот файл MSI содержал самое большое число ошибок и предупреждающих сообщений: когда мы запустили имеющуюся в составе пакета Package Studio утилиту Package Validation, она нашла семь ошибок и одно предупреждение. Большинство ошибок возникало при создании параметров настроек для конкретных машин и конкретных пользователей одной и той же инсталляции. То есть файловые компоненты оказывались общими для всех пользователей, а ярлыки создавались для каждого пользователя, выполнявшего инсталляцию.

Что касается легко исправляемых ошибок, то программа проверки непротиворечивости инсталляционного пакета предоставляет кнопку “исправить” (correct). К сожалению, ни одна встретившаяся нам ошибка не попала в эту категорию. Чтобы устранить обнаруженные неполадки, нам пришлось бы отредактировать файлы MSI собственноручно.

Используя приложение InstallTailor компании Wise Solutions, мы без проблем создали преобразование для MSI ActiveState Perl, которое могли при желании настроить дополнительно. Одной уникальной возможностью InstallTailor является наличие маленькой экранной опции на каждой странице имитированной инсталляции, позволяющей отключать отображение этой страницы на экране ПК во время инсталляции с использованием файла преобразования. Пакеты повторной упаковки программ других производителей тоже позволяли помечать страницы как скрытые, однако нам приходилось делать для этого дополнительный шаг.

Еще одним полезным компонентом пакета Package Studio является ПО Conflict Manager. Оно позволяет администраторам сравнивать моментальные снимки рабочих станций и инсталляционные пакеты приложений на предмет наличия конфликтов с библиотекой DLL до развертывания приложений на настольные системы конечных пользователей. Мы запустили Conflict Manager и сравнили нашу инсталляцию Firefox с образцом базы данных из пакета Package Studio. В результате мы не обнаружили ни одного конфликта.

При создании файла MSI для нашего специализированного приложения Atropos мы использовали редактор Windows Install Editor. Если бы наше приложение было написано на языке Visual Basic, C# или J#, то Install Editor смог бы импортировать параметры настройки из проекта Visual Studio и сразу же перейти к созданию MSI-пакета. Но, поскольку наше приложение было написано на языке C++, нам пришлось выбрать стандартный шаблон и создавать инсталляционный пакет вручную. К счастью, процесс создания пакета посредством окон редактирования Installation Expert высокого уровня оказался совершенно безболезненным. Эти окна редактирования заметно упрощали включение в пакет нужных нам файлов, параметров реестра и ярлыков, а также выбор и настройку стандартных диалоговых окон (например, окна приветствия и окна с лицензионным соглашением), которые должны были выдаваться на экран пользовательского ПК во время инсталляции. Настройка экранов редактирования не представляла никакого труда.

Wise Package Studio предоставляет программу-мастер для развертывания приложений. Она позволяет импортировать вновь созданный файл MSI в одну из популярных систем распространения ПО, включая LANDesk, Microsoft SMS и Novell ZENworks. Этот “мастер” обнаружил инсталлированный на нашей системе пакет ZENworks и активизировал свою опцию развертывания. В процессе ее выполнения нам было предложено создать дерево NDS, контекст и имя объекта приложения. После этого в нашем дереве NDS был создан объект приложения ZENworks и параметры настройки, необходимые для развертывания нашего MSI-пакета.

В целом продукт Wise Package Studio является надежным средством переупаковки приложений. Оно предоставляет высокоразвитые инструментальные средства создания и редактирования программных пакетов, необходимые для автоматического формирования и модификации инсталляционных пакетов MSI; кроме того, дает возможность опытным разработчикам ПО, усвоившим все тонкости работы с MSI, экспериментировать с ним вручную. И наконец, его можно использовать для создания автономных инсталляторов приложений (файлов с расширением .exe). Единственный недостаток этого продукта — ошибки в созданных MSI-файлах, выявляемые при их проверке на корректность.

AdminStudio компании InstallShield Software

Подобно двум другим участникам тестирования, AdminStudio требует использования базы данных, в качестве которой для наших тестов мы выбрали Microsoft Access. Пакет AdminStudio предоставляет набор заданий из 28 пунктов с целью создания проекта по преобразованию MSI, переупаковки приложения, идентификации конфликтов и проверки корректности итогового MSI-файла. Для сравнения: набор заданий Package Studio состоял лишь из четырех заданий. Список заданий AdminStudio был значительно более подробным и содержал даже пункты, которые администратор должен был просто отмечать галочками (например, подтверждение того, что программа еще не установлена на рабочей станции).

В процессе создания преобразования MSI для нашего файла MSI ActiveState Perl пакет AdminStudio, так же как и Package Studio, сымитировал инсталляцию и записал ответы, введенные на всех шагах инсталляции. Однако, чтобы выполнить имитацию инсталляции, нам нужно было не забыть выбрать экранную опцию Response Transform (преобразование ответов) приложения InstallShield Tuner, отметив ее галочкой.

Одной полезной возможностью приложения Tuner, не предоставляемой пакетом Wise, является утилита предварительной и заключительной проверки корректности файла MSI. Предварительная проверка позволяет определить, нет ли в пакете MSI, для которого мы собираемся создавать файл преобразования, проблем, требующих нашего вмешательства. Наш MSI-файл для ПО ActiveState Perl в ходе предварительной проверки выдал три предупреждения и одну ошибку. Ошибка появлялась при контроле номера версии этого пакета. В процессе создания файла преобразования не возникло ни одной проблемы, а в ходе заключительной проверки MSI-файла для Perl были сгенерированы точно такие же три предупреждения и одна ошибка, что и в ходе предварительной проверки.

Для создания инсталляционной копии Firefox мы использовали утилиту Repackager. Она позволяет создавать инсталляционные копии приложений двумя способами: путем обычного формирования моментального снимка приложения и с помощью ПО Installation Monitoring. Мы воспользовались вторым из этих подходов, который оказался исключительно простым. Программа мониторинга нашла все наши файлы, ярлыки и записи реестра, кроме одной, содержащей указатель на деинсталлятор приложений и находящейся в списке исключаемых по умолчанию установочных параметров реестра.

Редактирование и верификация файла MSI осуществляются посредством входящего в пакет AdminStudio приложения DevStudio. Инструментальные средства верификации, через которые мы пропустили вновь созданный файл MSI, обнаружили одну ошибку и сгенерировали одно предупреждение. Инсталляция прошла, как и ожидалось, хорошо, однако установка осуществлялась на “чистую” рабочую станцию.

Для создания инсталляционного пакета MSI для нашего специализированного приложения мы использовали приложение DevStudio. Подобно Wise Package Studio, оно предоставляет ряд шаблонов, облегчающих создание новых файлов MSI, включая шаблон для импортирования параметров настройки из проектов, написанных на языке Visual Basic или C#. Мы начали с базового шаблона и воспользовались “мастером” Project Assistant приложения DevStudio, который провел нас через все этапы создания нашего пакета MSI. Все, что от нас потребовалось, — это предоставить “мастеру” такую базовую информацию о приложении, как имя производителя и название приложения, целевые платформы, а также файлы, записи реестра и ярлыки, которые мы хотели создать, — не работа, а наслаждение!

AdminStudio содержит приложение ConflictSolver, которое берет несколько пакетов MSI, проверяет их на наличие возможных конфликтов и помогает устранить обнаруженные конфликты. Мы запустили нашу инсталляцию Firefox совместно с образцами приложений, прилагаемых к пакету AdminStudio, и не заметили никаких проблем. Нам также понравился “мастер” распространения приложений Distribution Wizard, облегчающий развертывание MSI-пакетов с помощью систем распространения ПО. К сожалению, пакет AdminStudio не поддерживает ПО управления настольными системами ZENworks (правда, эту поддержку планируется включить в следующую версию пакета) и нам не удалось протестировать эту возможность.

Хотя продукт AdminStudio нам очень понравился, он все-таки уступает пакету Wise Package Studio в простоте использования. Но и стоит он дешевле. Если же вы считаете, что столь сложный в использовании продукт вам все же подойдет, то стоит обратить на него внимание.

WinInstall MSI Packager Professional Edition компании OnDemand Software

Продукт WinInstall не только выполняет повторную упаковку программ, но и обеспечивает полноценное управление настольными системами. Он позволял нам распространять наши приложения на рабочие станции, отслеживать инвентаризацию системных ресурсов и генерировать отчеты. Все эти важные функции не поддерживаются двумя другими протестированными нами продуктами, однако мы не рассматриваем их здесь, поскольку они выходят за рамки нашего обзора.

Так же как и другие продукты, WinInstall предоставляет единую консоль, с которой можно выполнять все задачи администрирования. И большинство наших задач мы выполняли не посредством отдельных программ, запускаемых с консоли (как это делается в двух других наших продуктах), а непосредственно с самой консоли. Единственное исключение из этого правила — утилита Discover, позволяющая создавать моментальные снимки приложений. Недостатком консоли является то, что ее интерфейс не так совершенен, как консольные интерфейсы других протестированных нами продуктов. Например, для просмотра списка файлов пакета MSI продукт WinInstall предоставляет простое окно Windows с многостолбцовым списком, показывающим все файлы и соответствующие им папки, в которые они будут инсталлированы. Нам больше понравились окна просмотра файлов других пакетов, предоставляющих древовидные списки файлов. Кроме того, в отличие от своих конкурентов WinInstall не предоставляет никаких инструментальных средств интеллектуального мониторинга (Smart Monitoring).

Инсталляция приложения преобразуется в пакет MSI посредством программы-мастера Discover Wizard. Этот “мастер” создает обычные доинсталляционный и постинсталляционный моментальные снимки (before/after snapshot) системы. Нам очень понравилось то, что WinInstall предоставляет возможность сохранения “доинсталляционного” образа и его повторного использования. Например, если наша “чистая машина” была создана с помощью образа Ghost, то мы могли запустить однократный процесс создания моментального снимка приложения, а затем запомнить полученный образ для последующего использования, чтобы не тратить время на создание нового “доинсталляционного” образа, когда он нам потребуется. Хотя WinInstall не способен вернуть машину в состояние, соответствующее сохраненному образу, многие администраторы просто еще раз установят на нее образ Ghost или VMWare.

Когда мы создавали моментальный снимок нашего приложения Firefox, WinInstall “забыл” скопировать его пиктограмму быстрого запуска (Quick Launch). Однако WinInstall оказался единственной программой переупаковки, которая не сделала ни единой ошибки при создании файла MSI для Firefox. И хотя он сгенерировал пять пре-дупреждающих сообщений, все они были несуще-ственными.

Утилита создания преобразования MSI пакета WinInstall не предоставляет возможности имитировать процесс инсталляции. Зато WinInstall следит за всеми изменениями, вносимыми в пакет MSI. Он не делает никаких изменений в этом па-кете, но создает файл его преобразования. Хотя по сравнению с двумя другими протестированными нами пакетами процесс создания преобразования с помощью продукта WinInstall был более трудоемким, окончательный результат оказался тем же самым — нормально работающий файл преобразования.

WinInstall тоже предоставляет инструментальные средства для проверки корректности пакета MSI и разрешения конфликтов. Так же как и в случае с двумя другими протестированными нами пакетами, созданный базовый моментальный снимок ОС можно импортировать в БД и проверить на возможность возникновения различных проблем, не дожидаясь развертывания приложения.

Мы считаем, что в целом WinInstall — это довольно хорошая недорогая система переупаковки приложений. Его пользовательский интерфейс далек от совершенства, однако если вам нужна система управления настольными системами, то WinInstall подойдет вам просто идеально..





  
12 '2004
СОДЕРЖАНИЕ

бизнес

• Двенадцать правил взаимоотношений с клиентами

инфраструктура

• Звёзды Wi-Fi

• Рынок ИБП снова на подъеме

• Выбираем систему RADIUS

• Анализируем предложения по виртуализации памяти

• Функционирование устройств Wi-Fi на физическом уровне

информационные системы

• Все дело в ответах

• Тестируем продукты переупаковки программ в формат MSI

сети связи

• Видеосистема Polycom под «микроскопом»

• Подготовьте свою сеть к IP-телефонии

кабельные системы

• Системы управления СКС становятся более распространенными

• Активные зоновые кабельные системы

новые продукты

• Новые серверы R-Style Computers


• Калейдоскоп



 Copyright © 1997-2007 ООО "Сети и Системы Связи". Тел. (495) 234-53-21. Факс (495) 974-7110. вверх