Etapa 1:você está fazendo errado
Você está tentando instalar o servidor mysql . Esta deve ser sua primeira pista de que algo está errado. A maioria dos aplicativos de servidor é projetada para ser instalada em servidores, não em clientes. O ponto notável nisso é que os aplicativos de servidor gostam de assumir que são 'donos' do servidor. Este é um grande não-não para aplicativos clientes.
Etapa 2:tome uma decisão, agora que estamos devidamente informados
Agora que estabelecemos que estamos fazendo errado, precisamos escolher o que fazer. Temos 2 opções:
- Mude do MySQL para um banco de dados 'cliente', como SQLite ou SQL Server Compact Edition.
- Contorne os problemas de instalação do aplicativo do servidor.
Eu pessoalmente recomendaria mudar para SQLite (ou similar) o mais rápido possível. É a "coisa certa" a fazer, e você não terá que manter hacks nos próximos anos.
Etapa 3:você vai querer hackear o MySQL de qualquer maneira porque provavelmente parece mais fácil.
Você foi avisado. Aqui estão algumas das coisas que você precisa estar ciente e mitigar:
- O MySQL deseja instalar em arquivos de programa\mysql. Se o usuário já tiver o MySQL instalado. Você vai quebrar tudo
- Você precisará informar sua versão do MySQL para instalar em uma pasta personalizada. Eu o recomendaria como uma subpasta do seu aplicativo
- O MySQL quer ser executado como um serviço (e o serviço provavelmente será chamado de 'mysql'). Novamente, se o usuário já tiver mysql, você quebrará tudo.
- Você precisará executar seu serviço com um nome diferente
- O servidor MySQL provavelmente desejará gravar arquivos em Arquivos de Programas\etc.
- Você precisará alterar sua configuração para gravar em %APPDATA% e assim por diante
- O MySQL assumirá que está sempre sendo executado pelo mesmo usuário. Se você tiver 2 usuários na máquina que desejam usar seu programa, você precisará hackear de acordo, executando o MySQL como uma conta de serviço local (falhas de segurança ahoy), ou instalando um mysql separado para cada usuário. l>
Então, com tudo isso em mente, eu diria que sua melhor aposta é configurar um mysql xcopyable