Visual Studio опубликовать проект в один простой установщик

У меня есть большой проект, с несколькими классами, 500+ изображениями и 20+ текстовыми файлами, связанными с этим проектом.

Я опубликовал свой проект, щелкнув правой кнопкой мыши на project->propertiesи нажав на вкладку публикации. Я включил текстовые файлы и изображения как resources уже.

Проблема заключается в том, что всякий раз, когда я устанавливаю приложение, обычно это простой установщик, то есть вы загружаете установщик (один файл, такой как installer.exe), запускаете этот файл, который затем проводит вас через настройку, например, куда его устанавливать, и т. д. Затем приложение устанавливается и все.

Что ж, при публикации моего приложения я указываю выходной каталог, и у меня остаются следующие файлы:

  • Файлы приложений
  • MyProjectName.application (манифест?)
  • setup.exe

Если я бегу setup.exeЯ могу установить приложение и запустить его без проблем. Тем не менее, он не только не позволяет мне выбрать, куда его установить, но и должен будет отправить все 3 этих файла пользователю. Я пытался отправить только setup.exe другу, и он сказал, что им не хватает необходимых файлов (что я предполагаю, что application files а также .application были за).

Как мне собрать все это в один установщик, который более точно соответствует установке корпоративного приложения (подумайте об установке chrome, eclipse, photoshop и т. Д.)?

Мне нравится иметь один файл, который является установщиком, и иметь возможность загружать его пользователям.

Спасибо

1 ответ

Решение

ОБНОВЛЕНИЕ: сентябрь 2018 г. - Поскольку этот "ответ" был недавно отклонен, позвольте мне попытаться добавить еще несколько ссылок, чтобы увидеть, можно ли сделать цель ответа более понятной. Не быть слишком драматичным, но:

As deployment specialists we have to warn people when they commit to using a tool that is bound to fall apart for them down the line when more advanced deployment requirements invariably surface,

Проекты установщика несколько раз возвращались, а затем снова вводились в Visual Studio. Всегда основанный на проблемах, с которыми сталкиваются эти типы проектов (только более крупные):

1) Нет поддержки MSBuild, 2)только пользовательские действия отложенного режима, выполняемые в системном контексте (не вставляются в GUI), 3) крайне ограниченный контроль в целом (всегда объявляются ярлыки, нет возможности настраивать определенные параметры и т. д.), 4) нет поддержки для правильной установки службы - вместо этого требуются пользовательские действия, 5) очень мало доступных предпосылок для комплектации, 6) элементарный GUI с небольшой гибкостью, 7) представляется невозможным определить функции MSI (как в функциях и компонентах), 8) проблемы с 32 / 64 битностью для пользовательских действий и т.д...

Старая страница MSDN о типах проектов и ее проблемах: Устранение неполадок в проектах установки и развертывания.

Эксперт по MSI Крис Пейнтер и другие. Подходят ли проекты установки Visual Studio для сложных установок?

На мой взгляд, тип проекта может работать только для простых приложений.NET. Любая сложность калибра и у вас неприятности. SQL Scripts, IIS собственно COM / COM+, Users & Groups, Shares, Firewall Rules, Custom GUI и т. д. Коммерческие инструменты и WiX имеют расширенную поддержку этих вещей. Внутренние части скомпилированных файлов MSI также не соответствуют стандартам (использование самостоятельной регистрации, пользовательских действий для служб и т. Д.). Я часто сталкиваюсь с тем, что инструмент перестает работать по "неизвестной причине". Внезапно это не скомпилируется. Конкретный пример (с исправлением).

Альтернативы:

Набор инструментов WiX с открытым исходным кодом включает компонент Burn создать такой setup.exe средства запуска / загрузки / начальной загрузки - используются для последовательного запуска нескольких установок и / или установки необходимых компонентов (очень распространенная задача - проекты Visual Studio поддерживают только несколько предварительных условий).

Написание кода разметки WiX XML необходимо для использования этой функции записи. Коммерческие инструменты Installshield и http://www.advancedinstaller.com/ предоставляют GUI-функции для создания таких setup.exe файлы.


Установщик Visual Studio очень ограничен, я никогда не использую его. WiX (ссылка на ответ с попыткой предоставить несколько ссылок для ускоренного курса WiX) - это полноценное решение для развертывания с открытым исходным кодом. Это займет у вас некоторое время, чтобы освоить, но это очень хорошо и гибко. Коммерческое решение, такое как Installshield или Advanced Installer, позволит вам выполнить установку быстрее и проще, но они могут быть очень дорогими.

Учитывая ограничения проектов Visual Studio Installer (и ошибок), я верю, что правильным решением является использование другого инструмента: какой установочный продукт использовать? InstallShield, WiX, Wise, Advanced Installer и т. Д. Если вам вообще нужно что-то продвинутое, вы будете бороться иначе. С более продвинутым инструментом, по крайней мере, можно делать то, что вам нужно, даже если это может быть более сложным время от времени.

Дайте мне знать, что вы хотите знать о таком процессе, и я постараюсь помочь. Я не уверен, какое программное обеспечение вы поставляете, какая целевая группа пользователей, какой у вас бюджет и т. Д. Установщик Windows весьма желателен для ряда корпоративных преимуществ, но существуют и другие технологии развертывания (см. Описание различных инструменты для использования).

Другие вопросы по тегам