В предыдущей статье мы рассмотрели установку служб терминалов в Windows Server 2008 . Следующим шагом является установка пользовательских приложений на Windows Server 2008, т.е. приложений, которые будут одновременно использоваться несколькими удаленными пользователями. Важно отметить, что, во-первых, приложения должны быть установлены специально для использования служб терминалов, во-вторых, что не все приложения предназначены для одновременной работы с несколькими удаленными пользователями. Учитывая эти ограничения, мы рассмотрим основы безопасной установки приложений на Windows Server 2008 для использования удаленными пользователями через службы терминалов.
В этой статье мы поговорим про установку приложений в контексте удаленного доступа к рабочему столу (запуск приложений осуществляется в полноценном рабочем столе на удаленном сервере). Чтобы каждое удаленно запущенное приложение работало в своем собственном окне на локальной системе пользователя, необходимо настроить службу RemoteApps , но эту тему, мы разберем в следующих статьях.
Понимание режима работы служб терминалов Режимы работы
Terminal Services в Windows Server 2008 могут функционировать в двух различных режимах работы, известных как режим выполнения( Execute mode ) и режим установки( Install mode ). Службы Terminal Services работают в режиме выполнения в том случае, когда пользователи подключены и приложения запущены и используются. Режим установки используется в процессе установки и настройки приложения, с которым будут работать пользователи. По сути, в режиме установки Windows гарантирует, что соответствующие записи реестра и настройки в INI-файлах будут настроены на работу в многопользовательском режиме.
Если приложение было установлено с использованием мастера « Install Application on Terminal Server », то режим автоматически переключается в режим установки во время такой установки, а затем вернется обратно в режим выполнения. Если установка может быть выполнена из командной строки, то необходимый режим можно выбрать с помощью с помощью команды change user . В следующем примере мы переключаемся в режим установки, выполняем установку, а затем возвращается в режим выполнения:
C:UsersAdministrator>change user /install
User session is ready to install applications.
C:UsersAdministrator>setup.exe
C:UsersAdministrator>change user /execute
User session is ready to execute applications.
Кроме того, текущий режим может быть получены с помощью опции /query:
C:UsersAdministrator>change user /query
Application EXECUTE mode is enabled.
Установка приложений на сервер терминалов с помощью панели управления
После установки службы терминалов на Windows Server 2008, в секции Programs на панели управления появится новый пункт Install Application on Terminal Server (установить приложений на сервере терминалов). Чтобы установить приложение для работы в службе терминалов, нужно запустить этот мастер. Если приложение для установки содержится на CD/DVD-диске, вставьте носитель в соответствующий привод и нажмите кнопку Next . Если дистрибутив находится на локальном диске или в сети, нажмите Next и подождите, пока будет искаться все доступные дистрибутивы. Если ничего не будет найдено, вам будет предложено самостоятельно выбрать место хранения дистрибутива приложения.
Нажмите на кнопку Browse … и укажите путь к программе установки. После выбора нажмите кнопку Next , после чего начнется установка. Установите ПО как обычно, после окончания нажмите в мастере кнопку Finish .
Если приложение разработано для использования в многопользовательских средах, оно готово для использования вашими удаленными пользователями через службы терминалов. Приложения, которые не поддерживают работу в многопользовательских средах, возможно, потребуют использование сценариев совместимости.
Сценарии совместимости приложений в Terminal Server
Для приложений, которые не предназначены для работы в многопользовательской среде, существует ряд приемов, которые могут помочь в различных случаях.
Если приложение использует некий фиксированный путь к пользовательским файлам, что может вызвать проблемы при одновременном доступе нескольких пользователей, полезный трюк заключается в том, чтобы мапить эти пути к различным буквам дисков, а затем заставить эти диски смотреть на разные пользовательские папки. Например, пользователь Sergey использует диск Е:, который подключен на папку C : User Sergey Data , а пользователь Dima использует диск E:, который смотрит в папку C : User Dima Data .
Другой вариант заключается в использовании скриптов совместимости ( compatibility scripts ), которые запускаются каждый раз, когда удаленный пользователь запускает приложение. В Windows Server 2008 есть два образца таких скриптов, которые находятся в папке % SystemRoot %Application Compatibility Scripts . RootDrv .cmd мапит диск к домашнему каталогу пользователя, т.е. автоматически выполняет вышеописанный сценарий.
Сценарий SetPaths .cmd преобразует стандартные путей (такие как «Мои документы», «Рабочий стол») в переменных окружения, таким образом избегая использование жестко заданного пути. По умолчанию скрипт преобразует следующие пути в соответствующие переменные среды:
Путь Переменная окружения
All Users:Startup COMMON_STARTUP
All Users:Start Menu COMMON_START_MENU
All Users:Start MenuPrograms COMMON_PROGRAMS
Current User:Start Menu USER_START_MENU
Current User:Startup USER_STARTUP
Current User:Start MenuPrograms USER_PROGRAMS
Current User:My Documents MY_DOCUMENTS
Current User:Templates TEMPLATES
Current User:Application Data APP_DATA_x000D_
Кстати, не забудьте произвести активацию Terminal Services !
_x000D_