Полное руководство по Citrix MetaFrame XP


Должен быть специализированным сервером?


Хотя модель лицензирования MetaFrame XP означает, что вы материально не штрафуетесь за установку MetaFrame XPe более чем на одном сервере, необходимость обслуживания разных серверов подразумевает, что вы должны купить дополнительные аппаратные средства. Действительно ли необходимо иметь отдельный упаковочный сервер?

К сожалению, да. Во-первых, специализированный сервер проще сохранить в чистоте. Какое бы упаковочное приложение вы не использовали - Citrix Packager или Winlnstall, суть остается той же. Упаковочный инструмент делает снимок системы до установки приложения, записывает изменения системного реестра и файлов, делаемые во время установки файла или заплаты, а затем упаковывают эти изменения, сравнивая первоначальный снимок со снимком, сделанным после установки. Когда вы запускаете пакет на целевом компьютере, эти различия применяются на компьютер: изменения файлов и реестра. Это означает, что упаковочный компьютер должен быть в максимальной степени похожим на на компьютеры, на которых будут использоваться пакеты (или, по крайней мере, не должен подразумевать присутствия любых файлов, изменений реестра или чего-то в этом роде, чего целевые компьютеры могут не иметь).

Допустим, некоторое приложение требует для работы файл MYDLL.DLL. Если версия DLL, которая является той же самой или более новой версией, уже находится на упаковочном сервере (возможно, потому что другая уже установленная программа использует ту же самую DLL), то подпрограмма установки для приложения не будет устанавливать MYDLL.DLL. Следовательно, упаковочное приложение не сделает запись об инсталляции этого DLL и этот файл не будет установлен при развертывании пакета на целевом компьютере - в результате приложение не будет работать. (По подобным причинам, упаковочный сервер должен использовать ту же самую версию ОС, которую будут использовать целевые компьютеры, включая все примененные сервисные пакеты. Необходимо, чтобы все DLL и системные файлы на упаковочном сервере и на целевых компьютерах были одинаковыми). Каждый раз, когда вы заканчиваете упаковывать приложение, делайте откат изменений, сделанных инсталляцией на упаковочном сервере, чтобы эти изменения не влияли на более поздние упаковки.


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

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

Упаковка приложений и заплат для инсталляции

Итак, у нас есть упаковочный сервер. Давайте посмотрим, как его использовать для установки приложений или заплат для операционной системы. На упаковочном сервере войдите в группу программ Citrix и выберите Citrix Installation Manager чтобы открыть Citrix Packager, как показано на рисунке:



Гм... пока не очень понятно. Самый простой способ начать во всем этом разбираться - это начать с Project Wizard. Щелкните кнопку Project Wizard, четвертую слева на панели.

Вы можете использовать этот мастер для записей трех типов установок. Installation Recordings (запись инсталляции) и Unattended Program packages (автоматическая установка) говорят сами за себя - вы будете использовать этии варианты для записи процесса инсталляции приложений или сервисных пакетов. Опция Packaging files не так очевидна. Вы можете использовать ее для автоматизации установки приложений, которые не требуют специальной программы установки, например, в случае старых приложений, где вы просто копируете файлы в нужный каталог. Вы также можете использовать эту опцию для копирования файлов, например, шаблонов, на серверы MetaFrame, которые требуют локального доступа к этим файлам. Давайте начнем с создания файла ADF для инсталляции Adobe Acrobat Reader.

Если устанавливаемое приложение доступно в формате MSI, то вы можете просто опубликовать этот файл с помощью Installation Manager. Создание файлов ADF необходимо в том случае, если у вас отсутствует файл MSI или вам нужно модифицировать программу установки инсталляционными сценариями или дополнительными файлами. Вы не можете автоматически деинсталлировать файлы ADF; для этого вам потребуется утилита деинсталляции MSI



На первой странице Project Wizard вам нужно выбрать тип создаваемого проекта (см. рисунок выше). В нашем случае мы хотим запись инсталляции, поэтому выбираем Installation Recordings и щелкаем Next.

