Clickonce-AnwendungVerfügt jemand über die Syntax, die zum Ausführen einer Clickonce-Anwendung erforderlich ist? ich habe es versucht
RunProgram(Es istxecutable („Clickonce-Anwendung“ ));
Was ich dachte, würde nicht funktionieren. Gibt es noch andere Möglichkeiten?
Betreff: Clickonce-AnwendungMit der Methode rundll32 kann der Parameter wie folgt an das Clickonce-Programm übergeben werden:
RunProgram(
executable( "rundll32.exe" ),
options( {"dfshim.dll,ShOpenVerbShortcut","PathToShortcut.appref-ms|parameter"} ),
readfunction( "text" )
);
Betreff: Clickonce-AnwendungDie Methode rundll32 funktioniert eigenständig, aber ich finde keine Möglichkeit, Parameter an .appref-ms zu übergeben. Ich habe das Problem schließlich gelöst, indem ich Folgendes verwendet habe:
RunProgram(
executable( "cmd.exe" ),
options(
{"/c",
"\!"PathToShortcut.appref-ms\!"",
"parameter"}
),
readfunction( "text" )
);Ich habe die doppelten Anführungszeichen zu meiner PathToShortcut.appref-ms hinzugefügt, weil sie Leerzeichen enthält.
Betreff: Clickonce-AnwendungIch habe es herausgefunden, nachdem ich lange herumgestöbert hatte.
web(" clickonce application.appref-ms");
Betreff: Clickonce-AnwendungFolgendes könnte von Nutzen sein, es wurde entnommen aus:
http://www.brad-smith.info/blog/archives/535
Starten von ClickOnce-Anwendungen
Im Gegensatz zu normalen ausführbaren Dateien werden mit ClickOnce bereitgestellte Anwendungen mithilfe eines Bootstrappers gestartet (der normalerweise von der Shell verwaltet wird). Dazu gehören Anwendungen, die in Windows Forms, WPF oder Silverlight geschrieben wurden. Verknüpfungen zu ClickOnce-Apps haben die Erweiterung .appref-ms (anstelle von .lnk für normale Verknüpfungen), und diese Dateien werden vom Startbefehl nicht erkannt (wie im vorherigen Beispiel).
Glücklicherweise können sie mit der folgenden Syntax ausgeführt werden:
1 | rundll32.exe dfshim.dll,ShOpenVerbShortcut [path to appref-ms file] |
Dabei ist [Pfad zur appref-ms-Datei] der vollständige Pfad zur ClickOnce-Verknüpfungsdatei. Der Pfad kann Umgebungsvariablen wie %USERPROFILE% enthalten, wenn Sie beispielsweise auf eine Verknüpfung auf dem Desktop des Benutzers verweisen möchten.
Wie funktioniert das?
- Der Befehl rundll32 führt eine Funktion in einer Win32-DLL aus, als wäre es eine ausführbare Datei. Sie können dies verwenden, wenn Sie eine Funktion haben, die hauptsächlich aus dem Code aufgerufen wird (aber dennoch unabhängig arbeitet), wenn Sie vermeiden möchten, viele ausführbare Dateien zu erstellen, wenn eine einzelne DLL ausreicht, oder wenn Sie einen Befehl absichtlich verschleiern möchten, der für Benutzer nicht vorgesehen ist anfangen.
- dfshim.dll ist für einen Großteil der Funktionalität in ClickOnce verantwortlich; Es enthält Funktionen zum Installieren, Entfernen, Starten und Aktualisieren von Anwendungen und wird als Teil des .NET Framework verteilt.
- Der Name der gewünschten Funktion ist ShOpenVerbShortcut . Dabei handelt es sich um dieselbe Funktion, die die Windows-Shell zum Ausführen von .appref-ms-Verknüpfungsdateien verwendet. Sie übergeben einfach einen Pfad an die Funktion und sie erledigt den Rest.