¿Cómo creo un instalador para mi demo XNA?

11

Tengo una demo codificada en XNA3.1 usando VS2008. Realmente me encantaría poder enviar esto a cualquier persona con una PC y dejar que lo instalen y lo ejecuten sin requerir que tengan instalado VS o el marco .Net, etc.

Pensé que sería la opción de publicación, pero estoy un poco confundido. ¿Alguien puede arrojar algo de luz sobre el asunto?

Gracias de antemano.

Sir Yakalot
fuente
Cualquier cosa hecha con XNA requiere que XNA Framework se ejecute, por lo que tendrían que instalar .net framework y XNA framework. No necesitarían Visual Studio.
thedaian
2
eso es un poco engañoso. Tienes razón en que necesitarían el framework xna y posiblemente el framework .net, etc. Pero no tendrían que instalarlo ellos mismos por sí mismos, ese es el objetivo de hacer un instalador; Comprueba las dependencias y las instala según sea necesario. En este caso, eso incluye el marco XNA redistribuido.
SirYakalot

Respuestas:

14

Elige tu opción

Hay varias formas de crear un instalador para cualquier cosa, incluido un juego XNA.

1. Solución de implementación de Visual Studio

Este es bastante sencillo. Si tiene la edición Professional de Visual Studio, puede agregar un proyecto de implementación a su solución y cada vez que compile este proyecto, compilará todas las dependencias / activos necesarios para usted y lo convertirá en un buen instalador al final.

Este enlace contiene la mayor parte de la información que necesitaría para comenzar y contiene información sobre la redistribución de .NET Framework y otras partes relacionadas.

Pros:

  • Integrado en Visual Studio
  • Directo para obtener un instalador MSI simple construido y listo para distribuir

Contras:

  • No disponible en algunas versiones de Visual Studio
  • Es difícil hacer que su instalador haga algo más complejo que instalar / reparar / desinstalar.

2. WiX

Si no tiene la opción de crear un proyecto de implementación de Visual Studio, debido a una versión limitada de Visual Studio, hay varias alternativas gratuitas disponibles. WiX es una de estas alternativas.

Es sinónimo de Windows Installer XML y se puede integrar en Visual Studio, al igual que los proyectos de implementación VS. Esto también crea un instalador msi después de la compilación. Sin embargo, tenga en cuenta que WiX tiene una curva de aprendizaje empinada, pero permite diversas complejidades en su instalador.

Puede encontrar más información al respecto aquí

Pros:

  • 100% gratis.
  • Poderoso. Si desea hacer algo ridículamente complejo en su instalador, simplemente cree una DLL de C #, conéctela a su proyecto WiX y ejecútela como una Acción personalizada. (Casi) Cualquier cosa es posible.
  • Se integra muy bien en Visual Studio, funciona muy, muy bien con proyectos .NET.
  • Las personas en la lista de correo de WiX brindan mucho apoyo.

Contras:

  • Difícil de entender y comenzar debido a la curva de aprendizaje empinada.
  • Los errores son casi absurdos cuando comienzas y lleva un tiempo descubrir cuál es el verdadero problema en tu código.
  • No hay suficientes tutoriales sobre el tema. La mayoría (en mi opinión) están mal redactados, mal estructurados y francamente confusos.

3. NSIS

NSIS es un paquete de creación de instalador con todas las funciones. Lo admito, apenas lo he usado, pero cuando lo hice fue una experiencia agradable. Hay una buena cantidad de tutoriales, es completamente programable, pero probablemente diría que no es tan poderoso como WiX (si alguien siente que este no es el caso, no dude en corregirme).

Es completamente gratuito y de código abierto y puede encontrar más información aquí .

Pros:

  • 100% gratis.
  • Instalador programable, por lo que debería poder codificar un comportamiento complejo.
  • Buena cantidad de tutoriales, buen soporte.
  • No crea un MSI, sino un EXE (los MSI pueden ser malos )

Contras:

  • No crea un MSI, sino un EXE (los MSI pueden ser buenos )
  • Bastante limitado por el alcance de los comandos de secuencias de comandos

4. InstallShield e InstallAnywhere

Nunca he usado InstallShield, pero por completo, pensé en mencionarlo aquí. Mi única experiencia es de lo que la gente me ha dicho, así que no enumeraré los pros y los contras.

Que yo sepa, es bastante completo, sin embargo, no puede manejar una gran cantidad de archivos (> 1000). Sin embargo, debes pagar por ello. InstallAnywhere es una versión multiplataforma de InstallShield. Más información aquí .

5. Otras soluciones

Enumeraré las otras soluciones para la implementación aquí si alguien tiene otras que agregar:

Instalador avanzado : la versión gratuita permite soluciones de implementación básicas. Gracias por esta adición, pek.

Conclusión

Hay muchas opciones disponibles para crear un instalador para tu juego XNA. Pruebe un par, vea con qué se lleva más. Sin embargo, lo más importante con respecto a la creación de instaladores es asegurarse de que funcione en varias computadoras. Si está creando un instalador MSI, la prueba se hace mucho más fácil ejecutando el msi desde la línea de comando usando el siguiente comando:

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

Esto escribirá un registro de cada evento por el que atraviesa el instalador, que luego puede diferenciar de cualquier herramienta de diferencia que desee.

En conclusión, vea qué se adapta mejor a usted y a su flujo de trabajo, la prueba es clave, y siempre que esté probando su instalador, SIEMPRE registre las instalaciones (la mayoría de las veces los instaladores nunca le brindan información útil sobre lo que salió mal).

Esto se convirtió en algo más largo de lo que esperaba, y lo siento. Pero espero que ayude.

~ Ray

Ray Dey
fuente
Aquí hay otra herramienta de instalación que puede agregar para completar: Instalador avanzado ( advancedinstaller.com ). Se pueden hacer muchas cosas con la interfaz de usuario y para proyectos simples es suficiente. No lo he usado para nada complejo. La edición gratuita tiene casi todo lo que un proyecto simple necesita, así que estaba bien con eso.
Pek
1
La "Solución de implementación de Visual Studio" en realidad se refiere a dos tecnologías separadas: ClickOnce y Windows Installer. Windows Installer crea un asistente de instalación de aspecto normal; Es más utilizado y tiene un aspecto más profesional. ClickOnce es más fácil de usar, incluye la capacidad de actualizar automáticamente el programa y puede instalarse directamente desde una página web. Sin embargo, ClickOnce es .Net solamente (no apoya proyectos de C ++ nativas) - desde XNA es también .Net solamente, esto no debería ser un problema ..
BlueRaja - Danny Pflughoeft