Ergebnis 1 bis 3 von 3

Thema: Verknüpfung erstellen (InnoSetup o. Java)

  1. #1

    Verknüpfung erstellen (InnoSetup o. Java)

    Ich hole erst einmal ein wenig aus, damit ihr versteht worum es geht.

    Also ich habe ein kleines Javaprogramm geschrieben und es Jar File abgespeichert. Da dieses Programm noch externe Datein benötigt, habe ich mir überlegt ein Setup programm zu erstellen.
    Dadurch bin ich auf Inno Setup gestoßen. Es funktioniert nun alles ganz gut, nur dass die Verknüpfungen, die Inno Setup anlegt nicht funktionieren, da es der Verknüpfung nur einen Zielpfad angibt, aber das Feld: Ausführen in leer lässt.

    Weiß jemand wie ich das einstellen kann? Oder weiß jemand wie ich in Java ein kleine Klasse schreibe, mit der ich eine Verknüpfung erzeugen kann?

    PS: Ich suche vorrangig Lösungen für XP (Was sich aber auch durch Verwendung von InnoSetup schließen lässt), aber ich bin auch für plattform unabhängige Lösungen offen

    Vielen Dank schonmal im Vorraus

  2. #2
    Leider sind Verknüpfungen eine sehr Microsoft-spezifische Sache (zumindest in der Form, in der sie in XP sind – was ich nach kurzer Recherche gelesen habe, gibt's ab Vista echte Symbolic Links), die daher in Java afaik nicht wirklich unterstützt ist. Wenn du einen Command-Line-Befehl findest, mit dem du eine Verknüpfung erstellen kannst, könntest du den dann mit
    Code (Java):
    Runtime.getRuntime().exec(command);

    ausführen. (Natürlich, nachdem du geprüft hast, dass du auch wirklich unter Windows bist, und nachdem du die Argumente escapet hast, falls sie User-Input in irgendeiner Form enthalten.)
    Allerdings habe ich bei einer kurzen Suche keinen solchen Befehl gefunden. :-/

    Hier zwei relevante Frage-Threads, die ich gefunden habe:
    Creating shortcuts from Java code
    Creating shortcuts from the command line

    Falls alles andere nicht hilft, könntest du noch immer anschauen, wie das Binär-Format von Verknüpfungen ausschaut, und die notfalls auf diese Weise selber erstellen. So kompliziert wird das Format ja wahrscheinlich nicht sein. Weiß aber nicht, ob dir das die Mühe wert ist.

  3. #3
    Sorry, das ich mich so spät melde, hatte Inet Probleme.

    Also mir ist es nun gelungen in Java einen VBS Script zu schreiben, der sich auch manuel ausführen lässt. Dieser Script schreibt nun meine Verknüpfung. Nun soll Java diesen Script aufrufen.
    Ich bin da auch wie du vorgegangen:

    Code:
    Runtime.getRuntime().exec("Pfad zur Datei");
    allerdings funktiniert das nicht. Liegt es daran, das die Datei kein exe ist? Wenn ja lässt sich die VBS anders aufrufen?


    /Edit:

    Ich habe die Lösung bereit gefunden:


    Code:
    Runtime.getRuntime().exec ("rundll32 url.dll,FileProtocolHandler  Pfad zur Datei");

    Vielen Dank das du/ihr mir helfen wolltest.

    (PS: Andere Beiträge von dir waren mir bereits auch schon nützlich Vielen Dank dafür)

    Geändert von Herb (11.05.2011 um 21:28 Uhr)

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •