Détecter le serveur du programme ClickOnce?
-
05-07-2019 - |
Question
Je déploie une application ClickOnce. Je dois trouver un moyen de détecter le serveur à partir duquel l'application a été téléchargée et installée. Comme l'application vérifie les mises à jour au lancement, je sais que quelque part, elle connaît le "parent". serveur - puis-je obtenir à cette valeur en quelque sorte?
J'ai besoin de cette valeur car le programme installé doit accéder aux services du serveur sur lequel il a été installé - mais ce serveur peut changer en fonction de l'environnement de déploiement.
La solution
Vous pouvez utiliser
ApplicationDeployment.CurrentDeployment
(spécifiquement, ApplicationDeployment.CurrentDeployment.UpdateLocation
) pour accéder aux propriétés ClickOnce associées à l'instance en cours d'exécution.
Notez que si vous déboguez, ils ne seront pas disponibles - vous pouvez faire une
if (ApplicationDeployment.IsNetworkDeployed)
Pour tester si vous exécutez l'application via le déploiement ClickOnce.
Autres conseils
ApplicationDeployment.CurrentDeployment.ActivationUri