Winforms 从命令行运行时未找到ClickOnce设置

Winforms 从命令行运行时未找到ClickOnce设置,winforms,command-line-interface,clickonce,Winforms,Command Line Interface,Clickonce,我有一个通过ClickOnce部署的Windows窗体应用程序。在应用程序中,我利用应用程序设置来存储基本连接信息。自从我发布了这个应用程序并投入日常使用以来,在这两年和200多次更新中,个人用户修改自己的设置,并在重新启动和更新应用程序时保留这些设置,我没有遇到任何问题 但是,我正在为应用程序添加一项功能,允许在任务调度器中安排某些任务。一切工作正常任务已安排,调用应用程序时传递了正确的参数。但是,当程序启动时,不会读取设置 我可以通过直接从命令行手动启动应用程序来复制这一点。应用程序将打开,

我有一个通过ClickOnce部署的Windows窗体应用程序。在应用程序中,我利用应用程序设置来存储基本连接信息。自从我发布了这个应用程序并投入日常使用以来,在这两年和200多次更新中,个人用户修改自己的设置,并在重新启动和更新应用程序时保留这些设置,我没有遇到任何问题

但是,我正在为应用程序添加一项功能,允许在任务调度器中安排某些任务。一切工作正常任务已安排,调用应用程序时传递了正确的参数。但是,当程序启动时,不会读取设置

我可以通过直接从命令行手动启动应用程序来复制这一点。应用程序将打开,但唯一可用的设置是应用程序最初附带的设置

我的最后一个问题是:如何从命令行调用ClickOnce应用程序,并以与从“开始”菜单启动应用程序相同的方式打开它


谢谢

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

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


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

答案似乎是指向任务计划程序启动在“开始”菜单快捷方式中找到的.appref ms文件。你不能只指向.exe文件。

谢谢你的想法,它确实让我想到了它,但不是。当我通过命令行或任务调度器运行应用程序时,它表明我是调用它的用户。创建任务时,默认情况下,任务设置为仅在我的用户名下运行。当通过命令或任务计划程序运行应用程序时,clickonce应用程序是否会在有更新时更新?简短回答-是。长回答-不能直接从任务计划程序调用.appref ms文件并传递参数。我必须让TS调用一个批处理文件,该批处理文件依次调用.appref ms文件和参数。愚蠢,我知道,但它起作用了。通过这种方式,我可以获得与用户从“开始”菜单打开程序时相同的功能。我确实打开了自动更新功能,所以如果有可用的更新,从现在开始,程序将挂起等待用户交互。我必须从ClickOnce中删除自动更新并手动编码。