Опубликован: 31.08.2006 | Уровень: специалист | Доступ: платный
Лекция 15:

Развертывание приложений Visual Basic .NET

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

В этой лекции вы узнаете, как:

  • добавлять в ваше решение проект развертывания;
  • запускать 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.

Примечание. Некоторые файлы развертывания, создаваемые Visual Studio, слишком велики, чтобы уместиться на гибких дисках. Можно разделить большой файл установки Windows на более мелкие cab-файлы, но некоторые вспомогательные файлы по-прежнему будут слишком большими. Если вы хотите развертывать программу с помощью гибких дисков, то должны создать тестовый проект развертывания и проверить, что развертываемые файлы поместятся на дискете объемом 1,44 Мб.
Сайдахмад Зарипов
Сайдахмад Зарипов
Жанболат Шаймерден
Жанболат Шаймерден

Можно ли выбирать язык для надписей и команд в среде разработки?

Виталий Григорьев
Виталий Григорьев
Россия, москва, мгсги, 2011
Надежда Серекпаева
Надежда Серекпаева
Россия, Тюмень, Тюменский индустриальный институт, 1992