Создайте MSI или установите проект с помощью Visual Studio 2012

129

Я создаю небольшое приложение и хочу создать один файл MSI.

В Visual Studio 2010 этот тип проекта находится в разделе:

Другие типы проектов -> Установка и развертывание -> Установщик Visual Studio -> Проект установки

Но единственное, что у вас есть в Visual Studio 2012, - это «Включить InstallShield Limited Edition».

Вы можете изменить .NET Framework, но ничего не изменится.

Почему его больше нет? И как мне его вернуть? Есть новый способ сделать это?

Крис Нобельс
источник
1
какой смысл надстройки Visual Studio, если нет возможности ее развернуть ???!
DevDave
Для справки, вот описание наиболее распространенных альтернативных инструментов, используемых для создания MSI: stackoverflow.com/a/1546941/129130 . Все они немного дорогие, кроме Wix.
Stein Åsmul

Ответы:

37

Чтобы создать проекты установки в Visual Studio 2012 с помощью InstallShield Limited Edition, посмотрите это видео .

Ограниченная версия InstallShield, которая не может устанавливать службы.

"ISLE на сегодняшний день является худшим вариантом установщика, а обновленная версия с оплатой за чтение в лучшем случае неудобна в использовании и невозможна в большинстве ситуаций. InnoSetup, Nullsoft, Advanced, WiX или любой другой установщик лучше. Если вы Проведя опрос, вы увидите, что никто не использует ISLE. Я не знаю, почему вы, ребята, продолжаете ассоциироваться с InstallShield. Это подрывает ваше доверие. Любой разработчик, чей вес в два раза меньше, знает, что ISLE бесполезен, и когда вы стоите за этим, мы должны подвергнуть сомнению суждение Microsoft ».

Автор Эдвард Миллер (комментарии в расширении проектов установщика Visual Studio ).

Набор инструментов WiX , который, несмотря на свою мощь, крайне неудобен для пользователя и требует сложного обучения. Существует даже загружаемый шаблон для установки служб Windows (см. VS2012: Установщик служб Windows? ).

Для Visual Studio 2013 см. Сообщение в блоге Создание установщиков с помощью Visual Studio .

santhoshkumar
источник
3
Согласно видео, удалось создать Setup.msiв VS 2012, больше помощь .. ??
AB Bolim
Ограниченная версия install shield, которая не может устанавливать службы. Набор инструментов WIX, который, несмотря на свою мощь, крайне недружелюбен к пользователю и требует сложного обучения. Есть даже загружаемый шаблон для установки служб Windows. arstechnica.com/civis/viewtopic.php?f=20&t=1190745
Kiquenet
Привет @santhoshkumar! После завершения установки оконной формы MSI мои необработанные файлы (дизайн и кодирование) также отображаются в месте установки. Я разработал это приложение с помощью Visual Studio 2010. Установка создана успешно, но после установки MSI эта проблема возникает. Пожалуйста, помогите мне. Заранее спасибо.
dilipkumar1007 02
68

Посмотри пожалуйста:

Проекты установки Visual Studio (vdproj) не будут поставляться с будущими версиями VS

Развертывание установщика Windows

Полтора года назад было объявлено, что типы проектов были убиты. Альтернативы:

  1. Используйте решение VS2008 / 2010 для создания установщика
  2. Переключитесь на другой инструмент, например InstallShield или Windows Installer XML.
Кристофер Пейнтер
источник
если мы выберем ваше первое решение ... можем ли мы добавить предварительные требования в качестве .NET 4.5?
Sreekumar P
Возможно. Я считаю, что VS имеет каталог где-то с файлами конфигурации (XML?), Которые содержат определение предварительных требований. Возможно, вы сможете разработать структуру данных, а затем создать свои собственные определения для .NET 4.5. Он не будет поддерживаться, и я действительно поставил №1 только, чтобы указать, что это вариант. Лично мне, как эксперту в этой области с 16-летним опытом, мне не нравится почти все в этом инструменте, и я бы не стал пытаться вдохнуть в него больше жизни. Я не огорчился, когда услышал, что Microsoft убивает его.
Кристофер Пейнтер
Загляните сюда, если хотите попробовать: C: \ Program Files \ Microsoft SDKs \ Windows \ v7.0A \ Bootstrapper \ Packages Выяснение того, как они хэшируют атрибуты PublicKey, вероятно, будет одним из самых больших препятствий.
Кристофер Пейнтер,
1
Извините, что на самом деле означает «Используйте решение VS2008 / 2010 для сборки вашего установщика»?
Алан Макдональд,
4
Это означает, что если у вас есть проект развертывания и проекты приложений в одном решении, вам придется прекратить это делать. Вам придется разделить их на два решения и оставить решение для развертывания на VS2005 / 2008/2010 и перенести свое прикладное решение на 2012 год.
Кристофер Пейнтер,
24

