Створіть програму налаштування у 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 році
kostas ch.

1
як щодо натискання один раз, сер @Mgetz? і як мені один раз використовувати клацання?
Каору

@Kaoru Я ніколи не отримував, щоб Clickonce працював надійно в будь-якій версії VS, тому мені не допоможуть. Але теоретично це спрацювало б.
Mgetz

2
Clickonce має деякі досить дивні особливості: вам потрібно виконати нові версії тієї самої інсталяції з оригінального каталогу інсталяції, щоб вона автоматично зробила оновлення. Крім того, здається, вам доведеться переносити вкладену папку з clickonce .exe. Те, що я зробив, - це обгортання матеріалів інсталяції Clickonce всередині SFX-архіву за допомогою winrar, завжди виконуючи його з тимчасової директорії і, по суті, створюючи "клацання навіть менше одного разу".
Траубенфукс

Відповіді:


131

Корпорація Майкрософт вислухала крик про підтримку інсталяторів (MSI) у Visual Studio та випустила розширення Visual Studio Installer Projects Extension . Тепер ви можете створювати програми встановлення у VS2013, завантажте розширення тут із visualstudiogallery.

visual-studio-installer-projects-extension


1
Нова та чудова інформація. Microsoft повинна вдосконалити відповідну статтю KB2900817
satoc

@peer Не рішення у VS 2012? Альтернативи? Повні зразки вихідного коду у VS2012?
Kiquenet

@kiquenet nope, vs2012 не підтримується. Більшість проектів модернізовано будь-якою роботою до vs2013 та назад сумісної дотепності vs2012.
Петро

4
Не напружуйтесь читати статтю ... вона просто пропонує вам зробити наступне: Перейдіть до Інструменти -> Розширення та оновлення. Виберіть вкладку ОНЛАЙН. Шукайте "Розширення проектів програми встановлення Visual Studio"
В'язень НУЛЬ

У мене є рішення 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 Для вбудовування збірок я активно використовував файли ресурсів - як у C ++, так і в C #. Для копіювання файлів я насправді лінувався і писав від руки кожну операцію з файлом (наприклад, використовуючи File.WriteAllBytesабо File.WriteAllText, залежно від типу файлу). Я не займався перезаписом існуючих файлів - усі мої збірки мали префікс із назвою мого додатка (наприклад, AppName.Controls.dll, AppName.Images.dll), тому шанс на повторюваний файл був би дуже малим. Якщо ви хочете обробити кожен можливий сценарій, вам доведеться робити те, що робить інсталятор Windows - який тип перемагає мету налаштування.
Ming Slogar

7
@Kiquenet Я завантажив код для мого спеціального інсталятора сюди: drive.google.com/… . Він не буде створюватися через відсутність залежностей (я витягнув його з поточного проекту), але ви принаймні бачите, як я створив інсталятор.
Ming Slogar

3

Visual Studio 2013 тепер підтримує проекти інсталяції. Корпорація Майкрософт поставила розширення 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 XML (WiX) , але вам доведеться зробити багато речей вручну, які самостійно виконали проект налаштування.


Я повністю згоден з @Kiquenet - Ви можете спробувати підручник з wix.tramontana.co.hu
habakuk

Я встановлюю 2015LE всередині VS 2010, і я можу створити проект налаштування ІС всередині VS 2010. Як тепер я можу викликати цей проект у Jenkins? Плагін InstallShield для Jenkins запитує шлях до ISCmdBld.exe, якого я не можу знайти в 2015LE.
Jirong Hu


1

Окрім Install Shield та WiX, існує Inno Setup . Хоча я не пробував сам, я чув про це хороші речі.


1

Я розповім, як я вирішив майже подібну проблему. Я розробив додаток, використовуючи VS 2013, і спробував створити майстер, але це не вдалося зробити. Пізніше я встановив преміум VS і спробував і не вдалося.

нарешті я використав "ClickOnce", і він працював нормально.

Тому я вірю, що тут також вам допоможе "КЛІКОНС".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.