Может ли кто-нибудь предоставить хорошее "руководство для идиотов" для создания установщика в VS2008 (С#) Pro?

У меня есть Visual С# 2008 Professional и разработала первую половину приложения С# (консольный режим) со второй половиной в настоящее время (GUI).

Я ищу простой путь к созданию установщика для него. Каковы шаги, которые необходимо предпринять для создания профессионального установщика?

Там есть аналогичный вопрос здесь относительно выпуска Express, но у меня есть Pro, и я хотел бы как можно больше придерживаться только стандартных материалов VS (если вы думаю, вы можете убедить меня, что сторонний установщик-установщик намного лучше, чем просто VS-решение, дайте ему шанс, во что бы то ни стало).

Имейте в виду, что я пока не заинтересован в обновлении до VS2010, даже если в сто раз проще создать установщик. Это может произойти позже, когда доход начнет скатываться: -)

Также имейте в виду, что компонент GUI этого приложения является полностью отдельным исполняемым файлом из консоли. Консольная часть представляет собой простой "открытый файл 1", выполняет некоторую работу над ним, записывает файл 2 ", а графический интерфейс представляет собой довольно стандартный" открытый файл, создайте какой-то материал ", чтобы не происходило сложного или дико недокументированного поведения.

В принципе, я ищу (по крайней мере) следующее:

  • профессионально выглядящий установщик.
  • возможность указать, куда идут файлы приложений.
  • изменения в реестре позволяют дважды щелкнуть на моем расширении файла, чтобы открыть приложение GUI с файлом в качестве аргумента.
  • необходимо установить все необходимое (мои файлы,.Net, если требуется, и т.д.).

Ответ 1

Другим вариантом является Inno Setup. Это позволяет вам полностью настраивать установки, где можно вставлять файлы на целевой компьютер, изменять реестр и все, что касается джаза. Если вы готовы потратить немного больше времени на изучение скриптов, необходимых для достижения желаемых результатов, это очень мощный инструмент. (выполняет все ваши требования и многое другое) И самое главное, это бесплатно =)

Я использую Inno Setup для всех моих больших программ .NET. Когда программа установки работает, она проверяет, установлена ​​ли .NET, а если нет, загружает и устанавливает ее. Кроме того, я изменил реестр и сделал ассоциации с расширениями, как вы упомянули. Включение DLL вместе с установщиком также простое - Inno объединит все необходимые файлы в один исполняемый файл, который позаботится обо всем.

Кроме того, поскольку Inno существует с 1997 года, появилось несколько редакторов которые помогают сделать процесс сценариев намного проще.

Ответ 2

Это может быть немного более наглядно, чем ответ, но вот оно.

Если есть одна вещь, сильно нарушенная с клиентским программным обеспечением Windows, это развертывание приложений.

Мой опыт исходит от работы над NovaMind - Несмотря на то, что я провел несколько недель на проблемах установки, я я никоим образом не специалист по настройке технологий, и я стараюсь сосредоточиться на нашем фактическом продукте, когда это возможно. Мы использовали InnoSetup, проект установки Visual Studio 2008/2010, и, наконец, мы переключились на подход WiX + Tools.

Как вы устанавливаете приложение в настоящее время?

Веб-приложения. Введите URL-адрес в браузере, чтобы перейти в веб-приложение.

Mac: Перетащите загруженный файл (тот же для x64 и x86) на значок "Приложения" на Mac. Готово.

Windows: Загрузите нужный файл (пользователь должен знать о архитектуре x64 и x86), выполните его. Нажмите "Далее дюжину раз, дождитесь появления UAC, нажмите" Да ", а затем надейтесь, что установщик поступил правильно.

Я думаю, что если бы у Windows была лучшая система развертывания, здравый рынок/магазин приложений и правильная функция "живого обновления", веб-приложения, возможно, никогда не получили бы эту популярность в первую очередь. Конечно, это преувеличение, но я считаю, что большой ущерб был нанесен экосистеме приложений Windows, не предоставив разумную и удобную модель развертывания, и даже сейчас Microsoft, похоже, уделяет очень мало внимания этой проблеме.

Как вы обновляете приложения в настоящее время?

Веб-приложения: Нет необходимости. Это актуально.

Mac: Нет встроенной магии, но есть широко используемое и мощное решение под названием Sparkle.

Windows: Вам лучше сворачивать, потому что нет ничего существенного.

ClickOnce должен был изменить все это, но не смог использоваться для реальных коммерческих приложений.

Вот краткое изложение:

