ClickOnce应用程序不是从调度程序启动的

时间:2010-06-24 12:45:01

标签: c# deployment clickonce scheduled-tasks

我有一个批处理文件可以反弹clickOnce应用程序:

@REM The odd PING statements are to create a 5 second wait
@echo off
taskkill /F /IM MyApp.exe
PING 1.1.1.1 -n 1 -w 5000 >NUL
"%USERPROFILE%\Path\To\My\App.appref-ms"

当我双击它时工作正常:该过程被杀死,然后在5秒后重新启动。

但是,如果我安排任务,它会终止进程,但不会重新启动它。

有人知道发生了什么吗? (该任务正在以我登录的同一个用户身份运行,因为当我双击批处理文件并且一切正常时)

由于

赖安

3 个答案:

答案 0 :(得分:3)

我在Windows Server 2012 R2下遇到了同样的问题。我的ClickOnce应用程序将在手动启动时运行,而不是始终从任务计划程序启动时运行。

我发现这是由于dfsvc.exe(ClickOnce服务帮助程序)无法从任务计划程序正确启动。 我的解决方案是将任务指向一个批处理文件,该文件将在启动ClickOnce应用程序之前启动dfsvc.exe:

:: Run ClickOnce service if not already running
tasklist /NH /FI "IMAGENAME eq dfsvc.exe" 2>NUL | find /I "dfsvc.exe">NUL
if errorlevel 1 start "" "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\dfsvc.exe"

\\the\path\to\your.application

答案 1 :(得分:0)

我知道这真的很老了,但我写作是因为找不到答案。

(环境:VS2010,C#控制台应用,在Win 7 64上以更新为目标.net 3.5)

我无法在任务计划程序中运行控制台应用程序。我的应用程序已发布到网络文件共享。任务计划程序无法运行\ AutoSync.application与"%1不是有效的win32应用程序"错误。任务计划程序会说\ setup.exe成功运行,但应用程序确实没有执行任何程序,包括它在关闭之前发送的状态电子邮件。如果我使用UNC路径或字母映射驱动器并不重要,那么什么都行不通。我没有尝试发布到本地机器,这对我来说是不可能的。

手动运行时,应用会完美运行。然后我按照我的开始菜单快捷方式使用的路径 - " C:\ Users \ foo \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ AutoSync \"并选择了那里找到的快捷方式。它填充了实际的exe路径 " C:\用户\ FOO \应用程序数据\本地\应用\ 2.0 \ W9BDW4LH.KM0 \ J6DPJEM9.LT0 \ auto..tion_a217eb88f33937fd_ \ AutoSync.exe&#34 ;.这就是我所需要的一切。

我的程序现在按计划运行,并在完成后通过电子邮件发送给我。但是,我准备在下次更新后重做我的任务操作。

答案 2 :(得分:-2)

ClickOnce 专为:

而设计
  • 桌面应用程序
  • 控制台应用
  • xbap apps
  • 和VSTO加载项。

这意味着与用户进行互动。

您的申请是做什么的?