none
Instalador de aplicación en Visual C# (Windows Form App) aplicación de escritorio RRS feed

  • Pregunta

  • Hola, necesito una gran ayuda, quiero hacer un instalador de mi aplicación, pero que este instale el MySql y cree la base de datos con sus tablas. 
    jueves, 25 de febrero de 2021 0:37

Respuestas

  • Tienes dos partes: una fácil y una difícil. Crear las tablas en la base de datos es fácil: Simplemente, cuando tu programa se ejecute por primera vez (o desde dentro de una acción en el propio instalador), envía a ejecutar al servidor un bloque de SQL que contenga todos los mismos comandos "create table ..." que usarías para crear las tablas si las creases directamente a mano en lugar de crearlas desde el instalador.

    Pero instalar MySql es mucho más complicado. Si fuera SQL Server, el propio instalador Click-Once ya tiene una opción que puedes marcar para decirle que como pre-requisito necesitas SQL Server Express, y entonces lo descarga y lo instala automáticamente. Pero no tiene ninguna opción similar para MySql. Así que vas a necesitar un instalador más sofisticado. Podrías generar un instalador .msi usando tu herramienta favorita, tal como InstallShield o WiX o un proyecto de instalación de Visual Studio (después de descargar e instalar el módulo correspondiente, ya que en los Visual Studio modernos este tipo de proyecto no está disponible de forma predeterminada). Entonces, en el instalador, añades una acción de instalación (que puede estar escrita en una dll en C#) que por dentro ejecute todos los pasos que necesites para instalar MySql.

    • Marcado como respuesta Rodriguez Angel viernes, 26 de febrero de 2021 18:38
    jueves, 25 de febrero de 2021 7:53
    Moderador

Todas las respuestas

  • Tienes dos partes: una fácil y una difícil. Crear las tablas en la base de datos es fácil: Simplemente, cuando tu programa se ejecute por primera vez (o desde dentro de una acción en el propio instalador), envía a ejecutar al servidor un bloque de SQL que contenga todos los mismos comandos "create table ..." que usarías para crear las tablas si las creases directamente a mano en lugar de crearlas desde el instalador.

    Pero instalar MySql es mucho más complicado. Si fuera SQL Server, el propio instalador Click-Once ya tiene una opción que puedes marcar para decirle que como pre-requisito necesitas SQL Server Express, y entonces lo descarga y lo instala automáticamente. Pero no tiene ninguna opción similar para MySql. Así que vas a necesitar un instalador más sofisticado. Podrías generar un instalador .msi usando tu herramienta favorita, tal como InstallShield o WiX o un proyecto de instalación de Visual Studio (después de descargar e instalar el módulo correspondiente, ya que en los Visual Studio modernos este tipo de proyecto no está disponible de forma predeterminada). Entonces, en el instalador, añades una acción de instalación (que puede estar escrita en una dll en C#) que por dentro ejecute todos los pasos que necesites para instalar MySql.

    • Marcado como respuesta Rodriguez Angel viernes, 26 de febrero de 2021 18:38
    jueves, 25 de febrero de 2021 7:53
    Moderador
  • Hola Ángel,

    ¿Alguna novedad sobre la consulta realizada?

    Gracias por usar los foros de MSDN.

    Eric Ruiz

    ____________________________

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.

    Si tiene algún cumplido o reclamo sobre el soporte de MSDN siéntase en la libertad de contactar MSDNFSF@microsoft.com.

    jueves, 25 de febrero de 2021 15:12
    Moderador
  • Gracias Alberto fue de gran ayuda tu respuesta, he entendido lo que me acabas de explicar, pero te pregunto, el SQL Server Express es completamente gratis o es un trial, y puedo usarlo para distribuirlo en mi aplicación?
    viernes, 26 de febrero de 2021 18:38
  • el SQL Server Express es completamente gratis o es un trial, y puedo usarlo para distribuirlo en mi aplicación?

    La edición Express es completamente gratuita, no es un trial. Puedes usarlo con tu aplicación, pero no puedes incluir con la misma los ficheros de instalación (salvo autorización previa de Microsoft por escrito), sino que tienes que hacer que tu instalador se conecte al servidor de Microsoft y descargue desde ahí lo necesario para instalar SQL Server en el ordenador del usuario. Si usas Click-Once, esto lo hace automáticamente solo con marcarle el checkbox correspondiente.

    Esta edición es gratis porque tiene algunas limitaciones. Una es que no soporta más de 10 Gigabytes de tamaño de cada base de datos. También tiene límites en cuanto a la cantidad máxima de memoria y número de CPUs que es capaz de usar (no es que no puedas tener más, simplemente es que no las aprovecha).

    viernes, 26 de febrero de 2021 19:53
    Moderador