visual studio instalador datos crear conexion conector conectar con clase c# .net mysql installation

c# - studio - Instalación de MYSQL con una aplicación.NET winforms



crear instalador visual studio 2015 con base de datos (6)

Eche un vistazo al uso del paquete de Visual Studio y la herramienta de implementación. Debería ingresar automáticamente las dependencias de MySQL si se conecta de forma nativa (componentes MySQL .NET) en lugar de una conexión ODBC. En cualquier caso, le permite agregar otro software a un programa de instalación que se puede desempaquetar automáticamente si lo necesita. Lo he usado para implementar aplicaciones de C # usando las bibliotecas de MySQL que descargas del sitio web de MySQL y para las bibliotecas de terceros de MySQL de CoreLab.

Tengo una aplicación C # que utiliza MYSQL. Estoy en un punto de lanzamiento beta y necesito un paquete de instalación que incluye mi aplicación, junto con MYSQL. Básicamente, necesito instalar MYSQL y realizar una restauración desde mi paquete de instalación de .NET.

Cualquier ayuda sería muy apreciada.


Si está utilizando o puede utilizar NSIS, debería leer esto: Instalación silenciosa de MySQL

Con respecto a la restauración, es posible que pueda hacer una secuencia de comandos utilizando una de las utilidades incluidas de MySQL o modificar parte de esta antigua secuencia de comandos de NSIS.

¡Buena suerte!


@Orion Edwards

Muchas gracias por los pasos. Estaba teniendo la MISMA duda. De hecho, acabamos de desactivar SQLite porque nuestra aplicación independiente necesitaba algunos procedimientos y restricciones de claves externas. Pero ahora siento que SQLite siempre es una mejor opción para la aplicación de escritorio independiente si se implementa en máquinas cliente.

Por ahora, tengo que apegarme a MySQL. Así que estoy usando diferentes tipos de scripts y mecanismos para manejar diferentes situaciones posibles. P.ej:

  • Si la máquina cliente no tiene preinstalado mysql, hay una secuencia de comandos que instala completamente el servidor y crea la base de datos, los usuarios necesarios para mi aplicación.
  • Si mysql está preinstalado en el equipo del cliente, le pido al usuario el nombre de usuario y la contraseña raíz de mysql y la configuración de la base de datos y los usuarios desde la aplicación.
  • Y en tercer lugar, si por alguna razón la máquina cliente tenía el servidor mysql anteriormente y luego se desinstaló, ya que mysql sigue la contraseña de root previa incluso después de la desinstalación, ejecuto .msi del servidor mysql, restablezco la contraseña (realizo manualmente algunos pasos), y finalmente crea una instancia de base de datos, todo dentro de una secuencia de comandos (por supuesto, estos pasos deben ser llevados a cabo por EE. UU., no por el usuario, ya que este es un caso muy raro).

¿Está bien este enfoque? ¿O hay una manera mejor y más adecuada de hacer esto?

¡En el futuro, creo que me quedaré con SQLite ! :-pag


Paso 1: lo estás haciendo mal

Está intentando instalar el servidor mysql. Esta debería ser tu primera pista de que algo está mal. La mayoría de las aplicaciones de servidor están diseñadas para instalarse en servidores, no en clientes. El punto notable en esto es que a las aplicaciones de servidor les gusta suponer que ''poseen'' el servidor. Este es un gran no-no para aplicaciones de clientes.

Paso 2: tome una decisión, ahora que estamos debidamente informados

Ahora que hemos establecido que lo estamos haciendo mal, debemos elegir qué hacer. Tenemos 2 opciones:

  1. Cambie de MySQL a una base de datos ''cliente'' como SQLite o SQL Server Compact Edition.
  2. Hack alrededor de los problemas de la instalación de la aplicación de servidor.

Yo personalmente recomendaría cambiar a SQLite (o similar) tan pronto como sea posible. Es lo "correcto" que debe hacer, y no tendrá que mantener los piratas informáticos en los próximos años.

Paso 3: querrá hackear MySQL de todos modos porque probablemente parezca más fácil.

Usted ha sido advertido. Estas son algunas de las cosas que deberá tener en cuenta y mitigar:

  1. MySQL desea instalar en los archivos de programa / mysql. Si el usuario ya tiene instalado MySQL. Vas a romper todo
    • Necesitarás decirle a tu versión de MySQL que se instale en una carpeta personalizada. Lo recomendaría como una subcarpeta de tu aplicación
  2. MySQL quiere funcionar como un servicio (y el servicio probablemente se llamará ''mysql''). De nuevo, si el usuario ya tiene mysql, romperá todo.
    • Deberá ejecutar su servicio con un nombre diferente
  3. El servidor MySQL probablemente quiera escribir archivos en Archivos de programa / etc.
    • Deberá cambiar su configuración para que escriba en% APPDATA% y así sucesivamente
  4. MySQL asumirá que siempre lo está ejecutando el mismo usuario. Si tiene 2 usuarios en la máquina que desean usar su programa, tendrá que hackearlo de manera correspondiente, ejecutando MySQL como una cuenta de servicio local (fallas de seguridad ahoy) o instalando un mysql independiente para cada usuario.

Así que con todo esto en mente, diría que su mejor opción es configurar un mysql xcopyable


Esta pregunta es muy similar a otra pregunta . Sin embargo, las respuestas realmente no ayudan.

Puede ejecutar ejecutables a partir de una acción personalizada en el proyecto de despliegue .Net , eso es lo que recomendaría. (Consulte el encabezado "Llamar a un ejecutable como una acción personalizada")

Afortunadamente, todo se puede solucionar mediante la línea de comandos. Si no, pruebe un instalador con guiones como Wise o InstallShield, creo que tienen mejor soporte para cosas como esta.

¡Espero que ayude!


He publicado la respuesta en otra pregunta

Tomamos un enfoque diferente en esto. Hacemos que MySQL sea capaz de copiar, al escribir un contenedor para generar el archivo de configuración antes de llamar a MySQL (para configurar correctamente la ruta base, etc.). Luego tenemos otro servicio instalado usando la configuración estándar. Este servicio se encargará de iniciar MySQL y otro programa de fondo requerido (en nuestro caso Apache) para nosotros. Dado que nosotros implementamos MySQL, queríamos tener un control total sobre él.

Entonces, con este método, simplemente podría incluir el paquete MySQL junto con su instalación, y solo le preocupa instalar su propio servicio.