Создайте настройку приложения в Visual Studio 2013


90

У меня уже есть готовый к реализации проект. В настоящее время я использую Visual Studio 2013.

Но я не знаю, как создать настройку MSI в Visual Studio 2013, но для Visual Studio 2010 существует множество руководств, в которых обсуждается, как создать настройку в Visual Studio 2010.

  • Означает ли это, что мне нужно установить Visual Studio 2010, чтобы создать настройку приложения для моего проекта?

  • Как проще всего создать настройку приложения в Visual Studio 2013?


2
Попробуйте Windows Installer XML (WIX), он чрезвычайно настраиваемый и расширяемый, также вы можете интегрировать его со своими сборками CI. Проекты установки приложений были удалены в 2012 году, вы можете использовать Installshield SE, который был включен в один момент, если вам все еще нужен быстрый и грязный установщик. Использование WIX в 2013 г.
Mgetz

VS 2012 и после этого нет проекта развертывания, как в 2010 году
костас гл.

1
как насчет кликнуть один раз, сэр @Mgetz? и как использовать щелчок один раз?
Kaoru

@Kaoru Я никогда не заставлял Clickonce работать надежно в любой версии VS, поэтому я не буду сильно помогать. Но теоретически это сработает.
Mgetz 03

2
Clickonce имеет некоторые довольно странные особенности: вам нужно запускать новые версии той же установки из исходного каталога установки, чтобы она выполняла автоматическое обновление. Кроме того, похоже, что вам нужно носить с собой прикрепленную папку с файлом clickonce .exe. Что я сделал, так это обернул установочный материал Clickonce в SFX-архив с помощью winrar, всегда выполняя его из временного каталога и, по сути, создавая установщик «щелкнуть даже меньше одного раза».
Traubenfuchs

Ответы:


131

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

Visual-Studio-установщик-проекты-расширение


1
Новая и отличная информация. Microsoft должна улучшить свою статью KB2900817
суббота,

@peer Не решение в VS 2012? Альтернативы? Примеры полного исходного кода в VS2012?
Kiquenet 05

@kiquenet нет, vs2012 не поддерживается. Большинство проектов обновляются с любой работой до vs2013 и обратно совместимы с vs2012.
Питер

4
Не утруждайтесь чтением статьи ... она просто говорит вам, что нужно сделать следующее: Перейдите в Инструменты -> Расширения и обновление. Выберите вкладку ОНЛАЙН. Искать «Расширение для проектов установщика Visual Studio»
Prisoner ZERO

У меня есть решение VS 2010, внутри которого есть проект установки, когда решение построено с VS 2010, создается файл msi. Теперь у нас есть только VS 2013, и я не могу изменить / перенести проект установки. Что мне делать, чтобы создать файл msi?
Jirong Hu

10

Начиная с Visual Studio 2012, Microsoft больше не предоставляет встроенный пакет развертывания. Если вы хотите использовать этот пакет, вам нужно будет использовать VS2010.

В 2013 году у вас есть несколько вариантов:

  • InstallShield
  • WiX
  • Сверните свой собственный

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


Есть ли у вас @ ming-slogar какой-нибудь пример приложения с таким установщиком, которым вы хотели бы поделиться с нами?
Highmastdon

@Highmastdon: я в основном только что создал загрузчик установщика с собственным C ++ (настроенным так, чтобы иметь возможность запускать без предварительной установки библиотек времени выполнения C ++), который проверил установленный .NET и запустил установщик графического интерфейса WPF. Установщик WPF позволял пользователю выбирать несколько параметров, а затем копировать файлы и записывать ключи реестра. У меня нет «образца» приложения - я использую программу установки в проекте, над которым я работаю, но я могу попытаться извлечь образец, если он вам нужен.
Ming Slogar

Я действительно хотел бы увидеть полный пример этого. Не возражаете поделиться? Не сам код, а концепция и что-то из вашего опыта? Например, как вы встраиваете его в проект, который будет установлен, как вы автоматизируете обычные вещи (копирование списка файлов, правила: перезаписывать / не перезаписывать и т. Д.). Кроме того, я использую банкомат NSIS, но я устал от его языка сценариев, уродливого современного пользовательского интерфейса и очень-очень медленного дизайна (он все еще находится в каменном веке XP).
Sinatr

@Sinatr Для встраивания сборок я активно использовал файлы ресурсов - как на C ++, так и на C #. Чтобы копировать файлы, я на самом деле был ленив и вручную писал каждую файловую операцию (например, используя File.WriteAllBytesили File.WriteAllText, в зависимости от типа файла). Я не занимался перезаписью существующих файлов - все мои сборки имели префикс моего имени приложения (например, AppName.Controls.dll, AppName.Images.dll), поэтому вероятность дублирования файла была бы очень мала. Если вы хотите обрабатывать все возможные сценарии, вам придется делать то же, что и установщик Windows, что не позволяет выполнять настройку.
Ming Slogar

7
@Kiquenet Я загрузил код своего установщика здесь: drive.google.com/… . Он не будет собран из-за отсутствия зависимостей (я взял его из живого проекта), но вы, по крайней мере, можете увидеть, как я создал установщик.
Ming Slogar 05

3

Visual Studio 2013 теперь поддерживает проекты установки. Microsoft предоставила расширение Visual Studio для создания проектов установки.

Расширение проектов установщика Visual Studio


Привет, @Hamid! После завершения установки MSI-формы окна мои необработанные файлы (дизайн и кодирование) также отображаются в месте установки. Я разработал это приложение с помощью Visual Studio 2010. Установка создана успешно, но после установки MSI эта проблема возникает. Пожалуйста, помогите мне. Заранее спасибо.
dilipkumar1007

Пытаюсь понять ваш вопрос. вы создали проект установки с Visual Studio 2010 и он не работает с Visual Studio 2013?
Хамид Шахид

2

Microsoft рекомендует использовать «InstallShield Limited Edition для Visual Studio» как замену прекращенному «Проекту развертывания и установки» - но это не очень хорошо, и никто другой не рекомендует его использовать. Но для простых настроек, и если не проблема использовать коммерческие сторонние продукты, вы можете использовать его.

Альтернативой является использование Windows Installer XML (WiX) , но вам придется делать много вещей вручную, которые выполняются самим Setup-Project.


Я полностью согласен с @Kiquenet - вы можете попробовать руководство с wix.tramontana.co.hu
habakuk

Я устанавливаю 2015LE внутри VS 2010 и могу создать проект установки IS внутри VS 2010. Как теперь мне вызвать этот проект в Jenkins? Плагин InstallShield для Jenkins запрашивает путь к ISCmdBld.exe, который я не могу найти в 2015LE.
Цзиронг Ху


1

Помимо Install Shield и WiX, есть Inno Setup . Хотя сам я не пробовал, но слышал об этом хорошие отзывы.


1

Расскажу, как я решил почти аналогичную проблему. Я разработал приложение с использованием VS 2013 и попытался создать мастер, но этого не произошло. Позже я установил премиум VS и попробовал и потерпел неудачу.

наконец я использовал ClickOnce, и он работал нормально.

Так что я считаю, что и здесь "CLICKONCE" может вам помочь.

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