¿Cómo puedo hacer un .NET 4.0 exe ​​solicitar al usuario que descargue .NET 4.0 Framework / redistribuible antes de ejecutar este exe?

StackOverflow https://stackoverflow.com/questions/2960399

Pregunta

Pensé que el último Matlab lo hace automáticamente. He probado el siguiente exe en una VM XP Clean Win:

namespace DotNetTest
{
    using System.Windows.Forms;

    class Program
    {
        static void Main(string[] args)
        {
            MessageBox.Show("Howdy!");
        }
    }
}

Cuando lo ejecuto en una computadora que tiene todo esto instalado, muestra el cuadro de mensaje y una ventana. Cuando lo ejecuto en una VM limpia, recibo este error:

Title: DotNetTest.exe - Application Error
Icon: Error
Buttons: {OK}
Message Body: The application failed to initialize properly (0xc0000135). Click on OK to terminate the application.

Esperaría mejor de los genios MSFT. ¿Por qué no todos los .net EXE no pueden contener un poquito de sobrecarga y hacer que los primeros bytes de TI hagan el trabajo de detectar si .NET está instalado y presentando un mejor mensaje?

¿Hay algún tipo de configuración que pueda voltear para solucionar esto? Todas las configuraciones fueron predeterminadas proporcionadas por VS2010 cuando creé un nuevo proyecto.

Gracias.

¿Fue útil?

Solución

Como dice Alexandr, realmente debería usar el instalador para esto. Si eso no es posible, tendría que escribir un EXE no administrado para ejecutar primero y luego iniciar el .NET EXE o decirle al usuario que descargue el marco dependiendo de si ya está instalado.

Otros consejos

Para esto es para lo que usa un instalador. En .NET esto es simple, simplemente "publica" su proyecto y obtiene un instalador que hace que Shure que .NET esté instalado y tal. La aplicación en sí nunca debería tener que preocuparse por eso.

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