Announcement

Collapse
No announcement yet.

ClickOnce-Anwendung aus anderem Programm heraus starten?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ClickOnce-Anwendung aus anderem Programm heraus starten?

    Hallo,

    ich habe eine per ClickOnce verteilte Anwendung. Das dumme ist, diese Anwendung soll aus einer anderen Anwendung gestartet werden können. Ist das möglich? Die CO-Anwendung ist ja unter User\Lokale Einstellungen\Apps gespeichert, aber dort liegen mehrere Versionen (vermutl. je nach Update-Vorgängen). Wie kann ich rauskriegen, welches die letzte, aktuelle Version ist? Im Startmenu ist ja auch eine Verknüpfung auf die CO-Anwendung, kann ich diese Verknüpfung irgendwie benutzen oder müsste ich per Code durch die Verzeichnisse streifen und Erstellungszeiten vergleichen? Und absolut perfekt wäre es, wenn man auch noch Parameter übergeben könnte.
    Ich staune, dass das nicht so einfach geht.
    Vielleicht noch was, wißt Ihr, ob man einer ClickOnce-Veröffentlichung auch mitgeben kann, dass eine Verknüpfung nicht nur im Startmenü, sondern auch auf dem Desktop hinterlegt werden soll. Habe ich auch nichts gefunden.
    Ich danke Euch für Eure Tipps ...

    Dave

  • #2
    Hallo,

    da das Installationsverzeichnis bei einer ClickOnce-Installation nicht definiert werden kann, gibt es nur im Verzeichnis des Startmenüs von Windows einen bekannten Einsprungpunkt:

    Code:
    Process.Start("C:\Dokumente und Einstellungen\Benutzername\Startmenü\Programme\X\Y.appref-ms");
    Bei diesem Aufruf wird garantiert immer die aktuellste Programmversion aufgerufen.

    Ich staune, dass das nicht so einfach geht.
    Der Sinn von ClickOnce liegt ja gerade darin, dass eine neue Installation den Rechner niemals beschädigen kann. Daher sind alle Zugriffe auf "gefährliche" Teile (wie zum Beispiel der Desktop) im .NET Framework 2.x nicht vorbereitet (über den Windows Scripting Host kann das ClickOnce-Programm jedoch direkt die CreateShortcut-Methode des Shell-Objekts aufrufen, um die Verknüpfung eigener Regie abzulegen). Das Startmenü ist die einzige gemeinsam genutzte Stelle, dort kontrolliert ClickOnce die Namensvergabe, so dass es auch dort niemals zu Kollisionen kommen kann.

    ...wenn man auch noch Parameter übergeben könnte.
    Wenn beide ClickOnce-Programm im Online-Modus direkt über die URL aufgerufen werden, kann man dort Parameter übergeben, wenn die Option Allow URL parameters to be passed to application aktiveriert wird. Und im Online-Modus ist über die URL auch der Aufrufpfad der Anwendung immer bekannt, so dass beide Probleme auf einmal gelöst werden.
    Zuletzt editiert von Andreas Kosch; 18.11.2007, 12:38.

    Comment


    • #3
      Hallo, ich habe ein ähnliches Problem wie der TE, nur dass ich die APPREF-MS aus einer anderen Applikation heraus aufrufen möchte. Da die Fremdapp nicht "weiß" wie APPREF-MS Dateien zu öffnen sind müsste ich etwas "mitgeben".

      Kann mir hier jemand helfen?

      Comment

      Working...
      X