public bool setupDriver()
 {
     try
     {
         Process process = Process.Start(Const.DRIVER_PATH_MSI, "/q");
         while (!process.HasExited)
         {
             Display.infosMessage("Installation du pilote Access Database Engine 2010...", true);
             Thread.Sleep(250);
         }
     }
     catch (Exception ex)
     {
         Display.errorMessage("L'installation du pilote Access Database Engine 2010 a échoué (" + ex.Message + ")", true);
         return(false);
     }
     Display.successMessage("Installation du pilote Access Database Engine 2010 est Terminée", true);
     return(true);
 }
        public bool convert(string SourceDb)
        {
            bool   flag = false;
            string path = this.getdestFile(SourceDb);

            try
            {
                if (File.Exists(path))
                {
                    File.Delete(path);
                }
                object[] args = new object[2]
                {
                    (object)SourceDb,
                    (object)path
                };
                Display.infosMessage("Conversion de la base de données en cours...", true);
                object instance = Activator.CreateInstance(Type.GetTypeFromProgID(Const.DRIVER_NAME));
                instance.GetType().InvokeMember(Const.COMPACT_DATABASE, BindingFlags.InvokeMethod, (Binder)null, instance, args);
                Marshal.ReleaseComObject(instance);
                Display.successMessage("La base a été correctement convertie ! ", true);
                Display.foreground(ConsoleColor.White);
                Console.WriteLine("BASE SOURCE : " + Environment.NewLine);
                Console.WriteLine(SourceDb ?? "");
                Display.newLines(1);
                Console.WriteLine("BASE CONVERTIE : " + Environment.NewLine);
                Console.WriteLine(path ?? "");
                Thread.Sleep(5000);
                Environment.Exit(0);
            }
            catch (Exception ex)
            {
                Display.errorMessage("Une erreur s'est produite lors de la conversion : " + ex.Message, true);
            }
            return(flag);
        }