Развёртывание

Сборка релиза и установщика WPF-приложения: «Опубликовать» в папку + Clickteam Install Creator

Проекты — это конечно хорошо, но чтобы добраться до exe-файла не каждый хочет лезть в bin/debug, к тому же страшно иметь sln, xaml и cs файлы на компьютере, если человек далек от программирования. Поэтому мы можем создавать exe-файлы для установки наших приложений. Но что устанавливать — опять sln проект? Нет, нужно создать окончательную релизную сборку.

Сегодня мы займёмся и релизной сборкой, и созданием установщика.

Релизная сборка через «Опубликовать»

У меня остался проект от API. Давайте его и будем закидывать в установщик.

Visual Studio с открытым WPF-приложением vipief — MainWindow с DataGrid, XAML внизу

Для этого нужно ПКМ нажать по проекту и выбрать «Опубликовать». Таким образом мы будем создавать итоговый проект с экзешником и всеми dll файлами, необходимыми для работы приложения.

Контекстное меню в обозревателе решений: выделен пункт «Опубликовать…»

В качестве места публикации выберем папку.

Окно «Опубликовать» — «Где выполнить публикацию сегодня?» с вариантами Azure, ClickOnce, Реестр контейнеров Docker, Папка (выделено)

И ещё раз папку.

Окно «Опубликовать» — «В какой локальный целевой объект вы хотите выполнить публикацию?» с вариантами ClickOnce и Папка (выделено)

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

Окно «Опубликовать» — «Укажите путь к локальной или сетевой папке» с полем «D:\Рабочий стол\Example»

После этого мы нажимаем готово и у нас создается профиль публикации.

Окно «Создание профиля публикации» с сообщением «Профиль публикации FolderProfile.pubxml создан»

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

Тут мы видим куда всё выгрузится, конфигурацию приложения и целевую среду — ОС и архитектуру. По умолчанию — все переносимое, т.е. будет работать на Linux, Windows и MacOS.

Для публикации нашего проекта нужно нажать на кнопку «Опубликовать». После этого начнется сборка проекта, и если она выполнится без ошибок, то и публикация тоже.

Профиль FolderProfile.pubxml — статус «Публикация выполнена», параметры «Целевое расположение D:\Рабочий стол\Example», «Конфигурация Release», «Целевая среда выполнения Переносимый» и лог сборки справа

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

Проводник в папке Example: Newtonsoft.Json.dll, vipief.deps.json, vipief.dll, vipief.exe, vipief.pdb, vipief.runtimeconfig.json

Создание установщика через Install Creator

Для установщика нам потребуется бесплатная программа без ограничений в создании установщиков — clickteam.com/install-creator-2. Она бесплатна как для коммерческого, так и для некоммерческого использования. Скачаем бесплатную версию и установим её. Из интересных настроек, максимум, нужно выбрать Unregistered version.

Install Creator — Installation Program: окно «Version. Choose the version to install» с радиокнопками Unregistered Version (выбрано) и Registered Version

После установки у нас появится приложение Install Creator.

Windows-поиск с найденным приложением Install Creator — иконка с надписью «Install Creator»

Запустим его и начнем работу. Нас встречает помощник по созданию установщика.

Окно мастера Install Creator: «Welcome to the Install Creator wizard» с кнопками «Далее», «Назад»

Source-папка

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

Окно «Directory» с полем «D:\Рабочий стол\Example», галочка «Include sub-directories»

Язык и название

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

Окно «Setting your program's title» с dropdown «Please choose your language: English» и полем «Please enter below the title of the product: My super duper proj»

Формат окна

Следующий пункт оставьте на Small, иначе у вас будет полноэкранный установщик как в нулевые года, что выглядит ужасно. Но уж если хотите full, тогда хотя бы красивый градиент сделайте.

Окно «Window» с выбором формата Small/Full Screen, цвета фона, текста в фоне и превью справа

Картинки и шаблон wizard

В следующем окне можно настроить отображение картинок в установщике — картинка сбоку и картинка в правом верхнем углу в течении всего установщика. Можно либо убрать эти картинки вовсе, либо оставить только главную слева, либо и ту и ту. Плюс их можно настроить, вставив картинки формата bmp.

Окно «Wizard Template» с dropdown «Default», полями Left bitmap и Top bitmap и кнопками Preview

Дополнительная информация и лицензия

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

Окно «Information» с полем для ввода описания, в нём текст «это моя штука я её сделала»

Окно «License» с пустым полем для пользовательского лицензионного соглашения

Папка установки

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

Окно «Installation directory» с полем #Program Files#\My super duper proj, кнопки Registry/INI file/Preview

Иконка и ярлык

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

Окно «Shell» с пустыми полями для имени shortcut и иконки, и окно выбора файла «Открыть» с vipief.exe

А затем ставим галочку на Add desktop shortcut и из Browse выбираем нужный файл с иконкой.

Окно «Shell» с заполненным полем D:\Рабочий стол\Example\vipief.exe, галочкой «Add desktop shortcut» обведённой оранжевым, и окно выбора файла с DocTemplate.ico — кнопка Browse обведена оранжевым

Если у вас появится такая ошибка, просто переместите файл с иконкой внутрь папки, из которой вы собрались делать установщик, и выберите её снова.

Диалог Install Creator с предупреждением «The file MUST be in the source directory!»

Во второе поле мы должны написать название нашего ярлыка.

Окно «Shell» полностью заполненное: vipief.exe, имя иконки «крутой ярлык», галочка Add desktop shortcut, файл иконки DocTemplate.ico

README и автозапуск

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

Окно «End page options» с пустым полем README и заполненным vipief.exe во втором поле для запуска после установки

Деинсталлятор

И последнее окно спрашивает нас, хотим ли мы создавать деинсталлятор.

Окно «Uninstallation» с галочкой «Uninstall program»

Сборка установщика

Если всё хорошо, то программа сейчас начнет собирать наш проект после нажатия «Готово». Если мы хотим посмотреть больше настроек в самой программе, тогда нам нужно поставить галочку «Do not build the install program» и продолжить настройку приложения.

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

Окно «Сохранение»: рабочий стол с папкой Example, имя файла «супер установщик», тип Executable Files (*.exe)

По итогу программа покажет какие файлы она внесла установщик и итоговый маленький отчёт по выполненной работе. В остальном приложении вы можете погулять сами.

Clickteam Install Creator с вкладкой Build, списком файлов (Newtonsoft.Json.dll, vipief.exe и т.д.), показателями Packed/Ratio и Result с числом файлов, размером сжатого/несжатого пакета

Результат

Наш установщик будет выглядеть следующим образом и устанавливать все файлы верно.

Рабочий стол: иконка «супер установщик.exe»

Рабочий стол после установки: появилась иконка «крутой ярлык»

Проводник в папке «Новая папка» с установленным содержимым: DocTemplate.ico, Newtonsoft.Json.dll, Uninstall.exe, vipief.deps.json, vipief.dll, vipief.exe и др.

Запущенное приложение MainWindow с DataGrid: столбцы id и todo, заполнено заметками (Do something nice for someone I care about, Memorize the fifty states and their capitals, …)

просмотров