2017-08-08 1 views
1

Ich versuche, MySql Server-Installer zu starten, der in meinem Ressourcenordner ist, aber es wird nach ein paar Sekunden beendet. Wenn ich es jedoch manuell starte, läuft es bis zum Ende in Ordnung. Unten ist mein Code..msi-Datei, die mit Java gestartet wird, wird nach einigen Sekunden geschlossen.

Thread t = new Thread(new Runnable() { 

      @Override 
      public void run() { 
       // TODO Auto-generated method stub 
       try { 
        ClassLoader classloader = Thread.currentThread().getContextClassLoader(); 
        String fileUrl = classloader.getResource("mysql.msi").getFile(); 
        Runtime rf = Runtime.getRuntime(); 
        Process pf = rf.exec("msiexec /i \"\\" + fileUrl + "\""); 
       } catch (Exception e) { 
        // System.out.println(e.toString()); // not necessary 
        e.printStackTrace(); 
       } 

      } 
     }); 
     t.start(); 
+0

Was meinst du mit MySql Server Installer, sollten Sie den Server einmal installieren und verwenden Sie es bei Bedarf, so dass Sie es starten und stoppen sollten, sollten Sie es nicht jedes Mal installieren. –

+0

Ich habe eine Installer-Datei, die ich automatisch mit Java starten möchte. Egal, ob es sich um MySQL oder eine andere Anwendung handelt. – IsaacK

Antwort

0

Okay, es war nur ein Rat, um Ihren Fall kommen läßt, hat Windows-Betriebssystem bestimmte Reihe von Sicherheitseinschränkungen, die nur Administrator erlaubt jede Anwendung zu installieren oder zu entfernen.

Aus diesem Grund sehen wir ein Prompt-Fenster, das nach einem Administrator-Passwort fragt (oder Admin-Berechtigung als YES/NO-Typ, falls sich der Benutzer als Admin angemeldet hat) und der Promt-Bildschirm ist das Herzstück seiner Sicherheit Erlauben Sie keiner anderen Anwendung, Kontrolle über sie zu haben.

Wenn Sie einen Remote-Desktop über einen Drittanbieter ausführen, wird der Bildschirm des Client-Computers (aus Sicherheitsgründen) nie angezeigt. In Ihrem Fall ist Ihre Java-Anwendung eine Drittanbieter-App, die nicht ausreicht Erlaubnis, die Operation fortzusetzen.

Daher schließt es nach wenigen Sekunden.

Sie können jedoch bereits installierte Dienste starten und stoppen, indem Sie einmal in Ihrer Windows-Dienststeuerung zulassen. Also habe ich vorgeschlagen, nur mit dem Service zu spielen.

+0

Danke @Manoj für den Rat, ich habe den Ansatz geändert. Prost – IsaacK

+0

Kein Problem @IsaacChambers :) –

Verwandte Themen