2013-02-14 2 views
0

У меня есть много программ в моей системе с помощью установки Clickonce. Некоторые из программ должны запускать другие программы. Есть ли процесс, в котором я могу определить, установлено ли приложение и запустить его, а еще запустить установку из местоположения Clickonce?Может ли приложение запустить другое приложение, установленное с помощью Clickonce?

Например, Пользователь 1 уже установил Программу-А, Программу-В и Программу-С. Опция в Program-A требует, чтобы я запускал Program-B, другой вариант требует, чтобы я запускал Program-F. Программа-B установлена, а программа-F еще не установлена.

Я всегда могу запустить установку Clickonce, но если программа уже установлена, как ее найти и запустить?

Одна вещь, которую я попробовал, что, казалось, работал для меня было всегда запустить этот

http://MyServer/ClickOnce/Program-F/Program-F.application 

Но мои пользователи говорят, что это не работает для них.

+0

Будет ли обсуждение найдено по адресу http://stackoverflow.com/questions/908850/get-installed-applications-in-a-system поможет решить вашу проблему? – Spelya

ответ

0

Как вы начинаете эту ссылку? Он должен работать, если это ссылка на установку для оригинального приложения. Вы запускаете его с помощью IE или какого-либо другого браузера, который, как вы знаете, установлен?

process.start("ie.exe", "http://yourserver/yourapp/themanifest.application"); 

Если вы запускаете из манифеста развертывания (файл .Application) и приложение уже установлено, это будет просто запустить его. Если он не установлен, он установит его.

0
var sb = new StringBuilder(); 
sb.Append(Environment.GetFolderPath(Environment.SpecialFolder.Programs)); 
sb.Append("\\"); 
sb.Append("Your Company"); 
sb.Append("\\"); 
sb.Append("YourApp.appref-ms"); 
var shortcutPath = sb.ToString(); 
Process.Start(shortcutPath); 
+1

не могли бы вы объяснить, что это делает? – SilentMonk

+0

Ваша компания = Издатель в ClickOnce YourApp = Название ярлыка в ClickOnce (например: Program-B) – Alexeins

Смежные вопросы