none
Ejecutar aplicación de windows form en otras computadoras RRS feed

  • Pregunta

  • Al instalar una aplicación de escritorio, desarrollada en VS C# 2015 con framework 4.0 no se ejecuta en otra computadora.

    Se instala pero no ejecuta. En el visor de sucesos hay un error de .NET Runtime y la conexión al origen de datos no se ejecuta.

    Si solo se copia los ejecutables sale el mismo error. 

    La versión del framework que está instalada es la 4 Client Profile. Quisiera instalar solo la 4.0.30319 y no la tengo.

    Que puedo hacer, talvez modificar alguna propiedad de registro de las dll ? porque todas dicen vsdraDoNotRegister.

    De antemano, muchas gracias por su ayuda.


    domingo, 31 de julio de 2016 2:31

Respuestas

  • Dikla_ec,

    La conexión a una fuente de datos no tiene que ver o estar vinculada a una versión de Framework .NET  en especifico. Si tienes una base de datos adjunta al proyecto, ¿cómo es tu cadena de conexión? Debería tener la siguiente forma:

    Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf;Database=dbname;
    Trusted_Connection=Yes;


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Dikla_ec martes, 2 de agosto de 2016 21:22
    lunes, 1 de agosto de 2016 22:09

Todas las respuestas

  • hola

    >>Quisiera instalar solo la 4.0.30319 y no la tengo

    porque no la descargas

    Microsoft .NET Framework 4 (Standalone Installer)

    si la aplicacion fue desarrollada con esta version entonces tienes que tenerla instalada en la pc del usuario

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Propuesto como respuesta Miguel Torres C lunes, 1 de agosto de 2016 22:30
    domingo, 31 de julio de 2016 3:28
  • Dikla_ec,

    ¿Cómo empaquetas tu aplicación para la distribución?. Todas las aplicaciones de empaquetado (instaladores) permiten establecer los pre-requisitos de instalación (programas que tu aplicación necesita para ejecutarse correctamente), de hecho, el requisito principal para que tu aplicación se ejecute en otro equipo es que cuente con la misma versión de .NET Framework con la que fue desarrollada. De lo dicho en el punto anterior, te recomiendo que configures la opción que te he comentado para que tu medio de instalación ejecute todas las acciones necesarias para que tu aplicación se instale e inicie sin problemas.


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Propuesto como respuesta Miguel Torres C lunes, 1 de agosto de 2016 22:33
    domingo, 31 de julio de 2016 16:01
  • Leandro, gracias por responder.

    Inicialmente el software fue desarrollado en .NET framework 4.5.2 , tiene los prerequisitos entre ellos el .NET framework 4.5.2. El supportedRuntime siempre es el 4.0.30319 por esta razón compilé el proyecto en .NET framework 4.0 manteniendo la correspondencia de los framework; sin embargo se mantiene el inconveniente.


    lunes, 1 de agosto de 2016 17:26
  • Willams, gracias por responder.

    Si tiene los prerequisitos, estoy probando cada vez bajando la versión del framework espero que funcione.

    lunes, 1 de agosto de 2016 17:27
  • La aplicación utiliza una conexión embebida de base de datos *.mdf

    Tiene como pre-requisito SQL Server 2012 express localdb

    El problema está en que no puede establecer la conexión de datos. 

    La instalación estoy haciendo en computadoras con windows 7 y 8. El SQL Server 2012 express localdb está instalado en las mismas.

    Encontré que para ejecutar las conexiones al archivo mdf necesita como mínimo el framework 4.0.2

    En windows 8 viene con el framework 4.5 y no permite instalar versiones inferiores del framework.

    Que puedo hacer?

    Es una aplicación sencilla de windows form que usa una base embebida mdf 

    Muchas gracias, por su ayuda.

    lunes, 1 de agosto de 2016 20:20
  • Dikla_ec,

    La conexión a una fuente de datos no tiene que ver o estar vinculada a una versión de Framework .NET  en especifico. Si tienes una base de datos adjunta al proyecto, ¿cómo es tu cadena de conexión? Debería tener la siguiente forma:

    Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf;Database=dbname;
    Trusted_Connection=Yes;


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta Dikla_ec martes, 2 de agosto de 2016 21:22
    lunes, 1 de agosto de 2016 22:09
  • Willams,

    Así está la cadena:

    connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\CEG.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient"

     


    La aplicación tiene 3 capas: Datos, Lógica y Vista. Cada capa es un proyecto.

    En el proyecto de Datos está el mdf 

    El proyecto Vista es el que contiene los formularios.

    Los archivos resultantes de la instalación generan las dll de los 3 proyectos y al mismo nivel adjuntan la base de datos.

    • Editado Dikla_ec lunes, 1 de agosto de 2016 22:43
    lunes, 1 de agosto de 2016 22:27
  • Dikla_ec,

    {?} El problema está en que no puede establecer la conexión de datos. 

    ¿Obtienes alguna excepción? ¿Tienes algún controlador de errores que "vigile" el procedimiento de conexión?

    lunes, 1 de agosto de 2016 22:31
  • System.Data.SqlCliente.SqlException: Error relacionado con la red o especifico dela instancia mientras se establecía una conexión con el servidor SQL Server. No se encontró el servidor o este no estaba accesible. Compruebe que el nombre de la instancia es correcto y que SQL Server esta configurado para admitir conexiones remotas. (provider: Interfaces de red SQL, error:50 Se produjo un error de tiempo de ejecucion de la base de datos local. The specified LocalDB instance does not exist.)

    Dikla_ec

    martes, 2 de agosto de 2016 0:56
  • Se solventó el inconveniente, fue un tema de tener la misma versión del SQL Server express localdb.

    Muchas gracias por la ayuda prestada.


    Dikla_ec

    martes, 2 de agosto de 2016 21:23