sql >> Base de Datos >  >> RDS >> Mysql

Instalación de MYSQL con una aplicación .NET winforms

Paso 1:Lo estás haciendo mal

Está intentando instalar el servidor mysql . Esta debería ser su primera pista de que algo anda 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 asumir que son 'propietarias' del servidor. Este es un gran no-no para las aplicaciones de los clientes.

Paso 2:Toma 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 de 'cliente' como SQLite o SQL Server Compact Edition.
  2. Solucione los problemas de instalación de la aplicación del servidor.

Personalmente, recomendaría cambiar a SQLite (o similar) lo antes posible. Es lo "correcto" que hay que hacer, y no tendrás que mantener hacks durante los próximos años.

Paso 3:querrás 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 quiere instalarse en archivos de programa\mysql. Si el usuario ya tiene MySQL instalado. Vas a romper todo
    • Tendrá que indicarle a su versión de MySQL que se instale en una carpeta personalizada. Lo recomendaría como una subcarpeta de su aplicación
  2. MySQL quiere ejecutarse como un servicio (y el servicio probablemente se llamará 'mysql'). Nuevamente, si el usuario ya tiene mysql, romperá todo.
    • Tendrá que ejecutar su servicio con un nombre diferente
  3. El servidor MySQL probablemente querrá escribir archivos en Archivos de programa\etc.
    • Tendrá que cambiar su configuración para que escriba en %APPDATA% y así sucesivamente
  4. MySQL supondrá que siempre lo ejecuta el mismo usuario. Si tiene 2 usuarios en la máquina que desean usar su programa, deberá piratear en consecuencia, ya sea ejecutando MySQL como una cuenta de servicio local (fallas de seguridad ahoy), o instalando un mysql separado para cada usuario.

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