Pregunta

He creado un proyecto de configuración en VS2008. Mi aplicación de WinForms usa .NET 2.0, así que elegí .NET 2.0 Prerequisity y creé el proyecto de instalación.

Cuando ejecuto mi Setup.msi en una PC limpia, detecta correctamente que falta .NET y pregunta si debería estar instalado. Después de una instalación exitosa de .NET, el instalador simplemente sale y no continúa con la instalación de mi aplicación (creo que debería).

Cuando ejecuto el archivo MSI en una PC con .NET ya instalado, mi aplicación se instala correctamente.

¿Hay alguna manera de instalar .NET 2.0 y mi aplicación en un solo paso?

¿Fue útil?

Solución

¿Cómo instaló el producto?

El proyecto de configuración generará dos archivos:

  • un paquete de Windows Installer (.msi), y
  • un llamado bootstrapper (setup.exe)

El bootstrapper verificará la presencia de cualquier requisito previo que especificó y posiblemente lo descargará e instalará si aún no está instalado y luego continuará instalando su aplicación (llamando al .msi ). Por lo tanto, siempre debe iniciar el setup.exe para instalar su aplicación y no el archivo .msi (a menos que sepa que todos los requisitos previos están en el sistema de destino).

Como dice Krakkos, el programa de arranque instalará tanto los requisitos previos como su aplicación (es decir, su archivo .msi). Sin embargo, no conozco ningún valor de configuración que impida que bootstrapper instale msi.

Para solucionar problemas, puede intentar crear un registro de su instalación y buscar cualquier problema en el archivo de registro.

Otros consejos

Gracias Divo,

Estaba ejecutando el archivo MSI.

¿Hay alguna limitación al ejecutar el archivo Setup.EXE? Si recuerdo correctamente, una vez intenté ejecutarlo en Windows 2000 y no se ejecutó. Pude ejecutar solo el archivo MSI. Voy a comprobar en una PC con Win2000 limpio y volveré.

EDITAR: Lo he probado en Windows 2000 SP4 limpio y aquí están los resultados:

  • Setup.exe no se ejecutará con un mensaje sobre la falta de información de la configuración del servidor en Kernel32.dll
  • Setup.msi tampoco se ejecutará (la extensión .msi es desconocida)

Luego instalé Windows Installer 3.1 manualmente:

  • Setup.exe aún no se ejecutará con el mismo mensaje de error
  • Setup.msi se ejecutará correctamente (pero instalará solo .NET sin mi aplicación ... mi problema inicial)

En Windows XP, el Setup.exe se ejecuta sin problemas.

Parece que los usuarios con Win2000 tendrán que instalar mi aplicación manualmente instalando Windows Installer 3.1, .NET 2.0 y luego mi aplicación. Incluso cuando .NET se instala manualmente, Setup.exe seguirá mostrando el mismo mensaje de error en Win2000 SP4.

EDITAR: El problema de Win 2000 se puede solucionar instalando Paquete acumulativo de actualizaciones 1 para Windows 2000 SP4 (KB891861) .

Este episodio de Hanselminutes entra en gran detalle sobre cómo Paint.Net arreglos para la descarga y amp; instalar el marco .NET requerido a pedido e integrarlo con la instalación de la aplicación. Es cierto que esta es probablemente la forma más compleja que requiere la mayoría de las aplicaciones, pero aún así es una discusión interesante.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top