Как сделать установщик приложения visual studio 2019
Создание дистрибутива для Windows приложений это начальный этап процесса развертывания (распространения готового приложения или компонента на другие компьютеры).
В Visual Studio развертывание приложений основано на использовании технологии установщика Microsoft Windows, включающего и средства для создания загружаемых файлов.
Параграф 1. Создание связанного проекта установки
После создания Windows приложения (далее использован проект решения с именем Hello), создадим установочные файлы для его инсталляции на компьютере. Для этого, в контекстном меню проекта (верхний узел в дереве Solutation Explorer), в окне Solution Explorer выбираем пункты Add и New Project (Рис.1.).
Рис.1. Добавление установочного проекта к решению
В левой части мастера Add New Project (Рис.2.), в окне Projeсt Types, выбираем папку Other Project Types\Setup and Deployment, а в правой части - Setup Project. Задаем имя проекта и его размещение (например, HelloSetup - имя не должно совпадать с именем проекта приложения). На данном этапе можно воспользоваться и Setup Wizard (правда, он позволяет сделать далеко не все, что часто требуется). Для большего понимания, пройдем все шаги без использования Setup Wizard.
Рис.2. Добавление установочного проекта к решению
Нажимаем OK. Будет создан установочный (Setup) проект (Рис.3.).
Рис.3. Установочный проект
Среди свойств проекта (Рис.4.): AddRemoveProgramsIcon, Author, Description, DetectNewerInstalledVersion, Keywords, Localization, Manufacturer, ManufacturerUrl, ProductCode, ProductName, RemovePreviousVersions, SearchPath, Subject, SupportPhone, SupportUrl, Title, UpgradeCode, Version. Большинство из них понятны, и могут быть заданы автором программы, исходя из принятых в организации требований. В данном проекте установлено: Manufacturer - Private, ProduktName - HelloSetup, Title - Hello. Свойство AddRemoveProgramsIcon - позволяет установить иконку для описания программы в панели Установка и удаление программ (Пуск\Панель управления\Установка и удаление программ).
Для установки иконки можно выбирать в выпадающем списке AddRemoveProgramsIcon - Browse, затем в окне Icon вновь Browse, в окне Select Item in Project, в его выпадающем списке Look in, выбрать Application Folder. Далее, кнопочкой Add File, вызвав диалог Add File, выбрать любую иконку для Application Folder из имеющихся в файловой системе. Но это можно сделать и по другому, что позволит использовать иконку exe файла приложения (посмотреть установленную иконку приложения или установить новую можно на вкладке Application\Resurses\Icon - контекстное меню приложения - пункт Properties). Как использовать иконку приложения поговорим чуть позже.
Рис.4. Свойства установочного проекта
А пока вернемся к Рис.3. - в левой части окна представлены папки файловой системы компьютера, в одну из которых будет установлено приложение, и, в которые, будет возможно добавить ссылки на папку с установленной программой (пока все папки пусты).
Далее, выделяем папку Application Folder (сюда будет установлен проект). Папки могут быть добавлены при использовании контекстного меню узла File System on Target Machine. Обычно приложения устанавливается в Application Folder. Выбираем пункты Add и Project Output (это же можно сделать и через контекстное меню узла Application Folder).
Рис.5. Добавление приложения Windows в проект установки
Далее, в диалоговом окне Add Object Output Group (Рис.5.) выбираем проект Hello и опцию Primary Output. После нажатия OK в папке Appliсation Folder появится пункт, означающий, что в проект установки добавлены требуемые файлы из проекта Hello (Рис.6.).
PS: На данном этапе в проект можно добавлять папки, файлы и сборки. Например, программа работает с запасом картинок, который должен быть размещен в директории Images. При отладке мы поместим эту директорию с файлами в Debug или Release, но инсталляционная программа ее не подхватит. В этом случае, мы и добавим к установочному проекту директорию Images через пункт Add\Folder, а затем наполним ее файлами - Add\File...
Рис.6. Добавление приложения Windows в проект установки
1. В свойствах узла Users Desktop установить свойство AlwaysCreate в true. Это всегда необходимо, когда shortcut добавляется к специальной папке (Рис.7.).
Рис.7. Создание ярлыка для папки приложения на рабочем столе Windows
Рис.8. Создание ярлыка для папки приложения на рабочем столе Windows
Как результат, в окне Select Item In Project появится ссылка Shortcut to Primary output from Hello (Active).
После нажатия кнопки OK эта ссылка будет перенесена в окно редактора.
Далее можно изменить предложенное длинное имя "Shortcut to Primary output from Hello (Active)" - на то, под которым мы хотим видеть иконку ссылки на папку программы на рабочем столе (например, Hello). Если на данном этапе выполнить Rebuild решения и, далее, установить его, то на рабочем столе появится ссылка на папку, куда будет установлена программа, но у ссылки пока не будет иконки (вернее, будет стандартная иконка).
Создадим иконки для ссылок на рабочем столе, в меню Пуск\Программы, а также, для записи об установленной программе в окне Пуск\Панель управления\Установка и удаление программ (стандартная запись в окне Установка и удаление программ - один из результатов работы программы установки).
Добавление иконок для всех перечисленных случаев, во многом аналогично по последовательности действий. Отличие заключается лишь в том, что для записи о программе в окне Установка и удаление программ, перечисленные ниже действия выполняются для узла проекта установки и свойства AddRemoveProgramsIcon, а для остальных папок, для свойств Icon имен ссылок (у нас, имен ссылок Users Desktop и Users Programm Menu - Hello). Добавление иконок показано на Рис.9. и Рис.10.
Для установки иконки, в выпадающем списке соответственно перечисленных выше свойств, выбираем - Browse (Рис.9.), затем в окне Icon вновь Browse, в окне Select Item in Project, в его выпадающем списке Look in, выбираем Application Folder. Установив Files of Type в All Files выбираем Primary Output From Hello (Active), нажимаем OK. Иконка будет извлечена из ресурса приложения (Рис.10., справа) и, по нажатию кнопки OK, добавлена как иконка для записи или папки.
Для добавления иконки в другие папки, от момента выбора в выпадающем списке пункта Browse, как для рабочего стола, так и для Пуск\Программы в свойстве Icon (а не AddRemoveProgramsIcon для записи в Установка и удаление программ), все повторяется без единого отклонения.
Рис.9. Создание иконок для папок и записи в окне Установка и удаление программ
Рис.10. Создание иконок для папок и записи в окне Установка и удаление программ
В окне Select Item In Project, после выбора Application Folder можно также использоать и любой файл .ico, нажав кнопку Add File, как мы об этом говорили выше.
Вновь перекомпилируем проект (в контекстом меню Solution Explorer узла HelloSetup пункт Rebuild Solutation). В папке Release для HelloSetup будут созданы файлы setup.exe, hellosetup.msi. Это инсталляционные файлы приложения.
После запуска файла setup.exe будет выполнена установка приложения - для приложения появится отдельная запись в Пуск\Панель управления\Установка и удаление программ, а ссылка на папку приложения, в виде выбранной иконки - на рабочем столе и в меню Пуск\Программы.
Параграф 2. Создание разделенного с проектом решения проекта установки
Обратим внимание на то, что предыдущий способ установки приложения не позволяет создать ссылку на непосредственно exe файл - его пока нет - он будет создан при компиляции. И, хотя это, не столь важно, ссылки на рабочий стол могут вытащить и школьники, но другой недостаток предыдущего способа - хранить два проекта вместе - во многом говорит о необходимости отдать предпочтение способу, описанному ниже.
Создадим новый проект, как показано на Рис.11. и Рис.12.
Рис.11. Создание установочного проекта
Рис.12. Создание установочного проекта
Свойства проекта, созданные папки мы рассматривали выше, поэтому не будем аовторять изложенное выше. Установим режим компиляции проекта Release. В этом режиме в папке bin\Release, будет сформирован exe файл, перенесены необходимые библиотеки при их использовании и исключена отладочная информация. Исходный проект (Hello) также должен быть скомпилирован в режиме Release.
Свойства самого проекта пока нового ничего нам не дают (Рис.13.).
Рис.13. Свойства установочного проекта
Рис.14. Добавление исполняемого файла в проект установки
Аналогично перенесем все файлы из директории \bin\Release\ в папку (если он там не один).
После этого можно приступить к созданию ссылок и иконок.
Иконка для установочной записи в Установка и удаление программ выбирается точно также, как описано выше (свойство AddRemoveProgramsIcon, в качестве ресурса в Application Folder в окне Select Item In Project выбираем Hello.exe файл Рис.9. и Рис.10.).
Добавление ссылок на рабочий стол и в меню Пуск\Программы немного отличается от предыдущего способа. В контекстном меню файла Hello.Exe дважды выбираем пункт Create Shortcut to Hello.Exe. В окне Name появятся два имени ссылок. Сразу в окне Properties для ссылок переименуем их имена на те, с которыми мы хотим их видеть на рабочем столе и в меню Пуск\Программы. Ссылки созданы, осталось перетащить эти ссылки на соответствующие папки (Рис.15., Рис.16.).
Рис.15. Добавление ссылок на рабочий стол и в меню Пуск\Программы
Рис.16. Добавление ссылок на рабочий стол и в меню Пуск\Программы
Осталось повторить, то, что мы делали. Установить свойства папок AlwaysCreate в true, и снабдить ссылки иконками.
Я создал одно приложение в форме окна в Visual Studio 2019. Теперь я не могу найти никакого решения относительно того, как создать установщик для этого приложения в форме окна.
Использование установщика Visual Studio (смотрите комментарий @Hans Passant для загрузки).
Я сделаю простой урок:
1 - Щелкните правой кнопкой мыши Решение вашего проекта> Добавить> Новый проект> Написать на панели поиска "Настройка"> Настройка проекта> Далее> Создать;
2 - Папка приложения> Добавить> Выход проекта> Основной вывод;
3 - Рабочий стол пользователя> Создать новый ярлык для первичного вывода;
4 - переименуйте свой ярлык для имени вашего приложения;
5 - Меню программы пользователя> Создать новый ярлык для основного выхода;
6 - переименуйте свой ярлык для имени вашего приложения;
7 - Папка приложения> Добавьте все файлы, необходимые для работы приложения.
Шаги по установке и настройке Visual Studio 2019
Шаг 1. Загрузите версию Visual Studio Community 2019
Шаг 2. Запустите файл .exe и следуйте инструкциям для установки версии Visual Studio Community в системе.
Мы помещаем имя проекта и решения как GeeksforGeeks, как показано на скриншоте ниже.
На изображении ниже, справа, по умолчанию открывается Обозреватель решений. Там мы видим файл Global.asax.cs, который является общим файлом для всего приложения. Этот файл содержит конкретную информацию, относящуюся к приложению, и используется для инициализации специфических переменных приложения их значениями по умолчанию.
Он запросит имя веб-формы. Мы вводим имя как TestingWebForm и нажимаем ОК .
Приносим извинения. Запрошенное содержимое было удалено. Вы будете автоматически перенаправлены через 1 секунду.
Лучший отвечающий
Вопрос
Все перепробовал и пересобирать решение и проект, комплируется код исключительно в DLL.
Я так полагаю что студия думает будто я буду самолично эту библиотеку вызывать через командную строку чтобы ей воспользоваться или что.
Написал простенькую программу типа Hello World.
При компиляции получаю вот это
1>------ Перестроение всех файлов начато: проект: FirstProgramm, Конфигурация: Debug x64 ------
1>FirstProgramm -> C:\Users\Юлиан Дель-Кампо\source\repos\Hello world\bin\x64\Debug\netcoreapp2.1\FirstProgramm.dll
========== Перестроение всех проектов: успешно: 1, с ошибками: 0, пропущено: 0 ==========
Что делать, как получить ексешник?
Ответы
Да, " dotnet app.dll". Делать переход в каталог вроде не нужно, так как он прописывается в PATH.
"а люди, придумавшие такой способ старта приложения не думали каково будет конечному пользователю"
Обычно создается инсталлятор, который создает ярлык на рабочем столе или в системном меню. Пользователь просто нажимает на ярлык и не задумывается, какой именно тип файла запускается.
"раз в студии изначально отсутсвует компиляция в exe как таковая, значит либо мир с ума сходит либо я чего то не недопонимаю."
Прочитайте внимательно статью, ссылку на которую я дал. В .NET Core "компиляция" (точнее построение) - это процесс получения DLL, не привязанной к конкретной ОС. Получение исполняемых файлов, заточенных под конкретную ОС, это отдельный процесс, называемый публикацией. Он отделен от построения, так как на этапе отладки без разницы, что именно запускать; заточенные под конкретные ОС пакеты нужны только на этапе развертывания готового приложения.
Вроде это не сильно отличается от Java, где компилятор стандартно выдает кроссплатформенный JAR-файл, а для получения EXE нужны дополнительные действия?
Читайте также: