Autostart unter Windows für Java Aplikation

  • Themenstarter Themenstarter mongole
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
M

mongole

Gast
Hallo!

Ich habe ein kleines Tool geschrieben, das ich gerne bei Anmeldung am System starten möchte. Das ganze soll auch funktionieren, wenn ich das Tool mit einem selber generierten Installer (mit IzPack erzeugt) auf einem Rechner installiere.

Dabei hab ich das Problem, dass ich nicht von vornherein weiß, wo das Programm installiert wird, da sich das bei unterschiedlichen Sprachversionen von Windows ja ändert (c:\Programme vs. C:\Program Files).

Unter Windows gibt es folgende Varianten die ich probiert hab:

Autostart/Startup Folder im Start Menü: Klappt wenn man es händisch einen Link/Shortcut erzeugt und ihn dort hinkopiert. Funktioniert für mich nicht, da ich vor der Installation nicht weiß, wo das Program installiert wird und so keinen Shortcut im vornhinein erstellen kann. Wie ich automatisch (nicht über's kontext menü) einen shortcut erzeuge hab ich noch nicht rausgefunden. Zumindest nicht, ohne tools die etwas kosten. Für einen Tipp wie ich dynamisch Shortcuts erzeugen kann, bin ich sehr dankbar!

Registry: unter dem Registry Key HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run kann man Programme angeben, die gestartet werden können. Wenn ich dort direkt das ausführbare .jar file angebe, passiert nichts. Auch wenn ich java -jar c:\path\executable.jar angebe passiert auch nichts. Ich weiß auch nicht, in welcher logdatei ich nachsehen könnte, was schief gelaufen ist. Einzig geklappt hat der Aufruf einer Batch datei c:\path\callTheJar.bat. Die Variante hat den Schönheitsfehler, dass eine DosBox geöfnet wird, die man nicht schließen kann, ohne das Program zu beenden.

Weiß jemand eine Lösung für eine der beiden Varianten? Welche Variante ist in Hinblick auf Windows Vista kompatibilität empfehlenswerter (hab noch keine Erfahrung damit)?

Danke schon mal im voraus für Tipps!

ciao euer mongole 🙂
 
Hab ich da was falsch verstanden?

Web start ist doch eher ein Ersatz für Java Aplets und kein Autostart für Desktop Aplikationen, oder?
 
Nein, ist kein Ersatz für Applets, sondern ein Deployment Mechanismus für Desktop Applikationen. Automatisches Update, Verknüpfungen auf dem Desktop,...
Hatte dich aber falsch verstanden, es geht dir ja nicht um Startmenü Einträge oder ähnliches, sondern um Autostart.
 
OK. Danke für den Tipp! Startmenüeinträge sind natürlich auch fein. Werd ich mir bei gelegenheit mal genauer anschaun. Wenn Autostart noch unterstützt wird, dann wär's sowieso genial 🙂
 
Hallo!

Ich bin dem ganzen einen Schritt näher gekommen. 🙂 ich habe nun gesehen, dass er bei dem Start über den Registry Key HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run eine Dos Box anzeigt mit Fehlermeldung. Als ich den den gleichen Befehl in einer Dos Box ausgeführt hab, habe ich erkannt, dass der Aufruf mit java -jar c:\path\executable.jar nicht ausreicht, da die realtiven Pfadangeben natürlich in's leere laufen, wenn man vorher nicht in des richtige Verzeichnis wechselt.
Also hab ich cd "c:\path" & java -jar executable.jar versucht. Und siehe da, in der Dos Box funktioniert's wunderbar. Nur, wenn ich den gleichen Befehl unter dem Registry Key ablege, passiert gar nichts 🙁 Ich hab dann versucht die Ausgabe mit 1> c:\tool.log 2>&1 in eine Datei umzuleiten. Funktioniert in der Dos Box wunderbar nur unter dem Registry Key passiert wieder gar nix. Woran kann das liegen?

Danke für eure Hilfe!

lg,
Andreas
 
Das ist keine Dos Box, sondern der Kommandozeileninterpreter deines Betriebssystems. Mit Dos hat das sowas von nichts zu tun :autsch:
Du solltest deine Implementierung so ändern, das sie sich nicht auf relative Pfade verlässt. Wofür genau brauchst du einen relativen Pfad?
 
Das das kein Dos mehr ist, ist mir schon klar. Nur die Befehle sind immer noch gleich besch"§$en wie zu Dos zeiten ;-) Ich geb's ja zu, eine bash oder ksh ist mir halt um welten lieber. vor allem mit einem haufen gscheiter gnu tools 🙂
So hat halt jeder seine Vorlieben...

Wenn ich die Pfade nicht relativ mache, dann muss die Aplikation wissen, wo sie installiert ist. Aber die Pfade sind ja nicht das eigentliche Problem. Durch sie, merk ich ja nur, dass das Program gestartet wird (weil ich die fehlermeldung bekomme). Wenn alles passt, dann bekomme ich einfach keinen output und die Aplikation startet nicht.

Das macht mir mehr Bauchweh!

Hast die vieleicht einen Idee dazu? Aja, auf jeden Fall danke für deine Bemühungen!

lg,
mongole
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben