当前位置: 首页 > 知识库问答 >
问题:

从任务计划程序调用ClickOnce应用程序

郑安晏
2023-03-14

我有一个通过ClickOnce (VS 2012)部署到文件共享的windows应用程序。它被配置为一个在线应用程序(没有安装在客户端)。我可以通过客户机运行这个应用程序,只需指向文件共享并双击该文件。我遇到的问题是在客户端(客户端实际上是一个服务器,Windows Server 2008)上运行这个任务。但是,如果我创建一个调用ClickOnce应用程序的批处理文件,任务计划程序可以成功调用该批处理文件。但是我不想处理创建批处理文件的额外步骤。

我从任务计划程序得到的错误是这样的:任务计划程序未能在任务“\TaskName”的实例“{d5cc956f-c09e-41dc-a04d-a4276f38704e}”中启动操作“\pathToClickOnceApp”。其他数据:错误值:2147942403。

共有2个答案

况野
2023-03-14

下面是创建可调用 clickonce 应用的任务的示例代码

  using (TaskService ts = new TaskService())
            {
                // Create a new task definition and assign properties
                TaskDefinition td = ts.NewTask();
                td.RegistrationInfo.Description = "runs clickonce app every 10 minutes";

                var trigger = new TimeTrigger();
                trigger.Repetition.Interval = TimeSpan.FromMinutes(10);         
                // Create a trigger that will fire the task at this time every other day

                td.Triggers.Add(trigger);

                // Create an action that will launch the clickonce app
                td.Actions.Add(new ExecAction("rundll32.exe", @"dfshim.dll,ShOpenVerbApplication your_clickonce_app_url/clickonce_appname.application", null));

                // Register the task in the root folder
                ts.RootFolder.RegisterTaskDefinition(@"ClickOnce app", td);


            }
尉迟京
2023-03-14

您可以制作一个appref-ms文件并将其放在任务调度程序启动的本地位置,或者将其放在文件共享上(这可能需要额外的权限,例如“执行”)。

然后让任务调度程序启动这个文件。

 类似资料:
  • 我使用任务调度程序运行一个.bat文件,对文件进行压缩和加密,并在夜间将文件备份到外部驱动器。我已经用了很多年了,效果很好。从几个月前开始,任务调度程序中的任务被禁用,我不知道为什么。我可以启用它,它将再次运行,但在同一天或第二天再次禁用。然后我注意到,不仅是这个任务,其他计划任务(我没有写)也在同时被禁用。像谷歌软件更新这样的东西也被禁用了。 我一直在查看任务历史记录,以了解任务何时被禁用,并且

  • 我已经创建了一个控制台应用程序,并尝试在任务计划程序中运行。当我通过单击可执行文件或使用快捷方式运行它时,它工作正常,但当我在任务调度程序中运行它时,我得到“PHLIP231 Prod的应用程序访问路径' C:\WINDOWS\DMBErrors '被拒绝。” 我已经在我的应用程序中搜索了此路径,甚至尝试手动将路径添加到我的计算机,但没有成功。我的应用程序构建了一个excel文件并将其写入相对于可

  • 我有一些可执行文件要安排在Windows任务调度程序中运行。他们的输出必须在某处看到。通过Windows任务计划程序运行应用程序时,程序的输出将丢失。如何捕获此输出?我做了谷歌搜索,找到了破解方法,改为运行cmd并将输出重定向到日志文件,但我无法将这些信息很好地保存在XML文件中,我应该能够在任务调度程序中注册,因此我需要一种更好的方法。 任何帮助都将不胜感激。

  • 我在任务计划程序中计划了一个批处理文件。如果我从CMD手动运行此批处理文件,它将很好地完成所有工作,大约需要20分钟。但是,如果我在任务计划程序中计划它,它在开始运行时立即完成,并显示结果是“成功完成”。(VBS 没有运行...)此批处理文件将调用 2 个 vbs 脚本来运行。我不确定任务计划程序是否有问题,或者只是批处理文件在那里得到错误的代码。 我在日志文件中得到了错误信息 我只从任务调度器得

  • 我在我的Windows 2008 R2机器中安排了一个任务,但它未能触发日志中的以下错误(事件日志)。 错误: 任务计划程序无法启动用户“SAFFRON3\cb_admin”的“\Hyatt_International_Distribution”任务。其他数据:错误值:2147943645。 任务计划程序启动任务引擎""进程失败,原因是"LUAIsUpatedToken"中发生错误。命令="tas

  • 我有两个应用程序服务计划在同一地区、同一资源组和同一订阅中运行。我在应用程序服务计划a中有一个web应用程序,我想将其移动到应用程序服务计划b。单击“更改应用程序服务计划”时,门户会告诉我“未找到应用程序服务计划”。 应用程序服务计划a正在标准上运行:1小。应用程序服务计划b正在标准上运行:2大。将应用程序服务计划a更改为标准:1大,在尝试移动应用程序服务时不会显示应用程序服务计划b。 这里有什么