从带有参数的电子邮件启动 ClickOnce 应用程序

发布于 2024-11-29 10:26:11 字数 669 浏览 0 评论 0原文

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

我想我已经找到了有用的东西。

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

在我看来,这会在用户计算机上启动 CL 应用程序,并安装它(如果尚未安装)。应用程序启动并返回进程中的整个 URL,这意味着我必须解析它的参数。

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

谢谢你!

I'd like to be able to launch a ClickOnce application on a users desktop via an Email link. Basically, I'd construct a valid link with parameters and the user would click the email link in Outlook and it would automatically launch the application and pass in the parameter I specify.

I think that I've found something that works.

http://myapplicaitondomain.com/application/MyApplication.Application?param1=14322¶m2=5295

This appears to me to launch the CL app on the users machine, and install it if it isn't already. The application starts and returns the entire URL in the process, which means I would have to parse it for the params.

Is this the right way to do this ? Is it reliable ? It does not appear to work if Chrome is the default browser, but only IE will launch the app from the URL link. Is there a more appropriate way ? What about registering an application handler and creating a specially formatted link, would that be better ? The app is an offline CL app -- but seems to launch like I demonstrated above. The users would have more than one way to open it up - but the email link is a convenience because I can pass a GUID to point the user to make the app open to a particular place.

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终弃我 2024-12-06 10:26:11

通过 HTTP 启动

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

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

问题:当您的应用程序使用 HTTP 启动时,您只能在查询字符串中传递信息,而不能使用文件共享或本地文件系统。 (Chrome 和 Firefox 将下载您的 .application 文件)

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

通过自定义协议启动

仅在安装了您的应用程序时才有效,否则您的自定义链接将不起作用。

一些解决方法,但不太可靠:如何检查是否支持自定义协议

(由于带有位置等的 ClickOnce 安全设置,您的自定义协议可能会出现一些安全问题。)

通过另一个应用程序启动

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


我将使用自定义设置,然后只需使用自定义参数安装您的应用程序,或者在安装时使用自定义参数启动您的应用程序。

Launching via HTTP

Currently, ClickOnce installations will launch only if the URL to the deployment manifest is opened using Internet Explorer. A deployment whose URL is launched from another application, such as Microsoft Office Outlook, will launch successfully only if Internet Explorer is set as the default Web browser.

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

Problem: You can only pass information in a query string when your application is being launched using HTTP, instead of using a file share or the local file system. (Chrome and Firefox will download your .application file)

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

Launching via Custom Protocol

Only works when your application is installed else your custom link doesn't work.

Some workarounds but not very reliable: How to check if a custom protocol supported

(And maybe some security problems with your custom protocol because of ClickOnce security settings with Location etc.)

Launching via another Application

You can launch your ClickOnce Application with Arguments via another Application.


I would use a custom setup and then simply install your app with custom arguments or start your app with custom arguments when installed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文