Вы пробовали метод «Опубликовать»? Просто щелкните правой кнопкой мыши файл проекта в проводнике решений и выберите «Опубликовать» во всплывающем меню. Это создает установщик за несколько очень простых шагов.

Вы можете выполнить дополнительную настройку установщика на вкладке «Опубликовать» в окне свойств проекта.

NB: этот метод работает только для приложений WPF и Windows Forms.

grantnz
источник
6
Также известен как ClickOnce - msdn.microsoft.com/en-us/library/t71a733d(v=vs.110).aspx
Surfbutler
Я сделал то же самое в моем встроенном проекте, содержащем окна WPF и DLL VC ++. Мой клиент попросил меня включить в программу установки распространяемый пакет VC ++. Вы можете мне помочь? Потому что я прошел через весь мастер, но я не видел никакой возможности включить отдельный установщик в развертывание с помощью этого метода развертывания clickOnce.
Manish Dubey
@grantnz Я наконец нашел вариант. Я нашел его во вкладке «Свойства Prjoect» -> «Опубликовать» -> «Предварительные требования». Надеюсь, ты тоже найдешь его.
Manish Dubey
17

Microsoft прислушалась к призывам о поддержке установщиков (MSI) в Visual Studio и выпустила расширение Visual Studio Installer Projects . Теперь вы можете создавать установщики в Visual Studio 2013; скачать расширение здесь из visualstudiogallery.

Питер
источник
2
Не расширение для VS 2012? Любой реальный образец приложения с полным исходным кодом + проект установки?
Kiquenet
Расширение для загруженных установочных проектов, создало простой msi-файл для быстрого размещения сторонней dll в GAC. Очень простой, легкий в использовании, делает основы.
Крис Миллс
1
этот стек спрашивает о 2012 году.
teapeng
5

ISLE (InstallShield Limited Edition) является «заменой» проекта установки и развертывания Visual Studio, но многие пользователи считают, что Microsoft сделала неправильный шаг, удалив поддержку .vdproj из Visual Studio 2012 (и более поздних версий) и поддержав программное обеспечение сторонних компаний.

Многие люди просили вернуть его обратно ( вернуть базовый проект установки и развертывания, тип Visual Studio Installer ), но Microsoft глуха к нашим голосам ... очень грустно.

Поскольку WiX действительно сложен, я думаю, что стоит попробовать несколько бесплатных систем установки - NSIS или Inno Setup . Обе версии содержат скрипты, и их легко изучить, но они мощны, как и оригинальный SADP.

Я создал действительно хорошее расширение Visual Studio для NSIS и Inno Setup со многими функциями (intellisense, подсветка синтаксиса, панели навигации, компиляция непосредственно из Visual Studio и т. Д.). Вы можете попробовать это на www.visual-installer.com (извините за саморекламу :)

Загрузите Inno Setup (jrsoftware.org/isdl.php) или NSIS (nsis.sourceforge.net/Download) и установите V&I (unsigned-softworks.sk/visual-installer/downloads.html).

Все установщики простые Next / Next / Next ...

В Visual Studio выберите меню File -> New -> Project , выберите NSISProject или Inno Setup , и будет создан новый проект (с полными исходными кодами ).

Slappy
источник
1
Как установить NSIS и Inno Setup? Пошаговое руководство за 5 минут и полный пример исходного кода в VS?
Kiquenet
1
Загрузите Inno Setup ( jrsoftware.org/isdl.php ) или NSIS ( nsis.sourceforge.net/Download ) и установите V&I ( unsigned-softworks.sk/visual-installer/downloads.html ) Все установщики просты Next / Next / Next ... В Visual Studio выберите File -> New -> Project, выберите NSISProject или InnoSetup, и будет создан новый проект (с полными исходными кодами).
Slappy
2

Прочтите статью Развертывание установщика Visual Studio . Это вам обязательно поможет.

Вы можете выбрать правильную версию .NET framework на странице. Итак, сделайте это .NET 4.5. Я думаю, это будет в Visual Studio 2012.

Sid
источник
1
Для Visual Studio 2012 говорится: « InstallShield Limited Edition (ISLE) бесплатна для разработчиков Visual Studio и заменяет функциональные возможности шаблонов проектов в Visual Studio для установки и развертывания ».
Питер Мортенсен
0

Я думаю, что развертывание решения Office с помощью ClickOnce (MSDN) может быть полезным.

После создания плагина Outlook для Office 2010 проблема заключалась в том, чтобы установить его на компьютер клиента без использования ISLE или других сложных инструментов (или дорогостоящих).

Решением было использовать инструмент публикации проекта Visual Studio, как описано в ссылке. Прежде чем установка заработает, нужно сделать всего две вещи:

Флавио Бьянки
источник