2010-08-30 13 views
2

J'aimerais pouvoir démarrer une application ClickOnce à partir d'un autre exécutable. Je sais comment faire avec le navigateur en utilisant Process.Start ("http://PathToMyApp"). Cependant, cela renvoie null pour le processus. Par conséquent, je ne peux pas vérifier pour s'assurer que le processus a commencé ou tuer le processus plus tard.Lancement de ClickOnce App à partir de C#

Comment puis-je lancer une application en un seul clic et obtenir son ID de processus et déterminer s'il a été lancé avec succès?

Répondre

3

Vous devez trouver le raccourci pour l'application ClickOnce et lancer un processus. Voici un exemple:

string shortcutName = 
    string.Concat(Environment.GetFolderPath(Environment.SpecialFolder.Programs), 
    "\\", PublisherName, "\\", ProductName, ".appref-ms"); 
process.Start(shortcutName); 

où PublisherName et ProductName sont ceux qui sont remplis dans la boîte de dialogue Options dans l'onglet Publier pour l'application que vous souhaitez démarrer.

Vous pouvez également transmettre des arguments à une application ClickOnce si vous le démarrez de cette manière, même si elle est hors ligne. Here est un article qui dit comment faire cela au cas où vous auriez aussi besoin de cette fonctionnalité.