Как мне создать установщик для моей демонстрации XNA?

11

У меня есть демо-код в XNA3.1 с использованием VS2008. Я бы очень хотел иметь возможность отправить это кому-нибудь с ПК и позволить им установить и запустить его, не требуя, чтобы у них была установлена ​​VS или .Net framework и т. Д.

Я думал, что это будет вариант публикации, но я немного смущен этим. Может кто-нибудь пролить свет на этот вопрос?

Заранее спасибо.

SirYakalot
источник
Все, что сделано с помощью XNA, требует запуска XNA Framework, поэтому им придется установить .net Framework и XNA Framework. Им не понадобится Visual Studio.
Thedaian
2
это немного вводит в заблуждение. Вы правы в том, что им понадобится фреймворк xna и, возможно, фреймворк .net и т. Д. Но им не нужно будет устанавливать их самим по себе - в этом весь смысл создания установщика; он проверяет зависимости и устанавливает их по мере необходимости. В этом случае это включает в себя перераспределенную структуру XNA.
SirYakalot

Ответы:

14

Выбирайте

Существует несколько способов создать установщик для чего угодно, включая игру XNA.

1. Решение по развертыванию Visual Studio

Это довольно просто. Если у вас есть профессиональная версия Visual Studio, вы можете добавить проект развертывания в свое решение, и всякий раз, когда вы компилируете этот проект, он скомпилирует все необходимые зависимости / ресурсы для вас и в конце сделает вас хорошим установщиком.

Эта ссылка содержит большую часть информации, которая понадобится вам для начала работы, и содержит информацию о перераспределении платформы .NET и других связанных кусочках.

Плюсы:

  • Интегрировано в Visual Studio
  • Простота в получении простого установщика MSI, созданного и готового к распространению

Минусы:

  • Недоступно в некоторых версиях Visual Studio
  • Трудно заставить вашего установщика сделать что-то более сложное, чем установка / восстановление / удаление.

2. WiX

Если у вас нет возможности создания проекта развертывания Visual Studio, из-за ограниченной версии Visual Studio доступно несколько бесплатных альтернатив. WiX является одна из этих альтернатив.

Он обозначает Windows Installer XML и может быть интегрирован в Visual Studio, так же, как проекты VS Deployment. Это также создает MSI установки после компиляции. Имейте в виду, что WiX имеет крутой кривой обучения, но он допускает различные сложности в вашем установщике.

Вы можете узнать больше об этом здесь

Плюсы:

  • 100% бесплатно.
  • Мощный. Если вы хотите сделать что-то нелепо сложное в вашей программе установки, просто создайте C # DLL, свяжите ее с вашим проектом WiX и запустите как пользовательское действие. (Почти) Все возможно.
  • Прекрасно интегрируется в Visual Studio, очень и очень хорошо работает с проектами .NET.
  • Люди из списка рассылки WiX оказывают большую поддержку.

Минусы:

  • Трудно понять и начать из-за крутой кривой обучения.
  • Ошибки практически бессмысленны, когда вы начинаете, и требуется некоторое время, чтобы понять, в чем реальная проблема в вашем коде.
  • Не хватает учебников по данной теме. Большинство (по моему мнению) плохо сформулированы, плохо структурированы и совершенно запутаны.

3. NSIS

NSIS - это полнофункциональный пакет для создания установщика. Я признаю, я едва использовал это, но когда я сделал это, было приятным опытом. Есть много учебных пособий, они полностью написаны для сценариев, но я бы, вероятно, сказал, что он не такой мощный, как WiX (если кто-то считает, что это не так, не стесняйтесь меня поправлять).

Это абсолютно бесплатно и с открытым исходным кодом, и вы можете найти более подробную информацию об этом здесь .

Плюсы:

  • 100% бесплатно.
  • Scriptable инсталлятор, так что вы должны быть в состоянии кодировать некоторые сложное поведение.
  • Хорошее количество учебников, хорошая поддержка.
  • Не сделать MSI, но EXE вместо (MSI может быть плохо )

Минусы:

  • Не делает MSI, но вместо этого EXE (MSI может быть хорошим )
  • Достаточно ограничиваться рамками команд сценариев

4. Установите Shield и установите Anywhere

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

Насколько я знаю, он довольно полнофункциональный, но не может обрабатывать большое количество файлов (> 1000). Вы должны заплатить за это все же. InstallAnywhere - это кроссплатформенная версия InstallShield. Больше информации здесь .

5. Другие решения

Я перечислю другие решения для развертывания здесь, если у кого-то есть другие, чтобы добавить:

Advanced Installer - бесплатная версия позволяет использовать базовые решения для развертывания. Спасибо за это дополнение, пек.

Вывод

Существует целый ряд вариантов, доступных для создания установщика для вашей игры XNA. Попробуйте пару, посмотрите, что вы получите больше всего. Однако самое важное в создании установщиков - это обеспечение его работы на нескольких компьютерах. Если вы создаете установщик MSI, тестирование значительно упрощается благодаря запуску msi из командной строки с помощью следующей команды:

msiexec /i [name of installer.msi] /L*v verbose_log.txt

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

В заключение посмотрите, что подходит вам и вашему рабочему процессу лучше всего, тестирование является ключевым, и всякий раз, когда вы тестируете свой установщик, всегда ВСЕГДА регистрируйте установки (в большинстве случаев установщики никогда не дают вам никакой полезной информации о том, что пошло не так).

Это превратилось в нечто более длинное, чем я ожидал, и мне жаль. Но я надеюсь, что это поможет.

~ Ray

Рэй Дей
источник
Вот еще один инструмент для установки, который вы можете добавить для полноты: Advanced Installer ( advancedinstaller.com ). Многое можно сделать с помощью пользовательского интерфейса, и для простых проектов этого достаточно. Не использовал это ни для чего сложного. В бесплатной версии есть почти все, что нужно для простого проекта, поэтому я был в порядке.
пекин
1
«Visual Studio Deployment Solution» фактически относится к двум отдельным технологиям - ClickOnce и установщик Windows. Установщик Windows создает нормально выглядящий мастер установки; это более широко используемый и более профессиональный вид. ClickOnce проще в использовании, включает в себя возможность автоматического обновления программы и может быть установлен непосредственно с веб-страницы. Однако ClickOnce предназначен только для .Net (не поддерживает нативные проекты C ++) - поскольку XNA также является только .Net, это не должно быть проблемой ..
BlueRaja - Дэнни Пфлугхофт