2011-08-12 61 views
3

我希望能够通过电子邮件链接在用户桌面上启动ClickOnce应用程序。基本上,我会构建一个有效的链接参数,用户将点击Outlook中的电子邮件链接,它会自动启动应用程序并传入我指定的参数。从电子邮件启动ClickOnce应用程序w /参数

我认为我发现了一些可行的方法。

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

这在我看来,启动用户机器上的CL应用程序,并安装它,如果它是不是已经。应用程序启动并返回整个URL,这意味着我将不得不解析它的参数。

这是正确的方法吗?它可靠吗?如果Chrome是默认的浏览器,它似乎不起作用,但只有IE才会从URL链接启动应用程序。有更合适的方法吗?如何注册应用程序处理程序并创建特殊格式的链接,那会更好吗?该应用程序是一个离线CL应用程序 - 但似乎像我上面演示的那样启动。用户可以有多种方式来打开它 - 但电子邮件链接很方便,因为我可以传递一个GUID来指示用户将应用程序打开到某个特定位置。

谢谢!

回答

3

通过HTTP

目前启动,如果URL来部署清单使用Internet Explorer中打开的ClickOnce安装将只推出。仅当将Internet Explorer设置为默认Web浏览器时,从其他应用程序(例如Microsoft Office Outlook)启动URL的部署才会成功启动。

参考:http://msdn.microsoft.com/en-us/library/ms228998.aspx

问题:当你的应用程序正在使用HTTP,而不是使用文件共享或本地文件系统的推出只能在查询字符串传递信息。 (Chrome和Firefox会自动下载。应用文件)

参考:http://msdn.microsoft.com/en-us/library/ms172242.aspx

通过自定义协议启动

仅当安装了应用程序否则您的自定义链接不起作用的作品。

一些解决方法,但不是很可靠:How to check if a custom protocol supported

(也许有因为与位置等的ClickOnce安全设置自定义协议的一些安全问题)

通过其他应用

启动您可以通过另一个应用程序启动带有参数的ClickOnce应用程序。


我会用一个自定义安装,然后简单地使用自定义的参数安装应用程序或安装时使用自定义参数启动您的应用程序。

+0

传递到应用程序的参数将根据用户正在查看的电子邮件而发生变化。基本上,听起来最好的解决方案可能是注册一个自定义处理程序,这将是最可靠的方法(FireFox/Chrome)。 –

相关问题