Запустите приложение ClickOnce из электронной почты с параметрами - PullRequest
3 голосов
/ 12 августа 2011

Я хотел бы иметь возможность запускать приложение ClickOnce на рабочем столе пользователя по ссылке электронной почты. По сути, я бы создал действительную ссылку с параметрами, и пользователь щелкнул бы ссылку на электронную почту в Outlook, и она автоматически запустила бы приложение и передала бы указанный мной параметр.

Я думаю, что нашел что-то, что работает.

http://myapplicaitondomain.com/application/MyApplication.Application?param1=14322&param2=5295

Мне кажется, что я запускаю приложение CL на компьютере пользователя и устанавливаю его, если это еще не сделано. Приложение запускается и возвращает весь URL-адрес в процессе, что означает, что мне придется проанализировать его для параметров.

Это правильный способ сделать это? Это надежно? Он не работает, если Chrome является браузером по умолчанию, но только IE запустит приложение по URL-ссылке. Есть ли более подходящий способ? Как насчет регистрации обработчика приложения и создания специально отформатированной ссылки, это будет лучше? Приложение является автономным приложением CL, но, похоже, запускается так, как я продемонстрировал выше. У пользователей было бы несколько способов открыть его, но ссылка на электронную почту удобна, потому что я могу передать GUID, чтобы указать пользователю, чтобы приложение открывалось в определенном месте.

Спасибо!

1 Ответ

3 голосов
/ 12 августа 2011

Запуск по HTTP

В настоящее время установки ClickOnce будут запускаться, только если URL-адрес для манифеста развертывания открыт с помощью Internet Explorer.Развертывание, URL-адрес которого запускается из другого приложения, такого как Microsoft Office Outlook, будет успешно запущено, только если Internet Explorer установлен в качестве веб-браузера по умолчанию.

Ссылка: http://msdn.microsoft.com/en-us/library/ms228998.aspx

Проблема: Вы можете передавать информацию в строке запроса только тогда, когда ваше приложение запускается с использованием HTTP, а не с помощью общей папки или локальной файловой системы.(Chrome и Firefox загрузят ваш файл приложения.)

Ссылка: http://msdn.microsoft.com/en-us/library/ms172242.aspx

Запуск по пользовательскому протоколу

Работает только тогда, когда ваше приложениеустановлена, иначе ваша пользовательская ссылка не работает.

Некоторые обходные пути, но не очень надежные: Как проверить, поддерживается ли пользовательский протокол

(И, возможно, некоторые проблемы с безопасностью сВаш пользовательский протокол из-за настроек безопасности ClickOnce с Location и т. д.)

Запуск через другое приложение

Вы можете запустить приложение ClickOnce с аргументами через другое приложение.


Я бы использовал пользовательскую настройку, а затем просто установил ваше приложение с пользовательскими аргументами или запустил ваше приложение с пользовательскими аргументами при установке.

...