Развертывание приложений Visual Basic .NET
В этой лекции вы узнаете, как:
- добавлять в ваше решение проект развертывания;
- запускать Setup Wizard для создания программы установки приложения;
- настраивать программу установки с помощью свойств и установок сборки;
- тестировать установку и деинсталляцию вашего приложения.
Когда приложение Microsoft Visual Basic .NET готово, его можно распространить среди других пользователей в вашей рабочей группе, поделиться им с друзьями в интернете или продать его. Microsoft Visual Studio .NET позволяет установить приложение на одну или несколько компьютерных систем. В этой лекции вы узнаете, как развертывать приложения на Visual Basic, добавив в ваше решение проект развертывания, и вы запустите Setup Wizard для создания требуемых вам установочных файлов. Вы узнаете, как настраивать установку с помощью свойств и настройки опций развертывания в вашей конфигурации сборки.
Создание проекта развертывания - сложный процесс, и вы обнаружите, что каждая версия Visual Basic .NET предлагает свой набор опций установки. Например, Visual Basic .NET Standard не включает Setup Wizard для автоматизации обычного развертывания. Visual Studio .NET Professional и еще более расширенные редакции содержат дополнительные шаблоны установки, а также возможность развертывать решения в сети и создавать cab-файлы. При работе с этой лекцией вы обнаружите несколько настроек и опций, которые не доступны в вашей редакции Visual Basic .NET.
Что нового в Visual Basic .NET?
- В Visual Basic 6 вы развертывали приложения с помощью Package and Deployment Wizard (Мастера установки и развертывания). В Visual Studio .NET вы развертываете приложения, добавляя в решение, которое вы хотите распространять, проект развертывания, и настраиваете этот проект развертывания на тот тип установки, который вы хотите выполнить.
- Приложения Visual Basic 6 обычно использовали компоненты COM (Component Object Model), но со временем мы поняли, что с компонентами COM могут возникать проблемы при установке, регистрации и удалении. Visual Studio решает эту проблему, устанавливая на клиентские компьютеры (если необходимо) библиотеки классов .NET Framework, собирая приложения в сборки и устраняя необходимость в большинстве динамических библиотек COM (DLL).
- Приложения Visual Basic .NET теперь можно установить без взаимодействия с системным реестром (так называемая установка XCOPY), но на практике я рекомендую вам устанавливать и удалять приложения Visual Basic .NET с помощью инструментов развертывания Visual Studio и Windows Installer.
Планирование развертывания
На заре программирования создание приложения для персональных компьютеров зачастую сводилось к компиляции .exe-файла проекта и копированию его на гибкий диск. Однако со временем программы стали сложнее, число файлов, которые требуется скопировать при обычной установке, выросло с нескольких штук до нескольких сотен. Хотя операционная система Microsoft Windows и помогла снизить общие затраты на разработку приложений (предоставив такие общие службы, как печать, буфер обмена, управление памятью и поддержку интерфейса пользователя), приложения Windows исторически требовали наличия сложных программ установки, копирования на компьютер необходимых динамических библиотек (DLL) и вспомогательных файлов, правильной регистрации приложения в самой операционной системе.
Время от времени пользователи компьютеров сталкивались с "обратной стороной" установки программ для Windows - приложение успешно устанавливалось, но не запускалось, или новая программа создавала конфликт DLL с другой программой, которая прекрасно работала до тех пор, пока не была установлена новая. Столь же раздражающей проблемой была вновь установленная программа, которую невозможно было удалить - либо потому, что программа деинсталляции больше не работала, либо потому, что процесс деинсталляции оставлял DLL, записи в реестре и другие файлы поддержки, разбросанные по всей файловой системе. Эти недостатки - известные опытным пользователям и разработчикам как "ад DLL" - были основным ограничением компонент COM и традиционных программ установки, включая (вероятно) и те, которые были созданы с помощью системы программирования Visual Basic 6.
Visual Studio .NET разрабатывалась, в том числе, и для того, чтобы устранить эти ограничения приложений Visual Basic и Microsoft Visual C++, особенно тех, которые основаны на компонентах COM. В Visual Studio .NET процесс установки упрощен, так как приложения Visual Studio в основном используют функциональность библиотек классов .NET Framework, а не компоненты COM и вызовы функций Windows API (интерфейс прикладного программирования). Кроме того, приложения Visual Studio компилируются как сборки - единицы развертывания, состоящие из одного или более файлов, необходимых для запуска программы.
Сборки содержат четыре элемента: код имени и версии, список файлов, входящих в сборку, информацию о безопасности Microsoft intermediate language (MSIL - промежуточный язык Microsoft), метаданные, манифест и вспомогательные файлы и ресурсы. MSIL-код - это код вашей программы, скомпилированный так чтобы его, понимала среда выполнения common language runtime (CLR). Метаданные - это информация о типах, методах и других элементах, определенных или заимствованных извне в вашем коде. Манифест включает информацию о сборке и информацию о других сборках от которых он зависит. На следующей иллюстрации показана диаграмма сборки, состоящая из одного файла, которую мы будем рассматривать в этой лекции.
Сборки - это комплексные и самодокументирующиеся приложения Visual Studio .NET, для работы которых не требуется регистрация их в операционной системе. Это означает, что приложение Visual Basic .NET может быть установлено просто копированием сборки приложения на новый компьютер, на котором установлена .NET Framework - этот процесс называется установкой XCOPY по названию команды XCOPY из MS-DOS, которая копирует полную структуру каталогов с одного места на диске в другое. Однако на практике развертывать приложения Visual Basic .NET, используя простую процедуру копирования, такую как XCOPY (с помощью командной строки или проводника Windows), непрактично. Для коммерческих приложений предпочтительна программа установки с графическим интерфейсом пользователя. Кроме того, часто требуется зарегистрировать программу в операционной системе так, чтобы ее можно было удалить с помощью Add/Remove Programs (Установка и удаление программ). Гибкость установленных приложений Visual Basic .NET удивительна. Например, Visual Basic .NET версий 2002 и 2003 могут быть установлены на одном и том же компьютере одновременно (каждая со своей версией .NET Framework), и каждая версия будет работать независимо, не создавая конфликтов.
Чтобы управлять процессом установки, Visual Studio .NET позволяет разработчикам добавлять в их решения проект развертывания, который автоматически создает программу установки для приложения. Этот проект развертывания может быть настроен так, чтобы использовать различные методы установки, такие как установка с компакт-диска или с веб-сервера. Но лучше всего то, что вы можете добавить проект развертывания в ваше решение в любой момент процесса разработки - в начале, когда вы только определяете ваше решение; в конце, когда вы готовы поставлять ваше решение; или в середине, когда у вас возникли трудности с написанием кода и вы хотите на пару часов от него отвлечься.
Различные способы развертывания приложения
Обдумывая распространение вашего решения, рассмотрите различные методы, которые можно использовать для развертывания приложения. Вы можете:
- установить приложение на вашем собственном компьютере и зарегистрировать его в системном реестре Windows;
- создать программу установки, которая позволит вашему приложению устанавливаться через локальную сеть или через интернет;
- развертывать ваше приложение с помощью одного или нескольких компакт-дисков;
- развертывать ваше приложение с помощью .cab-файлов - этот метод может использоваться для загрузки файлов с помощью веб-браузера.
В Visual Studio можно быстро создать проект развертывания, запустив Setup Wizard. Вы можете настроить проект развертывания, установив свойства. Если вы развертываете приложение с помощью компакт-дисков, на вашем компьютере должен быть пишущий дисковод CD-ROM, и вы должны скопировать файлы развертывания на компакт-диски. Наличие .NET Framework требуется на каждой системе, на которой будут работать приложения Visual Basic .NET. .NET Framework доступна как единый файл без ограничений на свободное распространение, находящийся на компакт-диске Visual Studio .NET Windows Component Update. В Visual Basic .NET 2003 доступна компактная версия .NET Framework, которая используется на мобильных компьютерных устройствах. .NET Framework также можно загрузить с веб-сайта Microsoft. Dotnetfx.exe по умолчанию довольно велик (более 20 Мб), и при установке стандартная .NET Framework занимает около 30 Мб. Однако Microsoft стала распространять .NET Framework вместе с Windows Server 2003 и всеми будущими операционными системами. Если на целевом компьютере уже есть установленная версия .NET Framework, вы можете просто скопировать приложение и требуемые для его работы файлы на этот компьютер, и приложение будет работать. Однако чтобы создать полную программу установки, файлы развертывания должны включать распространяемую версию .NET Framework.