Может ли кто-нибудь предоставить хорошее "руководство для идиотов" для создания установщика в 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.