2017-06-15 56 views
0

我有一个通过ClickOnce部署的Windows窗体应用程序。在应用程序中,我利用应用程序设置来存储基本连接信息。在我发布应用程序并且已经在日常使用中的两年和200多次更新中,我没有遇到个别用户修改自己设置的问题,并且在应用程序重新启动和更新时保留这些设置。从命令行运行时找不到ClickOnce设置

但是,我正在向应用程序中添加一项功能,以允许在任务计划程序中安排某些任务。一切工作正常(任务已安排好,应用程序通过传递正确的参数被调用),但是当程序启动时,设置不会被读取。

我可以通过直接从命令行手动启动应用程序来复制此内容。应用程序将打开,但唯一可用的设置是最初随应用程序一起提供的设置。

我的最终问题是这样的:如何从命令行调用我的ClickOnce应用程序并使其以相同的方式打开,就好像我从开始菜单启动它一样?

谢谢!!

回答

1

看起来问题的答案是指出Task Scheduler启动在开始菜单快捷方式中找到的.appref-ms文件。你不能指向.exe文件。

0

这很可能是由命令行在不同用户下启动ClickOnce应用程序引起的。

尝试从命令行或任务计划程序启动ClickOnce,并加载任务管理器并查看该应用程序正在运行的用户。如果它运行在非登录状态的用户上,那么您可以以运行的用户身份(如果不是系统用户)登录并设置所需的设置,或者尝试模拟期望的用户通过任务调度器。

如果这些都不适用,可以添加一个命令行开关,如果未找到任何设置,则会保存一组符合您需要的默认设置。

+0

感谢这个想法,它真的让我想起它,但没有。当我运行应用程序(通过命令行或通过任务计划程序)时,它显示我是调用它的用户。创建任务时,默认情况下,该任务设置为仅在我的用户名下运行。 –

+0

当您通过命令或任务计划程序运行应用程序时,clickonce应用程序是否在更新时进行更新? – KeithN

+0

简答 - 是的。 –