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

26
我有一个从开始菜单(本地)启动的Clickonce应用程序。 我想能够指定参数,以便应用程序可以加载某些数据。 应用程序位于文件共享上,并且将仅使用URL启动一次(如在MSDN上描述的)。 这意味着此链接中描述的方法将不起作用; 用户将使用开始菜单中的.appref-ms快捷方式启动应用程序。
我没有找到解决方案。 是否可能以某种方式将参数传递到Clickonce应用程序中? 如果是,怎么做? 如果不行,有哪些替代方案?

我有一种感觉,由于你的其他问题,这个问题可能会被关闭,但你想通过应用程序参数解决什么问题? - Austin Salonen
4个回答

18

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

我本来打算逐步说明,但是搜索后发现了这篇博客文章,其中基本上列出了所有的步骤。我以前也曾在某个实例中做过类似的事情,没有遇到任何问题。唯一稍微困难的是,在设置完毕后需要重新制作映像文件。但如果你已经成功部署了它,那么你已经知道如何设置了。

祝好运!


尽管这不完全是我想要的,但我认为我可以让它工作。 - Szymon Rozga
1
每次我使用ClickOnce时都有同样的感觉。它非常容易使用,但前提是你只需要做它擅长的那几件事情。因此,关键在于确保该工具适合您的情况。如果您的部署需求简单,那么ClickOnce是我曾经使用过的最简单的工具之一。 - joshua.ewer
我尝试了那个博客的解决方案,但在Windows资源管理器中,当我右键单击我的“(我的应用程序名称).application”文件,选择“创建快捷方式”,右键单击该快捷方式文件,选择“属性”,更改“目标”为上述格式,选择“应用”(或“确定”),并弹出一个窗口,显示消息:“快捷方式问题:目标框中指定的名称'http://(我的ClickOnce发布文件夹位置)/(我的应用程序名称).application'无效。请确保路径和文件名正确。”。 - Tom

6

3
也许您可以在第一次使用时在URL上传递参数,使应用程序注意到这一点,并将参数写入配置文件、环境变量或其他类似的地方。
在随后的运行中,从配置文件中加载。

0

您可以将参数作为查询字符串传递,并使用HttpUtility.ParseQueryString进行解析,如此MSDN文章所讨论的那样。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接