Как стать автором
Обновить
0
Рейтинг
Инфопульс Украина
Creating Value, Delivering Excellence

Как решить проблему конфликта приложений

Блог компании Инфопульс Украина
Из песочницы

Как установить две версии приложения на одном компьютере? Как решить проблему конфликта приложений? Как сделать приложение более безопасным для системы?
Как?


В невиртуализированной среде Windows систем приложения устанавливаются непосредственно в ОС, в общие системные файлы, из-за чего зачастую происходят конфликты приложений, сбои и неустойчивая работа всего компьютера.

Данную ситуацию изменяет внедрение виртуализации приложений, при которой происходит разделение операционной системы и конфигурации приложения.

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

На сегодняшний день существует много систем виртуализации приложений Citrix XenApp, SoftGrid, VMWare ThinApp, etc. У всех есть свои минусы и плюсы. И каждый выбирает систему по своим требованиям и возможностям.

Попробуем поближе взглянуть на виртуализацию при помощи Citrix, а именно стриминг виртуализированных приложений.

Создадим виртуальное приложение, которое будет изолированно от ОС и других приложений.

Весь процесс можно разбить на 2 части:
1. Создание виртуального приложения (профиля) — подготовка и упаковка приложения и всего необходимого для его работы. Конечный результат и есть профиль приложения.
2. Доставка профиля — распространение готового профиля приложения на клиентские машины используя Citrix XenApp Server.

Часть первая. Создание профиля


Создание профиля приложения выполняется с помошью приложения Streaming Profiler. Рекомендуется использовать чистую систему с такими же параметрами и настройками как у будущего пользователя. Имеется ввиду ОС, битность, установленные антивирусы, групповые политики, итд.
Непременно, пригодится виртуальная среда, которая является лучшим инструментом для отката системы в предыдущее «чистое» состояние, если в процессе создания профиля что-то пошло «не так».

Рассмотрим создание профиля на примере Adobe Reader (v.10.0.0)

Итак, чистая машина, максимально приближенная к клиентской, установленный инструмент Citrix Streaming Profiler.

Создаем профиль открыв Streaming Profiler, шагаем с подсказками мастера.
Name. Даем имя профилю.



Inter-Isolation Communication. Так как наше приложение будет изолированно от остальных приложений но оно должно работать вместе с другим, например, как зависимость, то в следующем диалоге указываем какое существующее виртуализированное приложение использовать.



Приложения будут видеть друг-друга и при необходимости использовать общие компоненты:



Target OS. Указываем для каких ОС и с какой конфигурацией данный профиль будет работать:



Если установка приложения происходит обычным инсталлятором напр setup.exe и не требует других шагов то выбираем Quick Install — опция для установки приложения одной строкой. Если же имеется несколько установочных файлов, или ставятся апдейты, необходимо руками вносить изменения в реестр или конфигурационные файлы, то лучше выбрать Advanced Install.

Далее выбираем установочный файл и производим установку приложения.



Во время установки Streaming Profiler следит за установкой (какие файлы устанавливаются, реестровые записи) и создает профиль приложения. При этом не происходит установка приложения на систему. Все происходит в виртуальной оболочке созданной Profiler-ом но устанавливаемое приложение «видит» все компоненты системы и установленные ранее приложения.

После завершения установки мастер предлагает какие ярлыки оставить для будущей публикации на клиентские машины. Сохраняем профиль на Application Hub — выделенная сетевая шара. Права write+modify для записи пользователю который создает профили и управляет ими. И права read+execute пользователям, которым будет распространено данное приложение в будущем. В результате имеем сам профиль файл .profile и набор необходимых файлов для работы приложения.

Каждый профиль включает в себя один или несколько Target-ов. Target — набор файлов, реестровых записей, компонентов необходимых для работ приложения на конкретной конфигурации компьютера.



Если существует необходимость работы приложения например на нескольких версиях ОС — при помощи Streaming Profiler можно добавлять необходимые таргеты, при этом каждый раз нужно запускать установку приложения заново. Таргеты так же полезны если имеется потребность в различной конфигурации приложения на различных версиях ОС.

Если нужно внести изменения в профиль или таргет приложения необходимо использовать то же Streaming Profiler как редактор.

Часть вторая. Доставка профиля


Распространять уже готовый профиль будем с помощью Citrix XenApp Server 6 который установлен на Windows Server 2008 R2.

Открываем Citrix Delivery Services Console. Раскрываем дерево фермы, жмем Aplications -> Publish Applications. Даем имя приложению.



Выбираем тип приложения — Aplication — Streamed To Client. Для того что бы приложение стримилось сразу на клиент.



Возможен вариант стриминга на сервер, тогда клиент будет заходить по протоколу ICA на сервер, на который стримится приложение. В данном случае мы используем стриминг прямо на клиент.

В следующем окне указываем путь файлу профилю (.profile) на Application Hub, используя UNC пути.
Так же выбираем в выпадающем списке ярлык, который будет опубликован клиенту.



Если необходимо что бы приложение было доступно даже когда нет сети, выбираем Enable Offline Access. В данном случае приложение будет полностью загружено в кеш на клиенте и в дальнейшем запускаться с кеша, даже если будет отсутствовать сетевое подключение.



Выбираем пользователя или группу (Citrix или AD) для которых данное приложение будет опубликовано и доступно.



Меняем если нужно иконку. При желании можно поместить ярлык в указанную подпапку в старт меню, как показано ниже:



Вот и всё. Приложение опубликовано. Настройки файловых ассоциаций для приложения доступно в свойствах.

На клиенте же приложение появилось как меню приложений Citrix:



так и в старт меню:



Приложение может быть так же опубликовано с помощью Citrix Web Interface.

При запуске ярлыка происходит собственно сам стриминг виртуализированного приложения.
Стримится не всё приложение сразу а минимальный набор компонентов, необходимых для старта приложения и отображения пользователю интерфейса приложения (аналогично 1-st Feature Block в APP-V).

Приложение запущено и работает в изолированной среде:



Таким образом, на системе может быть доступно сразу несколько версий одного и того же приложения, например Adobe Reader 9 и Adobe Reader 10.

Ограничения для стриминга:


  • Приложения, которые скомпилированны как 64-разрядные не поддерживаются
  • Драйвера и приложения, содержащие драйвера не поддерживаются.
  • Компоненты ОС MDAC не возможно запрофилировать, например Internet Explorer, .Net Framework.


Существует много нюансов относительно процесса создания профиля приложения, т.к. существуют достаточно сложные и громоздкие приложения которым необходимы различные компоненты как системы так и других приложений.
В Streaming Profiler реализовано достаточно много функций для углубленной конфигурации профиля, pre- и post-launch скрипты, pre-analysis условия, правила изоляции, перенаправления, игнорирования во время процесса создания профиля или его выполнения на клиенте.
Теги:
Хабы:
Всего голосов 25: ↑18 и ↓7 +11
Просмотры 16K
Комментарии Комментарии 20

Информация

Дата основания
1992
Местоположение
Украина
Сайт
www.infopulse.com
Численность
1 001–5 000 человек
Дата регистрации