Hola tengo una clase para hacer un Backup el caso que su ejecución finaliza sin error pero no hace la copia de seguridad. Les pongo el código haber si alguno puede indicarme el error.

Option Explicit On
Option Strict On
Imports System.IO
Imports System.IO.StreamWriter
Imports System.Windows.Forms

Public Class frmSeguridad
Implements IDisposable
Private Shadows disposed As Boolean = False
Private objReg As New GestionaReg.Tablas.EntreTablas
Private miBD As String

Public Sub New()
MyBase.New
InitializeComponent()
Me.SuspendLayout()
Me.StartPosition = FormStartPosition.WindowsDefaultLocation
Me.ClientSize = New System.Drawing.Size(650, 300)
Me.ResumeLayout(False)
AddHandler btnbackup.Click, AddressOf Backup
AddHandler btnSalir.Click, AddressOf Salir
End Sub

Private Sub frmSeguridad_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
End Sub

Private Sub Backup(sender As System.Object, e As System.EventArgs)
Dim pathDump As String
Dim pathMySql As String
Dim carpeta As New FolderBrowserDialog
Dim miFecha As String = Format(Now.Today, "dd/MM/yyyy")
MessageBox.Show("Ahora tiene que buscar la ubicación donde depositara el Backup")
carpeta.ShowDialog()
txtDestino.Text = carpeta.SelectedPath & "\" & "Fincas" & "_" & miFecha & ".sql"
Dim miDestino As String = txtDestino.Text
If MessageBox.Show("¿Es correcto el destino del Backup?", "Backup BD", MessageBoxButtons.YesNo) = MsgBoxResult.Yes Then
pathMySql = CType(My.Computer.Registry.GetValue("HKEY_LOCAL_MA CHINE\SOFTWARE\MariaDB ODBC Driver 64-bit", "Location", 0), String)
If pathMySql = Nothing Then
pathMySql = "C:\Archivos de Programa\Mariadb 10.1\Bin\"
End If
pathDump = pathMySql & "mysqldump "
If CargaClave() = False Then
MessageBox.Show("No se introdujo el nombre de la Base de datos")
Exit Sub
End If
Dim comando As String = " -u root -p " & miBD & " > & miDestino"
pathDump = pathDump & comando
Shell(pathDump, AppWinStyle.MaximizedFocus, True)
If objReg.ExisteFile(txtDestino.Text) = True Then
LabelInfo.Text = ("El Backup se ejecuto correctamente")
Else
LabelInfo.Text = ("Ocurrio un error inesperado en la creación del Backup")
End If
Else
txtDestino.Text = ""
miDestino = Nothing
MessageBox.Show("Intente de nuevo la creación del Backup")
End If
End Sub

Public Function CargaClave() As Boolean
miBD = LCase(InputBox("Introduzca el nombre de la Base Datos para el Backup", "Backup de Base Datos", ""))
If String.IsNullOrEmpty(miBD) Then
Return False
Else
Return True
End If
End Function

Private Sub Salir(sender As System.Object, e As System.EventArgs)
Try
txtDestino.Text = Nothing
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical)
Finally
Dispose()
End Try
End Sub

Public Overloads Sub Dispose() Implements IDisposable.Dispose
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
End Class


Gracias