Затем введите имя и размещение пакета:

.

Я создал на сервере папку с общим доступом для хранения всех пакетов. Когда я называю проект Adobe Acrobat, мастер Project Wizard автоматически создает папку с именем проекта. Поскольку каталог проекта будет включать полную инсталляцию упакованных файлов, вам надо побеспокоиться, чтобы на диске сервере было достаточно свободного места.

Далее вам нужно указать пусть к файлам инсталляции приложения. Если вам нужен доступ к файлам через сеть, не используйте в имени маршрута имена дисков, а указывайте имена UNC.



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





В нашем случае сценарии совместимости не требуются, но если они нужны, то выберите Include Compatibility Script и щелкните Find Script для выбора сценария из списка:



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



Наконец, появится финальное окно, на котором вы можете видеть ваши установки. После щелчка Finish появится диалог, предлагающий сохранить проект под именем No Project (т.к. мы сначала не указали имя). Настройки проекта хранятся отдельно от пакета, поэтому выберите имя и размещение для файла проекта (файл AEP) и щелкните Save. Я назвал проект Adobe 5-5.

После сохранения проекта начинается процесс записи. В нашем случае Adobe Acrobat Reader Setup показывает диалоговое окно, в котором отображается процесс копирования инсталляционных файлов. После этого начнется обычная процедура установки. Выполните установку как обычно, выбрав каталог для установки, который будет использоваться на всех серверах.

По завершении работы всех программ установки (вы можете видеть это по списку в окне Recording), кнопка в этом окне изменится на Done. Установка может завершиться до того, как окно Recording покажет кнопку Done. Не останавливайте запись до тех пор, пока Citrix Packager не закончит.

После щелчка на Done, Packager проанализирует сделанные изменения и создаст файл ADF, содержащий все изменения. В итоге получится полная иинсталляция упакованного приложения в указанном вами месте, включая проект и файлы пакета. После возврата в Packager, он будет содержать загруженный проект.



Большая часть информации здесь представляет собой запись всех изменений, которая инсталляция сделала на упаковочном сервере и которые будут применены на целевом сервере, когда вы примените пакет. Раздел Project Entries перечисляет программы установки, использованные для создания проекта - их может быть несколько, если вы создаете проект с набором приложений. Папка Applications перечисляет приложения, установленные в результате применения пакета к серверу. Папка Symbols содержит путь к инсталляции и информацию о производителе. Списки File System Changes и Registry Changes говорят сами за себя - они содержат копии папок или папок реестра, которые изменились в процессе установки. Вы можете исследовать эти папки для выяснения, как инсталляция приложения изменит компьютер. Наконец, в History Log содержится информация о процессе создания проекта и ассоциированного файла ADF, включая анализ инсталляции, изменения в реестре, создание файла ADF и любые ошибки.

Упаковка сервисных пакетов и заплат



Строго говоря, целью этой опции является не только упаковка сервисных пакетов и заплат, но и создание пакетов для автоматической инсталляции. Большая часть этого процесса аналогична записи инсталляции приложения, но давайте все же посмотрим, как этот процесс работает.

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



В нашем примере я упаковываю SP2 для распространения на всех серверах MetaFrame, которые еще его не имеют. Этот инструмент будет работать с любой программой автоматической установки, включая пакетные файлы. Убедитесь, что вы включили все необходимые аргументы командной строки. Здесь я говорю обновить папку /i386 на диске C.

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



Инсталляция работает хорошо и мне не надо заботиться о копировании всех файлов на серверы MetaFrame (процесс копирования не будет копировать все файлы для автомтической инсталляции, если я не добавлю их в этом диалоговом окне). Для добавления файлов или папок, которые должны быть скопированы на сервер MetaFrame, щелкните соответствующую кнопку, выберите и добавьте их в список. Обратите внимание, что у меня также есть возможность перезагрузить сервер после выполнения программы автоматической установки.

