Переносяться додатки - штука зручна. По-перше, у вас з'являється можливість конфігурувати додаток всього лише один раз - незалежно від кількості комп'ютерів, на яких ви працюєте. Скажімо, що переноситься версія браузера дозволить вам завжди мати єдиний список посилань, єдину історію відвідувань, один і той же набір віджетів в браузері незалежно від комп'ютера, на якому ви працюєте. Портативна версія поштової програми дозволить вам використовувати на різних комп'ютерах одну і ту ж поштову базу даних. По-друге, що переносяться програми не вимагають від вас наявності прав адміністратора. Додаток не потрібно встановлювати, значить, не потрібен доступ до реєстру, доступ до директорії Program Files. Навіть маючи мінімальні призначеними для користувача правами, ви можете запустити на комп'ютері потрібну вам версію FireFox, Adobe Acrobat або Microsoft Office. Що важливо, що переносяться програми не створюють конфліктів в системі, оскільки повністю ізольовані один від одного. Єдина проблема - далеко не у кожного виробника програмного забезпечення є портативні версії додатків. Точніше, у більшості таких версій немає. Чи можна перетворити звичайне додаток в переноситься? Виявляється, можна.
Таке перетворення дозволяє виконати програма ThinApp. розроблена компанією VMWare. З її допомогою віртуалізувати додаток - т. Е. Перетворити його в стерпний варіант - можна буквально за десять хвилин.
Принципи роботи ThinApp
Чим переносний додаток відрізняється від звичайного? Тим, що воно не повинно вносити змін в локальну систему. Звичайна програма вносить зміни в систему як в процесі установки, коли додаються необхідні системні файли і ключі реєстру, так і в процесі роботи, коли зберігаються призначені для користувача настройки, документи користувача і т. П.
За великим рахунком, всі подібні зміни зводяться до запису файлів на жорсткий диск і модифікації системного реєстру. Якщо ці зміни локалізувати, то додаток стане переносним. Саме на цьому і заснований принцип віртуалізації додатків за допомогою ThinApp.
До складу віртуального додатки, створеного за допомогою ThinApp, входить файл-контейнер, в якому зберігаються всі зміни, що вносяться до системи в процесі установки програми. При запуску програми воно працює не з файлової системою і реєстром локальної операційної системи, а з їх віртуальними версіями, які створюються ThinApp на льоту. Віртуальні версії відповідають локальним, але з усіма внесеними з файлу-контейнера змінами. Для додатки все виглядає так, як ніби воно встановлено в локальній системі звичайним чином, - в системі є всі необхідні для нього файли і ключі реєстру.
Всі зміни, які додаток вносить в систему в процесі роботи, зберігаються не безпосередньо в систему, а фіксуються в окремій директорії - "пісочниці" (sandbox). У ролі пісочниці може виступати, наприклад, директорія, з якої запускається додаток або будь-яка мережева директорія. При цьому локальна операційна система, по суті, залишається в незмінному стані.
Процес віртуалізації додатки
Процес віртуалізації додатки за допомогою ThinApp виконується в режимі покрокового майстра і включає всього кілька простих кроків.
Перший крок - створення зліпка чистої системи
Для початку необхідно встановити свіжу, чисту версію операційної системи і запустити під нею ThinApp. Програма створить "зліпок" системи - визначить, які файли встановлені, які ключі реєстру створені і т. П. Далі на чисту систему звичайним способом встановлюється додаток. Програма установки додасть в систему необхідні файли, модифікує потрібним чином реєстр, створить конфігураційні файли і т. П. Можна запустити встановлену програму і виконати в ній необхідні настройки конфігурації, так щоб необхідні настройки відразу зафіксувалися в системі. Природно, встановлювати чисту систему кожен раз, коли треба створити переносну версію програми, не зручно - набагато простіше скористатися віртуальними машинами.
Другий крок - установка додатки
Тепер в справу знову вступає ThinApp. Програма робить "знімок" зміненої системи і визначає, які саме зміни були в неї внесені. Фіксуються всі зміни, внесені в файлову систему і до реєстру.
Третій крок - створення зліпка системи після установки
Тут хотілося б відзначити одну неприємну особливість інтерфейсу. Після порівняння "зліпків" ThinApp виводить список усіх виконуваних файлів, щоб користувач міг вказати файл або файли, через які буде запускатися додаток. Все б добре, але список виводиться в маленькому вікні діалогу, яке зроблено немасштабіруемим. В результаті великі списки переглядати надзвичайно незручно. Дрібниця, але неприємно.
Наступний крок - настройка параметрів. По-перше, необхідно вказати місце розташування "пісочниці", в яку будуть зберігатися зміни, що вносяться додатком в процесі роботи. Можливі варіанти - окрема директорія в локальному профілі користувача, директорія, з якої запускається додаток, мережева директорія або будь-яка інша задана директорія, яку можна вказати як в абсолютному вигляді, так і щодо директорії, з якої запускається додаток. При бажанні можна вибрати список користувачів з Active Directory, яким буде дозволено запускати дане переносний додаток.
Четвертий крок - вибір параметрів "пісочниці"
На останньому етапі необхідно вказати тип створюваного файлу - виконує exe-файл або MSI-пакет. Якщо додаток буде створено у вигляді MSI-пакета, то перед першим використанням його потрібно встановити комп'ютер. Така установка автоматично зареєструє розширення файлів, пов'язані з додатком, створить необхідні ярлики на робочому столі і в панелі управління. Якщо ж переносне додаток зібрано у вигляді виконуваного файлу, то всі подібні операції доведеться при необхідності проводити вручну, за допомогою утиліти thinreg.exe. Зате і ніякої установки не буде потрібно.
Все готово до збірки портативної версії Thunderbird
Запуск командного файлу призводить до створення exe- або msi-файлу - переносна версія додатка створена.
Портативна версія Thunderbird, після запуску, створює безліч допоміжних директорій і файлів.
З точки зору користувача, запуск портативного додатки нічим не відрізняється від звичайного - запускаєш виконуваний файл і працюєш. Основна відмінність в тому, що всі дані, що записуються додатком в систему, насправді записуються в "пісочницю". Якщо в якості "пісочниці" ви вибрали директорію, з якої ви запускаєте програми, то будьте готові, що поруч з виконуваним файлом вашої програми з'явиться вміст "пісочниці" - численні директорії типу "% AppData%", "% Local AppData%", " % ProgramFilesDir% "і т. п. До речі, якщо очистити" пісочницю ", то при наступному запуску програма буде вести себе як" свіжовстановленому ".
Робота по мережі
Використання ThinApp відкриває ряд цікавих можливостей, що дозволяють спростити життя системним адміністраторам. Справа в тому, що переносні додатки можна запускати не тільки з флешок, але і по мережі. Таким чином, можна організувати в мережі центральне мережеве сховище, на якому будуть зберігатися переносні версії додатків, а на комп'ютерах користувачів будуть виведені лише відповідні ярлики для запуску додатків по мережі. "Пісочниці" користувачів можуть розміщуватися локально або на іншому мережевому сховище. Локальний варіант зручний, коли у кожного користувача свій комп'ютер, мережевий - коли використовуються "плаваючі" профілі.
ThinApp містить цілий набір засобів, що забезпечують зручність організації подібної схеми роботи. По-перше, ThinApp підтримує роботу з Active Directory, дозволяючи задавати обмеження прав користувачів на запуск додатків. По-друге, ThinApp оптимізує завантаження мережевих файлів таким чином, щоб мінімізувати обсяг переданої по мережі інформації. Якщо з 20-гігабайтного файлу для роботи потрібно блок в 20 байт, то буде завантажений саме блок 20 байт. По-третє, до складу ThinApp входять утиліти Application Sync і Application Link. дозволяють, відповідно, автоматично оновлювати додатки і зберігати компоненти, що розділяються додатків, а також пов'язані між собою додатки у вигляді окремих пакетів.
Слід зазначити, що ThinApp не містить спеціального інструментарію для розгортання віртуальних додатків. Розгортання додатків проводиться через MSI-файли або за допомогою скриптів. Також в ThinApp не передбачено ніяких спеціальних засобів управління ліцензіями. Однак можливості організації взаємодії між додатками, що надаються Application Link, дозволяють організувати власну схему відстеження кількості задіяних ліцензій.
обмеження можливостей
У документації до ThinApp чесно вказано, що далеко не всі програми можна зробити віртуальними. Зі зрозумілих причин ThinApp не може віртуалізувати додатки, що вимагають установки драйверів на рівні ядра, антивіруси, персональні файрволи, драйвери сканера і принтера. Деякі типи додатків можуть не працювати належним чином - додатки, що вимагають установки драйверів пристроїв, що інтегруються в Explorer, що встановлюють DCOM-сервіси або глобальні хукі. Наприклад, якщо ви створите портативну версію Adobe Acrobat, ви зможете з її допомогою відкривати, редагувати і зберігати PDF-файли, але не зможете користуватися драйвером принтера в PDF.
VMWare ThinApp володіє непоганим графічним інтерфейсом, потужну функціональність, досить зручна в роботі і має цілком прийнятну вартість. Якщо у вас є ThinApp, то процес створення переносних версій для переважної більшості додатків не складе особливих проблем. З недоліків можна відзначити, мабуть, лише недостатньо детальну документацію.
Слід зазначити, що VMWare ThinApp - далеко не єдиний програмний продукт, що дозволяє створювати стерпні версії додатків. Є ще, як мінімум, Xenocode Virtual Appliance Studio і LANDesk Application Virtualization. Microsoft Application Virtualization. Altiris Software Virtualization Solution. Novell ZENworks Application Virtualization (ось тут зроблена спроба порівняти можливості подібних продуктів). Крім того, в мережі є колекції готових переносних версій поширених безкоштовних додатків.