Управление виртуальным программным обеспечением с помощью SCCM 2012 SP1 в теории и на практике. В статье рассматриваются назначение и основные настройки виртуализации программ, преимущества и недостатки, трудности при создании и дальнейшем их распространении на пользовательские ПК. 

 

Введение

Зачастую программы доступны пользователям только на том компьютере, где они установлены, что вызывает немало сложностей с совместимостью или миграцией, а также восстановлением после сбоев ОС или ПО. Для устранения данной проблемы применяются различные решения, одним из которых является App-V - Application Virtualization (виртуализация приложений). Используя App-V, программы запускаются так, словно локально установлены, при этом не оказывают какого-либо влияния на используемый компьютер, не оставляют следов в операционной системе, что является главным преимуществом. В результате работа с пользовательскими ПК превращается в упрощённый и продуктивный процесс.

К преимуществам виртуального программного обеспечения можно отнести следующие:

  • устранение конфликтов программ за счёт их изоляции; 
  • возможность запуска нескольких версий одного продукта одновременно;
  • сокращение времени на тестирование совместимости и обновление приложений;
  • экономия дискового пространства за счет переупаковки традиционных exe-файлов в .appv;
  • отсутствие привязки к рабочему месту.

Однако имеется и перечень недостатков:

  • требуется установка App-V-клиента даже при наличии клиентской части Configuration Manager;
  • сервер SСCM не имеет возможности создания виртуальных приложений, что влечёт за собой необходимость дополнительно использовать Sequencer;
  • нельзя виртуализировать программы, которые встроены в систему (Internet Explorer), устанавливают драйверы (DriverPack), начинают работу до загрузки ОС (PGP), используют COM+ (MS Visual C++, MS Visual Basic), а также антивирусы и обновления.

Для реализации такого направления требуется развертывание определенной инфраструктуры, основой является Application Virtualization из состава MDOP (Microsoft Desktop Optimization Pack) [http://cwer.ws/node/342697], включающая следующие компоненты: Sequencer, базу данных, клиентскую часть, сервер управления, потоковый сервер и консоль управления.

В нашем случае уже имеется установленный Configuration Manager 2012 SP1, управление серверной частью он берёт на себя. Дополнительно нам понадобятся только Sequencer, который создаёт из обычного дистрибутива виртуальное приложение и клиент App-V. Визуально последовательность действий по созданию и управлению виртуальными приложениями можно представить следующим образом (см. рис. 1).

Рисунок 1. Работа виртуальных приложений.

 

Способы доставки

Как и традиционные программы, виртуальное программное обеспечение выполняется на компьютере пользователя. Одной из отличительных черт App-V продуктов является наличие App-V Package Store (виртуального хранилища), а другая - их распределение от сервера клиентам. Так, Configuration Manager поддерживает два метода доставки виртуальных программ – потоковый и локальный. Чтобы понять отличия и места их применения, рассмотрим оба этих подхода.

Потоковый. В кэш SCCM-клиента загружается не App-V приложение, а только файлы динамической конфигурации, на основании которого происходит получение данных от сервера. Клиент App-V при первом запуске помещает некоторую часть программы в виртуальное хранилище. Таким образом происходит изначальная загрузка только нужных пользователю компонентов, а редко используемые функции доставляются по мере необходимости. Это приводит к снижению сетевой нагрузки. Данный способ доставки поддерживается по умолчанию и без дополнительных настроек, и является предпочтительнее для неперемещаемых сотрудников.

Локальный (скачать и выполнить). Клиент Configuration Manager сначала скачивает весь пакет виртуального приложения в кэш, а затем добавляет, публикует и монтирует приложение к системе, после чего, appv-файл помещается в виртуальное хранилище. Такой способ доставки приложения больше подходит для мобильных пользователей.

               

Как это работает?

По запросу пользователя клиент App-V получает список виртуальных приложений с сервера, отображает и выполняет их запуск [http://technet.microsoft.com/ru-ru/magazine/2008.10.appv.aspx] в собственной виртуальной области, которая включает в себя несколько компонентов, в том числе виртуальный реестр, виртуальную файловую систему и диспетчер виртуальных служб.

App-V клиент предоставляет виртуальному приложению доступ к локальной файловой системе при сохранении или изменении файлов, а также позволяет ему взаимодействовать с локальными службами (например, печать) при наличии полномочий пользователя. Любые внесённые изменения виртуальным приложением в файлы локальной системы перенаправляются в виртуальную область, поэтому данные на используемом компьютере остаются нетронутыми. Выполнение программ происходит в полностью изолированном виртуальном окружении, которое называют sandbox (песочницей).

Клиентская часть App-V располагается в C:ProgramDataApp-VClient. В процессе публикации программ выполняются действия по копированию файлов конфигурации, созданию ярлыков рабочего стола, папок меню «Пуск», ссылок «Отправить».

Для установки App-V клиента на Windows 8/8.1 никаких дополнительных компонентов не требуется, а для Windows 7 необходимо следующее:

  • Net Framework 4.0;
  • обновление KB2533623;
  • PowerShell 3.0 (KB2506143);
  • Visual C++ Redistributable 2010 (10.0.40219).

 

Создатель виртуальных приложений

Основой в App-V инфраструктуре является Sequencer. Он представляет собой упаковщик, отслеживающий все зависимости (файлы, папки, ключи и ветки реестра, системные библиотеки) и вносимые изменения по ходу установки программных продуктов, настройка параметров их доставки. Чтобы исключить проблемы с повреждением пакета или добавление ненужных в него данных, на компьютере с установленным Sequencer необходимо закрыть все запущенные программы и отключить некоторые службы (в частности Windows Defender, SMS Agent Host или другие). В идеале, процесс создания App-V приложения должен происходить на “голой” (эталонной) машине. Sequencer к ресурсам компьютера не требователен.

Итак, нам понадобится упаковщик последней версии (5.0), который поддерживает appv-расширение. Выполнение процедуры создания [http://support.microsoft.com/kb/939796] образа виртуального приложения обычно сложностей не вызывает и проходит в режиме “Выбрать-Далее-Готово”. К простым программам можно отнести DWG, Adobe Reader и Flash, Far, браузеры (Google Chrome, Mozilla Firefox, Opera) и другое.

В результате создаются несколько файлов, а именно:

  • .appv – основное виртуальное приложение; 
  • _DeploymentConfig.xml – определяет способ развёртывания созданного приложения на целевых компьютерах;
  • _UserConfig.xml – включает в себя пользовательские конфигурации и определяет способ выполнения виртуальной программы на распространяемой машине;
  • msi-файл используется для инсталляции виртуального приложения;
  • в report.xml – сохраняются предупреждения и ошибки, возникшие во время виртуализации программы.

 

Продолжение следует...