Упаковка файлов для копирования

Наконец, вы можете упаковать файлы для копирования на серверы MetaFrame. Вы можете делать это через Project Wizard, выбрав третью опцию - Package Files. Как и раньше, назовите проект. Затем добавьте файлы в коллекцию, используя диалог:



Этот диалог сходен с тем, что появлялся при упаковке для автоматической инсталляции за исключением отсутствия опции перезагрузки сервера после применения пакета - этот инструмент служит только для копирования. При выборе файлов будьте осторожны при выборе папок: если вы добавите папку с файлами, то эти файлы вам придется в случае необходимости удалять вручную (вы можете использовать клавишу Ctrl и щелкать по файлам для выделения нескольких файлов).

Затем укажите место для сборки - как мы делали раньше. Пгосмотрите свои настройки на следующем экране и щелкните Finish для создания пакета. Вот и все. Packager спросит, хотите ли вы сохранить изменения, а затем упакует файлы в пакет и создаст каталог.

Использование Citrix Packager для построения или изменения файлов проекта



Вам не обязательно использовать Project Wizard для создания пакетов, и после того как вы освоитесь с процессом, вы можете обнаружить, что пакеты можно быстрее создавать вручную. Вам также придется использовать ручной метод при редактировании созданного проекта. Процесс упаковки не слишком отличается от использования мастера, поэтому я остановлюсь на одном примере - инсталляции WinZip.

В Citrix Packager выберите New из меню File или щелкните самый левый значок на инструментальной панели. Назовите проект:



Теперь имя проекта отображается в Citrix Packager, но вы еще не значете, что с ним делать. Для создания нового пакета щелкните правой кнопкой на значке Project Entries в левой панели. Вы увидите 4 опции: Add Recording, Add Compatibility Script, Add Unattended Program и Add Files. Выберите Add Recording для открытия окна:



Если вы не развернули это поле, щелкнув Advanced, то имеете лишь место для ввода пути к программе установки и для описания проекта - в большинстве случаев этого достаточно. Я включил дополнительные варианты, чтобы вы могли видеть, что Packager делает в процессе записи. Раздел Include Events For перечисляет все доступные диски на упаковочном компьютере, но проверяет только те, которые вы указали для Packager, чтобы он считал, что эти диски каким-то образом будут вовлечены в процесс упаковки - в этом случае инсталляция Win2K, которую я использую, базируется на диске E, но некоторых файлы были на диске F, поэтому он будет просматривать оба диска. Хотя в список входят также сетевые диски, они не проверяются, если вы явно это не решаете, установив соотвествующий флажок.

Список These Types of Actions содержит контролируемые события. Большинство из них довольно очевидны и вам не следует менять их параметры настройки. File reads и File read attributes записывают события чтения файлов или их атрибутов в процессе инсталляции. File set attributes записывает события изменения атрибутов файла (например, только для чтения, скрытый, системный или архивный). Wildcard file searches записывает все действия, выполняемые функциями Find First и Find Next с использованием шаблонов. Registry value reads записывает события чтения значений системного реестра. Вы можете спокойно не записывать эти события - программа установки все равно сделает это, если они являются частью программы. INI file changes (изменения в файлах .ini) и Service changes (изменения в службах), например, добавление новой службы, остановка или приостановка существующих служб, записываются по умолчанию, потому что этот тип информации важен для функционирования установки.

Наконец, в списке есть опция под названием Consecutive Duplicates (Последовательные Дубликаты). Если этот флажок не установлен, Packager сделает запись изменений только один раз, когда оно первый раз произошло. Если вы включите эту опцию, Packager будет делать запись каждый раз. Последнее поле внизу диалогового окна управляет регистрацией событий, не связанных с программой установки. Когда этот флажок выбран (по умолчанию), Packager делает запись только процессов, связанных с программой установки, которую вы идентифицируете, а также любых порожденных этой программой процессов. Другие изменения в файлах INI или в службах, не инициированные этой программой установки, не будут записываться. Так и должно быть - если флажок установлен, Packager не будет делать запись действий, которые не относятся к инсталляционному процессу. Если используется выделенный сервер, это не будет представлять проблемы, но все равно нет никаких причин делать запись изменений, не инициированных программой установки приложения.

