Приложение Wrap C # в установщике .msi

Я создал приложение C # в Visual Studio 2017. Теперь я хотел бы распространять свое приложение как один файл установщика Windows. Я надеялся на простое решение одним нажатием (выберите все файлы, которые я хочу включить -> voila! Есть программа установки). Но это не так просто 🙁

Я часто читал, что Visual Studio поддерживает установки проектов. Но, похоже, это не так, верно?

Сторонние инструменты либо очень сложны (например, Wix, Inno Setup), либо очень дороги (например, Advanced Installer).

Нет ли простого способа обернуть некоторые файлы в установщике Windows .msi? Предоставляет ли Microsoft никаких инструментов для создания таких инсталляторов?

или очень дорого (например, Advanced Installer).

Существует также бесплатная версия, которая включает расширение Visual Studio для Advanced Installer, которое вы можете использовать для создания пакетов MSI.

В следующем учебном пособии показано, как вы можете использовать функции из бесплатной версии (типа «Simple»):

PS Я работаю над созданием команды Advanced Installer.

В какой-то момент Microsoft удалила поддержку проекта Visual Studio Installer Project из Visual Studio 1 . И затем они позже смягчились и добавили поддержку. Я не помню, какие версии не поддерживали, я думаю, что это были 2012 и 2013 годы.

В эти дни (для VS2017), чтобы получить поддержку Visual Studio Installer Project, вы добавляете его с рынка :

Это расширение обеспечивает те же функции, что и в Visual Studio 2015 для проектов Visual Studio Installer. Чтобы использовать это расширение, вы можете открыть диалоговое окно «Расширения и обновления», выбрать онлайн-узел и выполнить поиск «Расширение проектов установщика Visual Studio» или загрузить его прямо с этой страницы.

Лично, однако, я бы пошел с WIX. У него есть кривая обучения, но я думаю, что он учится.


1 За то, что я лично вижу в качестве очень веских причин. У вас должна была полномасштабная установка Visual Studio, чтобы заставить их работать, они действительно не интегрировались с MSBuild, что делает их болью, если вы хотите перейти к автоматизации своих сборщиков.

VS Installer Projects : Несколько хороших ответов уже – стоит попробовать. Как утверждают другие, вы можете использовать Microsoft Installer Designer Project 2010 – как это было ограничено. Как я помню, у них есть некоторые предпосылки . У меня ограниченный опыт работы с инструментом. Может работать для чего-то очень простого, но вы быстро обнаружите ограничения.

WiX : Лично я бы использовал WiX, так как он также бесплатный и гибкий – он требует определенных усилий, но очень способен. Вот ответ на быстрый ответ WiX (откровенно не мой любимый ответ, но он был выше, чем обычно, поэтому я его не изменил).

IsWiX : Существует также IsWix – инструмент графического интерфейса для создания WiX-установок (работа Криса Пейнтера ). Его обучающие программы WiX и быстрая демонстрация youtube .

Et Al : Коммерческие инструменты ( Installshield , Advanced Installer (см. Ответ Богдана в этой теме), PACE Suite и т. Д. ) Также хороши – ваши затраты времени тоже. Может быть шокирующим, когда вы его добавите, – и вы обязательно быстро начнете работать с коммерческим инструментом. Как создать программу установки Windows (ссылки на довольно полные списки инструментов и некоторую информацию MSI). Дальнейшие ссылки ниже.


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

  • Служба Windows, не показанная в приложении, удаляет программы под панелью управления
  • Какой установочный продукт использовать? InstallShield, WiX, Wise, Advanced Installer и т. Д.
  • Что мне делать при запуске приложения триггеров, повторяющих бесконечный самозапуск установщика Windows?
  • Wix: один файл на один компонент или несколько файлов на один компонент?
  • Почему окна не могут создать системный раздел?
  • Как передать смарт-экран на Win8 при установке подписанного приложения?
  • Как регистрировать типы файлов / расширения с помощью установщика WiX?
  • Могу ли я безопасно удалить файлы * .msi и * .msp, которые находятся в C: \ Windows \ Installer, но не упомянуты в реестре?
  • Установите окна 8 на одном компьютере дважды
  • Каков уровень обслуживания и как он работает?
  • Почему рекомендуется ограничивать использование пользовательских действий в настройках WiX / MSI?
  • Почему MSI требует, чтобы исходный файл .msi продолжал деинсталляцию?
  • Регистрация DLL CPP в COM после установки с помощью установщика Wix Msi
  • Давайте будем гением компьютера.