yo tengo este codigo pero usa la consola,
Código
Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork Dim dgRespuesta As DialogResult Dim RutaMysqlContra, RutaMysql As String dgRespuesta = MsgBox("<¿> ¿Deseas actualizar la base de datos? <?>", MsgBoxStyle.Question + MsgBoxStyle.YesNo) If (dgRespuesta = Windows.Forms.DialogResult.Yes) Then Dim Servidor, Usuario, Bd, Puerto, Pass As String Servidor = Me.txtServidor.Text Usuario = Me.txtUsuario.Text Bd = Me.txtNombreBd.Text Puerto = Me.txtPuerto.Text Pass = Me.txtContraseña.Text Me.BackgroundWorker1.ReportProgress(50) Try If Me.txtContraseña.Text <> "" Then RutaMysqlContra = Application.StartupPath & "\update.bat" 'Shell("""" & RutaMysqlContra & """", AppWinStyle.Hide, True) Microsoft.VisualBasic.Interaction.Shell("cmd.exe /C mysql -h " & Servidor & " -u " & Usuario & " -p" & Pass & " -P " & Puerto & " -e ""source " & fbdCarpetas.SelectedPath & "\update.sql" & """ -vvv " & Bd & " > ""C:\log.txt"" ", AppWinStyle.Hide, True) Else RutaMysql = Application.StartupPath & "\Update2.bat" 'Shell("""" & RutaMysql & """", AppWinStyle.Hide, True) Microsoft.VisualBasic.Interaction.Shell("cmd.exe /C mysql -h " & Servidor & " -u " & Usuario & " -P " & Puerto & " -e ""source " & fbdCarpetas.SelectedPath & "\update.sql" & """ -vvv " & Bd & " > ""C:\log.txt"" ", AppWinStyle.Hide, True) End If Catch ex As Exception MessageBox.Show(ex.Message.ToString()) Finally End Try Me.BackgroundWorker1.ReportProgress(100) Else MsgBox("<¡> El Usuario ha cancelado la actualizacion del programa <!>", MsgBoxStyle.Exclamation) e.Cancel = True End If End Sub
Gracias.