Windows installer - нове слово в технологіях інсталяції
Вигода від використання Windows Installer для користувачів
Вигода від використання модулів інсталяції для Windows Installer полягає в тому, що вони полегшують процес встановлення та оновлення програмних продуктів користувачам. Ці модулі можуть працювати на будь-який 32-хбітной платформі Windows, починаючи від Windows 95 і закінчуючи Windows XP. Користувачі цих операційних систем отримують багато переваг від використання технології Windows Installer, а саме:
• Більш проста і швидка установка програмного забезпечення. Так як вся інформація про встановлений додатку міститься в одному місці, розробник може передбачити відповіді на багато питань користувача, звільняючи тим самим користувача від прийняття складних рішень під час установки або оновлення програмного продукту.
• Можливість установки на вимогу. Інформація про невстановлених компонентах додатки також зберігається в одному місці. Значить, якщо раптом користувач захоче використовувати компонент, який ще не встановлено, йому не доведеться знову запускати весь інсталяційний пакет тільки для того, щоб додати ще одну можливість в програму. Коли ви вирішите використати новий компонент, додаток просто перевіряє інсталяційні дані і витягує потрібну інформацію, дозволяючи додавати потрібну функціональність на вимогу.
• Самовідновлення програм. Зберігання інсталяційною інформації в одному місці дозволяє додатку самовідновлюватися. Тому користувачі втрачають менше часу на видалення та перевстановлення додатків, а також позбавляються від необхідності виправляти незрозумілі і важко діагностуються помилки в конфігурації програми. Неправильно працює додаток може перевірити інсталяційні дані, визначити, які файли пошкоджені або відсутні, а потім відновити їх.
• Потужні можливості відкату. Windows Installer дозволяє скасовувати будь-які зміни в конфігурації як встановлюваного продукту, так і операційної системи. Це робить установку програм, що підтримують технологію Windows Installer, набагато більш безпечним і передбачуваним заняттям, ніж будь-яких інших. Якщо при установці програми користувач стикається з фатальною помилкою, яка перериває процес інсталяції, у нього залишається можливість повернутися до попереднього стійкого стану. Причому цей стан буде в точності таким, яким було до спроби встановлення нового програмного продукту. Така поведінка програм дуже сильно відрізняється від того, до якого ми звикли за багато років. Збій або помилки в програмі інсталяції будь-якого продукту (особливо замінює системні динамічні бібліотеки) могли порушити працездатність всієї системи, причому це було справедливо не тільки для практично незахищених операційних систем типу Windows 9x, а й для Windows NT. Я сам не раз стикався з подібними проблемами, особливо при налагодженні інсталятора для досить великого продукту, створеного з використанням пакета InstallShield Professional.
Користувачі цих систем отримують ще більше переваг, а саме:
• Встановлення програм на "закритих" машинах
Встановлення програм на "закритих" машинах
Вигода від використання Windows Installer для розробників
Те, що користувачам вигідно використовувати дану технологію, сумнівів не виникає. Але ми-то з вами не рядові користувачі, ми - розробники програмного забезпечення (на мій погляд, це повинно звучати гордо). Що нам дає Windows Installer, крім ще одного головного болю від необхідності вивчати щось нове? А ось що (і це немало):
• Легкість використання. Набагато легше створити пакет інсталяції, заснований на тому, що треба інсталювати, ніж на інструкціях про те, як це робити.
• Централізоване супровід та оновлення. Ми, як розробники, можемо управляти додатком і конфігураціями інсталяцій з одного загального набору даних, замість того, щоб працювати з безліччю копій. Це дозволяє більш просто і разом з тим гнучко підтримувати і поширювати програми та оновлення до них.
Я думаю, той, хто працював з InstallShield Professional (пакет для створення інсталяцій, керованих скриптом) і InstallShield Developer (пакет для створення інсталяцій на основі Windows Installer),
Раніше InstallShield Developer називався InstallShield for Windows Installer зрозуміє, наскільки більш гнучко останній дозволяє управляти створенням різних інсталяцій на основі єдиного набору даних.
ПРИМІТКА Раніше InstallShield Developer називався InstallShield for Windows Installer
Що стосується першого твердження, незрозумілого на перший погляд, то в ньому все просто. Подивіться на наступний заголовок - він все пояснює.
Інсталяція, керована даними
Традиційно програми інсталяції використовують для управління процесом установки програм скрипти. Кожна інсталяційна програма містить скрипт, тобто набір інструкцій по установці конкретного програмного продукту. Ці жорстко закодовані інструкції можуть прекрасно працювати для даної конкретної інсталяції, але вони ж можуть викликати проблеми в випадках перевстановлення або видалення продукту, а також установки нових версій. Більш того, ці проблеми можуть виникнути при інсталяції інших програм, про які ви навіть не підозрювали, коли писали свій скрипт. До того ж, тому що інформація про додатки не поділяється між скриптами, адміністраторам і користувачам важко керувати інсталяцією додатків.
Нова, керована даними технологія Windows Installer дозволяє вирішити багато проблем інсталяторів, керованих скриптами. У моделі інсталяції, керованої даними, створюється набір інсталяційних таблиць, в яких кожен ресурс (файли, ключі реєстру і т.д.) явним чином прив'язаний до компоненту або опції додатки, які його використовують. При створенні цих таблиць розробник більше думає про те, що він встановлює, замість того, щоб думати про те, як це встановлювати. Тобто розробник фокусується на об'єктах, які потрібно встановити і на розташування цих об'єктів на цільовій машині, а Windows Installer забезпечує всю іншу функціональність. Тим не менш, це не звільняє розробника від необхідності думати про те, як же буде встановлюватися додаток.
ПРИМІТКА Все вищесказане взято з документації Microsoft. Багато розробники (в тому числі і я) не в усьому згодні з цими твердженнями. Але не можна заперечувати і того, що технологія Windows Installer все-таки здорово полегшує життя системним адміністраторам і розробникам.