Applicazione ClickOnceQualcuno ha la sintassi necessaria per eseguire un'applicazione clickonce. ho provato
Eseguire il programma(Èeseguibile ("applicazione clic una volta" ));
Cosa che immaginavo non avrebbe funzionato. Ci sono altre opzioni?
Ri: Applicazione ClickOnceUtilizzando il metodo rundll32, il parametro può essere passato al programma clickonce come di seguito:
RunProgram(
executable( "rundll32.exe" ),
options( {"dfshim.dll,ShOpenVerbShortcut","PathToShortcut.appref-ms|parameter"} ),
readfunction( "text" )
);
Ri: Applicazione ClickOnceIl metodo rundll32 funziona da solo ma non riesco a trovare un modo per passare i parametri a .appref-ms. Alla fine ho risolto il problema utilizzando quanto segue:
RunProgram(
executable( "cmd.exe" ),
options(
{"/c",
"\!"PathToShortcut.appref-ms\!"",
"parameter"}
),
readfunction( "text" )
);Ho aggiunto le virgolette doppie al mio PathToShortcut.appref-ms perché contiene spazi.
Ri: Applicazione ClickOnceL'ho capito dopo aver frugato abbastanza.
web(" clickonce application.appref-ms");
Ri: Applicazione ClickOncePotrebbe essere utile quanto segue, è stato tratto da:
http://www.brad-smith.info/blog/archives/535
Avvio delle applicazioni ClickOnce
A differenza dei normali eseguibili, le applicazioni distribuite utilizzando ClickOnce vengono avviate utilizzando un bootstrapper (che normalmente viene gestito dalla shell). Ciò include le applicazioni scritte in Windows Forms, WPF o Silverlight. I collegamenti alle app ClickOnce hanno l'estensione .appref-ms (anziché .lnk per i collegamenti normali) e questi file non vengono riconosciuti dal comando start (come nell'esempio precedente).
Per fortuna, possono essere eseguiti utilizzando la seguente sintassi:
1 | rundll32.exe dfshim.dll,ShOpenVerbShortcut [path to appref-ms file] |
Dove [percorso del file appref-ms] è il percorso completo del file di collegamento ClickOnce. Il percorso può includere variabili di ambiente come %USERPROFILE% se, ad esempio, si desidera puntare a un collegamento sul desktop dell'utente.
Come funziona?
- Il comando rundll32 esegue una funzione in una DLL Win32 come se fosse un file eseguibile. Potresti volerlo usare quando hai una funzione che viene richiamata prevalentemente dal codice (ma funziona comunque in modo indipendente), se vuoi evitare di creare molti eseguibili quando una singola DLL sarà sufficiente o per offuscare deliberatamente un comando a cui gli utenti non sono destinati iniziare.
- dfshim.dll è responsabile di gran parte delle funzionalità di ClickOnce; contiene funzioni per installare, rimuovere, avviare e aggiornare le applicazioni ed è distribuito come parte di .NET Framework.
- Il nome della funzione che vogliamo è ShOpenVerbShortcut , che è la stessa funzione utilizzata dalla shell di Windows per eseguire i file di collegamento .appref-ms. Passi semplicemente un percorso alla funzione e lei si prenderà cura del resto.