2011-02-09 16 views
5

Antes de iniciar mi aplicación (en Carga de formulario) Quiero verificar y asegurarme de que .NET framework (3.5 o superior) esté instalado en la máquina, si no quiero pedirle al usuario que lo descargue e instale (un simple MessageBox con un ENLACE DE INTERNET al Microsoft WebPage sería la mejor idea, ¿no?) Entonces, esto conlleva dos preguntas ...Cómo comprobar si .Net Framework está instalado [C#/WPF]

a) ¿Cómo DETERMINO SI .NET FrameWork 3.5 o superior están instalados? (No confío o simplemente quiero buscar la carpeta C: \ Archivos de programa \ Microsoft.NET, parece que no es propenso a errores?) Al ver que esto es muy crucial, debe haber una buena manera en C# para determinar qué versión de .NET que el usuario tiene funcionando en su máquina? Simplemente no tengo ni idea de cómo ...

b) ¿CÓMO pegar un ENLACE DE INTERNET (hipervínculo?) En un cuadro de mensaje? De modo que si el usuario NO tiene el .NET framework (1.1 o 2.0) instalado, puedo tenerlos simplemente haciendo clic en el enlace para descargarlo.

Cualquier ayuda/sugerencia sería muy apreciada.

Gracias, Din

+0

Consulte esta pregunta: http://stackoverflow.com/questions/951856/is-there-an-easy-way-to-check-net-framework-verison-using-c –

Respuesta

3

a) Tendría que arrancar el programa con un lenguaje que no sea .NET (C++, VB6, etc.) en lugar de Form_Load (otros carteles son correctos; si el marco no está instalado, el programa .NET no correr). Un ejemplo es aquí:

http://www.codeproject.com/KB/mcpp/DotNetTester.aspx

b) No se puede poner un hipervínculo en un cuadro de mensaje, por lo que tendría que crear su propio cuadro de diálogo emergente (una forma). EDITAR: Ese formulario/diálogo debería estar en el programa de arranque.

0

El código no se ejecutará sin el marco por lo que no será capaz de mostrar el cuadro de diálogo.

Esta comprobación debe realizarse durante la instalación.

+0

Bueno, técnicamente podría tener una . Boostrap de aplicación .NET 2.0 (u otro lenguaje como C++) – RQDQ

+0

@RQDQ, ¿quiere decir que es posible instalar una aplicación .NET sin tener que instalar el marco relevante? –

+0

por supuesto que no. No hay almuerzo gratis. Vea mi respuesta más arriba (este comentario fue solo para abordar un posible caso límite que el póster original puede o no haber intentado abordar). – RQDQ

1

No puede hacer esto desde su aplicación. La aplicación no podrá iniciarse.

Una opción que puede hacer es realizar una instalación de ClickOnce que verifique que .NET esté instalado.

0

¿Desea hacer una aplicación .NET que compruebe si .NET está instalado en la máquina?

Si .NET Framework no está instalado, ¿cómo se supone que el programa se las arregla para iniciarse en primer lugar?

0

Esta pregunta no tiene sentido.

El autor desea poder detectar si .NET Framework 3.5 está instalado pero ofrece un enlace a .NET Framework 1.1 y/o .NET Framework 2.0. Además del hecho de que podría simplemente construir un proyecto de instalación que haga exactamente esto como lo hace Paint.net (aunque tienen un programa de arranque), querrá asegurarse de que esté instalada la versión correcta de .NET Framework.

Si lo único que está instalado es .NET Framework 1.1 y no instaló .NET Framework 4.0/3.5 para su usuario, tendría un problema grave.

Si está presionando .NET Framework 4.0, entonces no está ayudando a sus compañeros programadores.

Cuestiones relacionadas