如何将命令行参数传递给ClickOnce应用程序?

时间:2009-01-09 19:24:38

标签: .net clickonce

我有一个从开始菜单(本地)启动的Clickonce应用程序。我希望能够指定一个参数,以便应用程序可以加载某些数据。该应用程序存在于文件共享上,仅使用URL启动一次(如described here on MSDN)。这意味着此链接中描述的方法不起作用;用户将使用“开始”菜单中的.appref-ms快捷方式启动应用程序。

我一直无法找到解决方案。有可能以某种方式将参数传递给单击一次应用程序吗?如果是这样,怎么样?如果没有,有哪些替代方案?

4 个答案:

答案 0 :(得分:17)

由于您通过Url访问部署清单,因此您可以通过查询字符串传递所有信息(例如http://clickonce.example.com/shell.application?p1=this&p2=that

我打算输入步骤,然后用Google搜索并找到基本列出所有步骤的this blog。我在一个实例中做了类似的事情而没有任何问题。唯一稍微有点困难的是你必须在设置后重新进行修复,但是如果你首先要部署它,你就已经知道了如何进行设置。

祝你好运!

答案 1 :(得分:5)

此处的所有答案仅适用于在线ClickOnce应用程序。 This MSDN Forum postthis blog post讨论了为离线ClickOnce应用程序执行此操作的一些方法。

答案 2 :(得分:2)

也许您可以在第一次传递URL上的参数,并让应用程序注意到这一点,并将参数写入配置文件,或环境变量或其他一些。

在后续运行中,从配置文件加载

答案 3 :(得分:0)

您将参数作为查询字符串传递,并使用HttpUtility.ParseQueryString,如this MSDN article中所述。