Rileva il server del programma ClickOnce?
-
05-07-2019 - |
Domanda
Sto distribuendo un'applicazione ClickOnce. Devo trovare un modo per rilevare da quale server l'applicazione è stata scaricata e installata - poiché l'applicazione verifica la presenza di aggiornamenti all'avvio, so che da qualche parte conosce il "genitore" server - posso ottenere quel valore in qualche modo?
Ho bisogno di questo valore perché il programma installato deve accedere ai servizi sul server da cui è stato installato, ma quel server può cambiare a seconda dell'ambiente di distribuzione.
Soluzione
Puoi usare
ApplicationDeployment.CurrentDeployment
(in particolare, ApplicationDeployment.CurrentDeployment.UpdateLocation
) per accedere alle proprietà ClickOnce associate all'istanza in esecuzione.
Nota che se esegui il debug, questi non saranno disponibili - puoi fare un
if (ApplicationDeployment.IsNetworkDeployed)
Per verificare se si sta eseguendo l'applicazione tramite la distribuzione ClickOnce.
Altri suggerimenti
ApplicationDeployment.CurrentDeployment.ActivationUri