Эксперт
Сергей
Сергей
Задать вопрос
Мы готовы помочь Вам.

Цель:

Изучение способов развертывания приложений

Задачи:

1. Классифицировать способы развертывания приложений.

2. Изучить особенности каждого способа развертывания приложений.

3. Дополнить глоссарий терминов терминологией по данной теме.

Содержание темы:

Развертывание приложений (инсталляция приложений) – это процесс распространения готового приложения или компонента для установки на другие компьютеры, где оно будет использоваться.

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

Конечно, для различных приложений процесс “инсталляция приложения” может означать совершенно разные действия. Обычно для инсталляции приложений используется один из следующих основных методов:

 прямое копирование файлов на компьютер;  загрузка файлов по сети;

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

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

Прямое копирование файлов

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

Приложение может быть установлено просто копированием сборки приложения на новый компьютер, на котором установлена .NET Framework – этот процесс называется установкой XCOPY

по названию команды XCOPY из MS-DOS, которая копирует полную структуру каталогов с одного места на диске в другое. Однако на практике развертывать приложения.NET, используя простую процедуру копирования, такую как XCOPY (с помощью командной строки или проводника Windows), непрактично, например, создать пиктограмму в меню Start (Пуск) или предложить пользователю стандартный способ деинсталляции приложения. Для коммерческих приложений предпочтительна программа установки с графическим интерфейсом пользователя. Кроме того, часто требуется зарегистрировать программу в операционной системе так, чтобы ее можно было удалить с помощью Add/Remove Programs (Установка и удаление программ).

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

“Хорошо известные” местоположения

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

Например, в операционной системе UNIX для этого часто используется каталог bin. Обычно в нем хранится несколько выполняемых файлов, которые имеют фундаментальное значение для запуска различных приложений, включая саму операционную систему. Операционная система UNIX может иметь несколько хорошо известных каталогов, например /bin, /usr/.bin и /usr/local/bin. Отдельные пользователи могут создавать собственные хорошо известные каталоги, которые часто называются bin, и размещать в них свои выполняемые программы. В большинстве случаев такие программы доступны только для этих пользователей. В операционной среде Windows примером хорошо известного каталога служит System32.

Системный реестр Windows

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

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

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

Загрузка файлов по сети

Первый пример использования Internet был основан на загрузке целого приложения и выполнении его с помощью Web-броузера Internet Explorer. Одним из вариантов такого развертывания является создание Web-страницы, которая содержит ссылку на .NET-совместимый выполняемый файл, и предоставление пользователям URL-адреса этой Web-страницы. Платформа .NET Framework позаботится о загрузке и проверке безопасности этого приложения, а затем выполнит его (возможно, с некоторыми ограничениями, в зависимости от конфигурации Web-узла).

Другой рассмотренный выше сценарий основан на инсталляции основного приложения на локальном компьютере и использовании в нем ссылок на другие зависимые сборки с помощью элемента CodeBase в файле конфигурации .NET Framework. Упомянутые таким образом сборки будут загружаться по мере необходимости из места, указанного в файле конфигурации приложения. Этот сценарий работает особенно хорошо, если приложение всегда использует одни и те же сборки. Тем не менее, этот способ развертывания приложения обладает некоторыми недостатками. Одним из них является то, что параметры системы безопасности для удаленных сборок могут ограничивать функциональность приложения. Вообще платформа .NET Framework серьезно ограничивает доступ к сборкам, загруженным из Internet, поэтому при работе с удаленными сборками разработчику придется создавать для них специализированную конфигурацию системы безопасности.

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

Использование традиционных программ инсталляции

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

ссылки на приложение в меню Start, предоставление пользователю средств деинсталляции приложения и настройка параметров инсталляции.

Развертывание с помощью установщика Windows позволяет создать установочный пакет, распространяемый конечным пользователям; для установки приложения пользователь запускает файл установки и выполняет шаги мастера.

Чтобы управлять процессом установки,.NET позволяет разработчикам добавлять в их решения

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

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

В Visual Studio можно быстро создать проект развертывания, запустив Setup Wizard. Можно настроить проект развертывания, установив свойства. Если развертывание приложение происходит с помощью компакт-дисков, на компьютере должен быть пишущий дисковод CD-ROM, и нужно скопировать файлы развертывания на компакт-диски. Наличие .NET Framework требуется на каждой системе, на которой будут работать приложения.

Была ли полезна данная статья?
Да
66.13%
Нет
33.87%
Проголосовало: 186

или напишите нам прямо сейчас:

Написать в WhatsApp Написать в Telegram