Рубрика:
Облачные вычисления /
Администрирование
|
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|
ИВАН КОРОБКО, сертифицированный специалист MCP, автор более 50 статей и двух книг. Занимается созданием различных приложений для Active Directory
Переносимые приложения Эксплуатация в Windows-домене
Переносимые или portable-приложения давно упростили жизнь опытным пользователям на их домашних компьютерах. Являются ли они такими же удобными для системных администраторов в сети?
Проблема распространения программного обеспечения в сети предприятия является одной из важнейших задач системного администрирования, которая отнимает большую часть времени. Все проблемы по их обслуживанию ложатся на плечи специалистов системной поддержки.
Довольно часто к приложениям их производители выпускают обновления. Существуют различные сервисы для их распространения на рабочие станции, однако с помощью переносимых приложений централизовано переходить с одной версии {то же} на другую много проще.
Идея использования portable-приложений в Windows-домене заключается в том, что переносимые приложения хранятся в сети, а доступ к ним выдается динамически на основе членства в соответствующих группах безопасности.
Предлагаемое решение логически можно разбить на три части:
- создание;
- внедрение;
- управление доступом.
Создание переносимых приложений
Несмотря на кажущуюся простоту, создание и оптимизация переносимых приложений – достаточно сложная вещь. Возникающие сложности касаются не столько создания, сколько настройки приложения и его оптимизации перед компиляцией файла.
Выбор программы для создания переносимых приложений
Создать переносимые приложения можно с помощью таких программ, как VMware ThinApp [1], Microsoft App-V [2]. Несмотря на солидный список, все приложения работают по одному принципу. Их создание сводится к вычислению разницы в конфигурации операционной системы «до» и «после» установки и настройки приложения с последующей компиляцией выполняемого файла.
Чтобы быстро создать portable-приложение, рекомендуется использовать виртуальную машину VMware Workstation [3] или, например, Microsoft Virtual PC [4]. Участие виртуальных машин в данном процессе очень важно, поскольку одно из важнейших требований к созданию переносимого приложения – отсутствие предустановленной какой-либо версии данной программы. К сожалению, деинсталляторы после удаления приложения не могут обеспечить должную чистоту реестра и файловой системы. Единственный способ быстро получить «чистую» рабочую станцию – использовать виртуальную машину и в случае необходимости создавать так называемые состояния системы (snapshots).
Для создания переносимых приложений рекомендуется использовать связку: VMWare ThinApp совместно с VMware Workstation.
Пример создания переносимого приложения
Продемонстрируем создание переносимых приложений на примере Adobe Acrobat Reader X. Во время этого процесса специалист выполняет следующие шаги:
- Подготовка виртуальной машины.
- Создание проекта переносимого приложения:
- Создание слепка системы до установки программы.
- Установка приложения Adobe Acrobat Reader X.
- Создание слепка системы после установки.
- Оптимизация получившегося проекта.
- Сборка переносимых приложений.
- Внедрение созданной программы.
Подготовка виртуальной машины
Подготовка виртуальной машины к созданию переносимых приложений включает в себя два этапа: создание и настройка. Если она существовала ранее, то необходимо вернуться к сделанному раньше снимку системы (snapshot) или скопировать файлы виртуальной машины из заранее подготовленной резервной копии.
Создание виртуальной машины
Данный процесс ничем не отличается от установки Windows на обычный компьютер. Запуск мастера создания виртуальной машины в VMware Workstation: необходимо в меню File -> New выбрать Virtual Machine… или воспользоваться комбинацией клавиш <CTRL> + <N> (см. рис. 1).
Рисунок 1. Запуск мастера установки новой виртуальной машины
Работа мастера состоит из шести шагов.
На первом шаге выполняется выбор типа установки. Опытным специалистам рекомендуется выбрать Typical.
На следующем шаге указывают привод с компакт-диском или путь к образу диска в ISO-файле, с которого будет выполняться развертывание Windows.
На третьем шаге рекомендуется указать серийный номер, используемый для установки операционной системы, указать ее версию, а также имя и пароль пользователя по умолчанию. Указанные данные VMware Workstation подставит во время инсталляции автоматически (см. рис. 2).
Рисунок 2. Шаг 2 и шаг 3 работы мастера установки виртуальной операционной системы
На последующих двух шагах реализуются настройка расположения и именования создаваемой виртуальной машины в файловой системе, размер жесткого диска и принцип разбиения файла, содержащего диск виртуальной машины (см. рис. 3).
Рисунок 3. Шаг 4 и шаг 5 работы мастера установки виртуальной операционной системы
На последнем, шестом, шаге системный администратор выполняет проверку конфигурации будущего виртуального компьютера.
При нажатии на клавишу Finish выполняется установка операционной системы.
Настройка виртуальной машины
После завершения процесса установки операционной системы она требует настройки. Во-первых, установите VMware Tools, являющуюся компонентом VMware Workstation. Для этого, во-первых, необходимо, запустив виртуальную машину, раскрыть список меню VM в верхней панели и выбрать Install VMware Tools. К устройству виртуальных компакт-дисков автоматически подключится образ VMware Tools, и запустится процесс установки. Установка инструментов очень проста, поэтому описываться не будет.
Замечание: для выхода из виртуальной машины в основную операционную систему воспользуйтесь клавишами <CTRL> + <ALT>.
Во-вторых, после завершения установки VMware Tools необходимо развернуть VMware ThinApp. Дистрибутив можно скопировать на виртуальную машину. Инсталляция программы выполняется без особых трудностей, поэтому рассматриваться не будет.
В-третьих, после завершения процесса установки необходимо сделать снимок состояния системы или snapshot. Для этого в меню VM -> Snapshot выберите Take Snapshot… В появившемся диалоговом окне укажите название снимка и задайте комментарий в случае необходимости.
Рисунок 4. Создание снимка состояния системы в VMware Workstation
Создание проекта переносимого приложения
Создание проекта осуществляется с помощью программы VMware ThinApp, которая, по сути, является мастером.
Первый шаг работы данного мастера – информационное сообщение, в котором кратко описана последовательность действий, выполняемых мастером. На втором и третьем шагах (см. рис. 5) осуществляется вывод информации о создании слепка состояния системы до установки приложения и выполнение сканирования системы соответственно. На этом этапе осуществляется сканирование реестра и файловой системы. На четвертом шаге мастер информирует администратора, что необходимо выполнить установку и настройку программы, которую нужно сделать переносимым приложением (см. рис. 6). В данном случае развертывание приложения ничем не отличается от его установки для работы. После установки необходимо выполнить ряд настроек, которые условно можно разделить на две группы. К первой группе относятся обязательные. Например, отключение обновлений из сети Интернет, создание ассоциации расширения PDF установленному приложению и т.д. Ко второй группе относятся необязательные, например, выбор размерности единиц длины по умолчанию.
Рисунок 5. Создание снимка системы до установки переносимого приложения
Рисунок 6. Установка и настройка переносимого приложения
Примечание: во время установки и настройки приложения программа VMware ThinApp должна быть запущена.
На пятом шаге выполняется создание снимка системы после установки и настройки приложения. После завершения процесса сканирования выводится список запускаемых файлов – предполагаемых точек входа в приложение (см. рис. 7). Специалисту необходимо выбрать нужный из перечисленных в списке, в данном случае AdobeReaderX.exe.
Рисунок 7. Определение точки входа в переносимое приложение
На этом формирование проекта завершено. Дальнейшие шаги (6 и 7) мастера позволяют выполнить следующие настройки проекта:
- Управление пользователями Active Directory, которым разрешен запуск данного приложения. Если приложение создается для локального компьютера, то рекомендуется выбрать опцию EveryOne (для всех).
- Метод изоляции приложения. Данные могут сохраняться как напрямую в файловую систему компьютера, на котором выполняется запуск приложения (рекомендуется для Microsoft Office), так и централизованно.
- Расположение временных файлов, создаваемых во время запуска переносимого приложения. Доступно три варианта: в папке ThinApp в профиле пользователя (по умолчанию), в том же каталоге, что и само приложение, заданное вручную (путь к сетевой папке или локальному диску).
- Название запускаемого файла и его местоположение. По умолчанию папка Capture в файловой структуре, установленной на виртуальной машине VMware ThinApp.
На восьмом шаге работы мастера определяется формат создаваемого файла (см. рис. 8):
- запускаемый EXE-файл (по умолчанию) – архив, содержаний внутри файл с данными;
- запускаемый файл с отдельным файлом данных (.DAT-файл).
Рисунок 8. Управление форматом создаваемого файла
Также параллельно можно создать дистрибутив приложения, который не требует ввода серийного номера, выбора компонентов для установки. Тут же реализовано управление компрессией создаваемого переносимого приложения.
Далее (шаг девятый) выполняется сохранение проекта в файловую структуру (см. рис. 9), которая состоит из папок, имена которых зашифрованы значениями переменных окружения. Их распознавание производится при распаковке файлов, выполняемых во время запуска переносимого приложения. В этой структуре также присутствуют конфигурационный файл приложения и командный файл, обеспечивающий сборку проекта.
Рисунок 9. Формирование файловой структуры проекта
Структура ThinApp-проекта
Любой ThinApp-проект представляет собой папку, имя которой совпадает с названием будущего приложения. Данные, находящие в этой папке, обеспечивают:
- описание файловой структуры проекта;
- управление виртуальным реестром, обеспечивая работу программы;
- конфигурационный файл переносимых приложений, используемый для его создания;
- командный файл, обеспечивающий формирование переносимого приложения в соответствии со сделанными настройками.
Описание файловой структуры проекта
В этой папке находится эмуляция будущей файловой системы, реализованная с помощью папок-псевдонимов (см. рис. 9).
Подробная расшифровка псевдонимов путей приведена в таблице 1.
Таблица 1. Переменные проекты
%AdminTools% |
C:\Documents and Settings\<Имя_Пользователя>\Start Menu\Programs\Administrative Tools |
%AppData% |
C:\Documents and Settings\<Имя_Пользователя>\Application Data |
%CDBurn Area% |
C:\Documents and Settings\<Имя_Пользователя>\Local Settings\Application Data\Microsoft\CD Burning |
%Common AdminTools% |
C:\Documents and Settings\All Users\Start Menu\Programs\Administrative Tools |
%Common AppData% |
C:\Documents and Settings\All Users\Application Data |
%Common Desktop% |
C:\Documents and Settings\All Users\Desktop |
%Common Documents% |
C:\Documents and Settings\All Users\Documents |
%Common Favorites% |
C:\Documents and Settings\All Users\Favorites |
%Common Programs% |
C:\Documents and Settings\All Users\Start Menu\Programs |
%Common StartMenu% |
C:\Documents and Settings\All Users\Start Menu |
%Common Startup% |
C:\Documents and Settings\All Users\Start Menu\Programs\Startup |
%Common Templates% |
C:\Documents and Settings\All Users\Templates |
%Cookies% |
C:\Documents and Settings\<Имя_Пользователя>\Cookies |
%Desktop% |
C:\Documents and Settings\<Имя_Пользователя>\Desktop |
%Cookies% |
C:\Documents and Settings\<Имя_Пользователя>\Cookies |
%Drive_c% |
C:\ |
%Drive_m% |
M:\ |
%Favorites% |
C:\Documents and Settings\<Имя_Пользователя>\Favorites |
%Fonts% |
C:\Windows\Fonts |
%History% |
C:\Documents and Settings\<Имя_Пользователя>\Local Settings\History |
%Internet Cache% |
C:\Documents and Settings\<Имя_Пользователя>\Local Settings\Temporary Internet Files |
%Local AppData% |
C:\Documents and Settings\<Имя_Пользователя>\Local Settings\Application Data |
%My Pictures% |
C:\Documents and Settings\<Имя_Пользователя>\My Documents\My Pictures |
%My Videos% |
C:\Documents and Settings\<Имя_Пользователя>\My Documents\My Videos |
%NetHood% |
C:\Documents and Settings\<Имя_Пользователя>\NetHood |
%Personal% |
C:\Documents and Settings\<Имя_Пользователя>\My Documents |
%PrintHood% |
C:\Documents and Settings\<Имя_Пользователя>\PrintHood |
%Profile% |
C:\Documents and Settings\<user_name> |
%Profiles% |
C:\Documents and Settings |
%Program Files Common% |
C:\Program Files\Common Files |
%ProgramFilesDir% |
C:\Program Files |
%Programs% |
C:\Documents and Settings\<Имя_Пользователя>\Start Menu\Programs |
%Recent% |
C:\Documents and Settings\<Имя_Пользователя>\My Recent Documents |
%Resources% |
C:\Windows\Resources |
%Resources Localized% |
C:\Windows\Resources\<language_ID> |
%SendTo% |
C:\Documents and Settings\<Имя_Пользователя>\SendTo |
%Startup% |
C:\Documents and Settings\<Имя_Пользователя>\Start Menu\Programs\Startup |
%SystemRoot% |
C:\Windows |
%SystemSystem% |
C:\Windows\System32 |
%TEMP% |
C:\Documents and Settings\<Имя_Пользователя>\Local Settings\Temp |
%Templates% |
C:\Documents and Settings\<Имя_Пользователя>\Templates |
Управление виртуальным реестром
Содержание каждой папки формируется автоматически во время анализа различий состояния системы до и после установки приложения. После завершения формирования структуры специалист может скорректировать набор папок должным образом.
Изменения, произошедшие в реестре, фиксируются в текстовых файлах, имена которых совпадают с названиями соответствующих кустов:
- HKEY_CURRENT_USER. Содержит настройки для пользователя, зарегистрированного в системе в настоящий момент;
- HKEY_LOCAL_MACHINE. В этой ветви хранятся характеристики, касающиеся программной и аппаратной частей компьютера;
- HKEY_USER. Содержит шаблон настроек окружения, действительный для всех пользователей.
Замечание: во время компиляции проекта виртуальный реестр помещается в REGFILE.TVR, который находится в EXE или MSI-файле.
По своей структуре файл напоминает REG-файлы. Структура описания любого параметра приведена в листинге 1.
Виртуальным реестром поддерживаются следующие типы данных:
- REG_NONE;
- REG_SZ;
- REG_EXPAND_SZ;
- REG_BINARY;
- REG_DWORD;
- REG_DWORD_LITTLE_ENDIAN;
- REG_DWORD_BIG_ENDIAN;
- REG_MULTI_SZ;
- REG_RESOURCE_LIST;
- REG_FULL_RESOURCE_DESCRIPTION;
- REG_RESOURCE_REAUIREMENTS_LIST.
По правилам синтаксиса все значения ключей предваряются символом решетки # (см. рис. 10).
Рисунок 10. Фрагмент описания виртуального реестра в файле
Этот символ также используется в качестве разделителя новой строки, знака табуляции, перевода каретки, пустого символа (NULL).
Листинг 1. Шаблон хранения данных виртуального реестра
<isolation_mode> FULL_SUBKEY_NAME
Value=Value_Name
Value_Type =Value_Data
Наряду с перечисленными типами данных, описание которых в файле подчиняется шаблону, приведенному в листинге 1, для поддержки переменных среды в VMware используется еще один тип данных – MACRO_VALUE_DATA. Этот тип данных применяется совместно со следующими типами данных:
- REG_SZ
- REG_EXPAND_SZ
- REG_MULTI_SZ
Значения MACRO_VALUE_DATA присваиваются параметрам с помощью тильды (~), как это показано в шаблоне (листинг 2), например REG_SZ~%AppData%:
Листинг 2. Шаблон хранения данных виртуального реестра для макрозначений
<isolation_mode> FULL_SUBKEY_NAME
Value=Value_Name
Value_Type~%Macro_Value_Data%
Замечание: после того как проект собран в запускаемый файл, трансформирование реестра осуществляется с помощью утилиты vregtool.exe.
Настройка конфигурационного файла
Конфигурационный файл package.ini находится в корневом каталоге проекта переносимого приложения (см. рис. 9). Это текстовый файл в формате Unicode, имеющий структуру классического INI-файла (см. рис. 11).
Рисунок 11. Фрагмент конфигурационного файла package.ini
Файл содержит в себе много подразделов, и его подробный обзор – тема не для одной статьи. Подробное описание файла находится на сайте VMware [5].
Разработчики VMware значительно облегчили задачу по изменению конфигурации файла, указав в нем все возможные настройки. Управление настройками осуществляется с помощью символа комментария – точки с запятой (;), как показано на рис. 11.
После того как файл package.ini отредактирован, не забудьте удалить лишние папки проекта – cookies, history и т.д.
Командный файл build.bat
Командный файл build.bat формируется в автоматическом режиме в папку проекта. Проанализировав текст файла (см. рис. 12), можно утверждать, что она сводится к запуску утилиты vregtool.exe, который обработает данные, хранящиеся в файле package.ro.tvr.
Рисунок 12. Файл buid.bat
Второй функцией BAT-файла является удаление старой версии сборки.
***
Создание переносимых приложений – достаточно сложная процедура, несмотря на кажущуюся простоту. Если созданная программа работает не так, как ожидается, посетите форум VMware [6]. Здесь можно не только поделиться своими проблемами, но и загрузить переносимые версии различных приложений.
- VMware ThinApp – http://www.vmware.com/products/thinapp.
- Microsoft App-V – http://www.microsoft.com/systemcenter/appv.
- VMware Workstation – http://www.vmware.com/products/workstation.
- Microsoft Virtual PC – http://www.microsoft.com/windows/virtual-pc.
- Описание параметров файла package.ini – http://www.vmware.com/info?id=906.
- Коллекция ThinApp-приложений – http://communities.vmware.com/thinap.jspa.
Facebook
Мой мир
Вконтакте
Одноклассники
Google+
|