Создайте 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 .


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.


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 , и будет создан новый проект (с полными исходными кодами ).


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.


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

0

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.