2009-10-05 3 views
3

Je souhaite déterminer par programme l'emplacement de publication (l'emplacement sur le serveur contenant l'installation) de l'application cliquable que j'utilise. Je sais que le fichier appref-ms contient cette information et je pourrais analyser ce fichier pour le trouver mais l'application n'a aucune idée de l'emplacement du fichier appref-ms et je n'arrive pas à trouver un moyen de déterminer cet emplacement .Emplacement d'installation Click-Once à partir de l'application

Est-ce que quelqu'un a des idées sur comment je peux facilement déterminer l'emplacement de publication à partir de mon application?

Répondre

5

Il ya un tas de propriétés sur System.Deployment.Application.ApplicationDeployment.CurrentDeployment qui devrait répondre à votre question.

Vous voulez probablement regarder .ActivationURI, ou .UpdateLocation pour le chemin que vous voulez.

(Il est probablement utile de vérifier que ApplicationDeployment.IsNetworkDeployed est vrai premier sinon vous aurez une exception.)

+0

Vous bercez! Merci. – rein

+0

Haha. Aucun problème. –

+0

Je pense que vous trouverez que, sauf si votre application est en ligne seulement, ou que l'utilisateur clique toujours sur un lien vers le manifeste de déploiement et l'exécute en invoquant IE pour le déclencher, l'URL d'activation sera vide. Ça a été mon expérience. Pas sûr de UpdateLocation, sera intéressé de voir si cela fonctionne. – RobinDotNet

0

Si votre application est hors ligne/en ligne, vous pouvez trouver le fichier appRef-ms en recherchant sur le départ menu.

shortcutName = String.concat (Environment.GetFolderPath (Environment.SpecialFolder.Programs), "\", PUBLISHER_NAME, "\", product_name, ".appref-ms");

où nom_éditeur et nom_produit sont les entrées de la boîte de dialogue Options de la page de propriétés Publier. Sinon, vous devriez être capable de le trouver sur le bureau.

RobinDotNet

Questions connexes