InnoSetup и другие установки script просты, но не могут создать файл .msi;— Некоторым компаниям требуется файл .msi для автоматизации развертывания сети. Вам также понадобится установка на основе Windows Installer (.msi), если вы хотите получить сертификат Windows Logo.

Проект установки Visual Studio 2008/2010 дает вам основы, и вы можете настроить кучу вещей, но как только вы захотите сделать немыслимое, например значок высокого качества или включить меняющийся набор файлов в вашу настройку, вы ввернуты. Нам также приходилось вручную исправлять PackageCode и ProductCode каждый раз, когда мы создавали обновление, поскольку Visual Studio каким-то образом испортила версии сборки и оставила старую сборку при обновлении, тем самым повредив приложение.

WiX - это де-факто способ создания настроек в Windows, и даже Microsoft Office Setup предположительно создается с помощью WiX. WiX не просто. Доступны книги для WiX!

К сожалению, WiX по-прежнему не является хорошим решением. Мы используем проект dotNetInstaller bootstrapper для обеспечения установки .NET Framework и переноса файла .msi и загрузчика в один файл .exe что люди могут скачать.

Со всем этим вы в основном хороши. Всегда бывают странные случаи, когда у клиентов не установлен установщик Windows (и, следовательно, он не может запускать встроенный файл .msi) или где не выполняется установка .NET Framework.

Вещи, которые мы не смогли сделать до сих пор:

  • Локализация нашего установщика!
  • Предоставление одной загрузки для x64 и x86 - на данный момент мы только создаем установщик x86, потому что мы не хотим, чтобы наши пользователи думали о x64 и x86.
  • У вас есть хороший пользовательский интерфейс настройки, который также работает с высокими настройками DPI. Я думаю, что это может быть просто вещь, которая не поддерживается в настройках MSI.

Существует бесплатный продукт под названием SharpSetup, который, по-видимому, затрагивает некоторые из этих проблем и позволяет вам писать пользовательский интерфейс на основе Winforms, но SharpSetup не поставляется с загрузчиком и требует .NET Framework - вы можете написать свой собственный код на С++, чтобы реагировать в этой ситуации.

Для живых обновлений мы сделали свое собственное решение, и после многих проблем он работает нормально.

Вы также можете прослушать эпизод подкаста Скотта Гензельмана с Риком Брюстером, они говорили о настройке и развертывании Paint.NET - Хотя я поздравляю Рика и команду Paint.NET с их хорошей настройкой, необходимость такого сложного решения меня огорчает.

Если вам абсолютно необходимо использовать .msi, я бы рекомендовал WiX всем, кто хочет создать установщик в Windows, но в конце концов я очень расстроен ситуацией развертывания в Windows. Я потратил несколько недель своего времени на эти годы с глупыми проблемами установки. С настройкой вы можете проиграть. Вы не выиграете счастливых клиентов, потому что ваша настройка работает, но вы потеряете и расстроить их, если это не так.

Ответ 3

Я использую Advanced Installer, он просто мертв, и я использую его из-за ограничений VS.

http://www.advancedinstaller.com/

"Недостатком" является то, что для полной автоматической установки зависимостей вы должны платить; -)

Ответ 4

Если вы хотите полностью создать свой установщик в Visual Studio, но не против использования внешних инструментов, чтобы помочь вам в этой задаче, посмотрите на мою программу под названием SharpSetup. Он позволяет создавать графический интерфейс с использованием С#/WinForms, тогда как бэкэнд - это WiX (что, в свою очередь, означает использование WIndows Installer).

Ответ 5

Visual Studio 2008 имеет встроенную поддержку установки/установки.

Добавьте новый проект в свое решение и выберите вариант "Настройка проекта" в разделе "Другие типы проектов > " Настройка и развертывание ".

Посмотрите Обзор развертывания установщика Windows и шаг- шаг за шагом

Ответ 6

Если вы знаете языки сценариев, вы можете проверить NSIS в качестве альтернативы VS. Там достаточно документации, которую вы можете скопировать, вставьте их примерный установщик и замените места своего файла своим.

Ответ 7

Пока я не устанавливаю эксперта, я успешно использовал Wix. Это, мягко говоря, затруднило.

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

http://www.installaware.com/ http://www.flexerasoftware.com/products/installshield.htm http://www.wise.com/Products/Installations/WiseInstallationStudio.aspx

Все обеспечивают локализацию, файл/приложение для совместной работы с двойным щелчком, загрузку и целевое местоположение Framework, насколько мне известно. InstallAware и Wise предоставляют некоторую поддержку autoupdate.