Когда вы нажимаете Start, появляется диалоговое окно Recording и мастер установки. Установите приложение, используя опции, которые вы хотите использовать для всех экземпляров этого приложения и щелкните Done по завершении работы упаковщика. После этого Packager анализирует журнал, который он создал во время установки приложения. После этого нажмите F7 для формирования проекта и создания каталога проекта. Пакет появится в Packager.

Вы можете также загрузить пакеты, которые вы предварительно сохранили, и просмотреть или редактировать их, а затем снова собрать пакет. Выберите Open Package из меню File и выберите местоположение, где вы сохранили пакеты. Для каждого пакета будет своя папка. Нужный файл находится в корне папки проекта и будет иметь расширение AEP.

Восстановление сервера



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

Разница между удалением сессии (т.е. экземпляра записи) и откатом не слишком очевидна. Для аннулирования изменений вы должны сделать откат (rollback), а удаление сессии просто удаляет ее из списка, не удаляя при этом изменения, сделанные на упаковочном сервере во время инсталляции. Вы можете удалить сессию, если не хотите деинсталлировать файлы, которые применили во время инсталляции, но должны делать откат сессии, которая находится в самом низу списка. Как видно из рисунка, если перечислено несколько сессий, вам необходимо делать откат или удалять сессии в обратном порядке по отношению к порядку их создания.

Публикация пакетов

Теперь, когда у нас есть пакеты, убедимся, что они доступны через сеть серверу MetaFrame, выполняющему роль Installation Manager, а затем опубликуем эти пакеты. В Citrix Management Console войдите в раздел Citrix Installation Manager. Вы увидите три значка: Packages,

Server Groups и Summary.

Сначала нам надо настроить Installation Manager для доставки пакетов. Он требует учетной записи для доступа к опубликованным файлам и у вас есть возможность сделать пару настроек. Щелкните правой кнопкой на значке Installation Manager и выберите Properties.

Возможно, вы уже присвоили Installation Manager учетную запись, поскольку при первом его запуске он запрашивает у вас эту информацию. Если нет, или вы хотите изменить учетную запись, щелкните Edit для открытия окна Network Account. Выберите домен, в котором находится учетная запись для доступа к файлам пакета, и введите пароль для этой учетной записи. Вы не можете ввести новую учетную запись в окне Network Account , поэтому должны ввести ее заранее. После выбора учетной записи вы возвращаетесь в основное окно свойств.

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



Остальные установки не обязательные. Задания, которые здесь упомянуты - это задания инсталляции, т.е. распространяемые пакеты. Время хранения (от 7 до 90 дней или бесконечно) зависит от того, сколько долго вы хотите ждать завершения задания или сколько долго вы хотите наблюдать состояние прошлых заданий. По умолчанию задания никогда не удаляются. Другие две опции определяют действия, которые следует предпринять по истечении времени. Обычно опубликованое задание начинается немедленно, как только наступает его запланированное время. Если вы установите флажки внизу экрана, то можете отложить инсталляцию до выхода всех пользователей.

Для создания пакета щелкните правой кнопкой на Packages, выберите из меню Add Package. Введите путь к файлам пакета (MSI или WDF). Убедитесь, что вводите имя в формате UNC. Хотя Installation Manager понимает логические имена дисков (хотя с предупреждением), их использование не является хорошей идеей. Installation Manager просто предоставляет ссылку на файлы, доступные через сеть, и если вы не отобразите одни и те же буквы диски на сетевые на всех серверах MetaFrame, инсталляция, зависимая от этих отображенных имен дисков, работать не будет.

Присвойте пакету имя, которое поможет вам идентифицировать приложение и версию. Все пакеты одного типа (MSI или WDF) выглядят одинаково.

