Pull to refresh
0
Инфопульс Украина
Creating Value, Delivering Excellence

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

Reading time 5 min
Views 18K

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


В невиртуализированной среде 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 условия, правила изоляции, перенаправления, игнорирования во время процесса создания профиля или его выполнения на клиенте.
Tags:
Hubs:
+11
Comments 20
Comments Comments 20

Articles

Information

Website
www.infopulse.com
Registered
Founded
1992
Employees
1,001–5,000 employees
Location
Украина