Installation Manager в диалоге Browse иногда становится упрямым и показывает только значки компьютера, а не папки на компьютерах с общим доступом. В этом случае вы можете либо закрыть диалог и попробовать снова, либо ввести путь UNC к общим файлам в диалоге Add Package.

Вид упакованных приложений зависит от типа пакета. Если вы сделали пакет с помощью Citrix Packager, значок упаковщика будет иметь значок конверта. Если пакет в виде файла MSI, он будет иметь значок Windows Installer.

Создание групп серверов

Вы можете применять инталляционные пакеты к индивидуальным серверам, но если у вас достаточно серверов, чтобы Installation Manager показался вам привлекательным, вы можете найти, что легче применять такие пакеты к группам серверов. Для создания группы щелкните в Citrix Installation Manager правой кнопкой на значке Server Groups и выберите из контекстного меню Сreate.

Дайте новой группе имя и поместите в нее доступные серверы, щелкая кнопки Add или Add All; для удаления серверов из группы щелкните Remove или Remove All. Сервер может принадлежать одновременно нескольким группам, просто будьте осторожны при применении конфликтующих пакетов к серверам, находящимся в более чем одной группе.

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

Кстати, принадлежность сервера той или иной группе имеет значение только до завершения инсталляционного задания. Если вы добавляете сервер в группу после применения к этой группе задания или удаляете сервер из группы, то изменения членства не оказывает влияния на способ применения пакета. Так, удаление сервера из группы после установки пакета не деинсталлирует пакет, а добавление сервера в группу после установки пакета не инсталлирует пакет. Инсталляция и деинсталляция - это единовременные действия. Всякий раз, когда вы хотите их сделать, вы должны их явно инициировать.

Планирование заданий



У вас есть пакеты и группы серверов. Чтобы составить расписание, щелкните правой кнопкой мыши на имени пакета и выберите Install Package. Выберите сервер или группу серверов для инсталляции на них пакета и щелкните Next для перехода в окно расписания.



Обычно пакеты инсталлируются немедленно после щелчка на Finish. Однако, вы можете составить расписание. Для этого щелкните Edit. Появится окно Schedule Details. Выберите Schedule later и выберите дату, время и минуту для инсталляции. По завершении щелкните OK.


По завершении работы мастера расписания задание появляется в Installation Manager в разделе Summary на вкладке All Jobs. Каждое задание будет показываться здесь вплоть до его удаления или достижения срока истечения. Здесь также отображается состояние задания.

Success изначает что инсталляция завершена успешно, Pending - задание еще не началось, а Failure означает, что Installation Manager поытался завершить задание, то по каким-то причинам не смог. После успешного применения задания к серверу MetaFrame, задание будет видно на вкладке Applied Packages при выборе сервера в Citrix Management Console.

Устранение проблем с инсталляционными заданиями

Если задание не выполняется, проверьте следующее:


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


  • Убедитесь в правильности сетевого пути


  • При развертывании пакетов MSI попробуйте запустить их локально. Если они не устанавливаются, файлы могут быть повреждены и вы должны сделать другие. К сожалению, этот метод не работает для файлов ADF.


  • Убедитесь, что инсталлировали агент на всех целевых серверах MetaFrame


  • Некоторые подробности вы также можете узнать из Application Log в журнале событий на целевом сервере. Например, если вы выберите неудавшееся задание MSI и откроете вкладку Job Results в его свойствах, то увидите окно, перечисляющее серверы и события, которые происходили во время инсталляции. Правда, эти события не очень информативны, но могут дать ключ к пониманию проблемы.

    Для пакетов ADF, если вы обратитесь к Application Log в журнале событий, вы увидите список предупреждений и прочую информацию. Вас интересуют сообщения от Gemini Installer. Щелчок на записи открывает окно с более подробным описанием ошибки (права доступа, файл не найден и т.п.). В журнале также отображаются успешные события, но со значком информации.


    Содержание раздела