我有一个批处理文件可以反弹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秒后重新启动。
但是,如果我安排任务,它会终止进程,但不会重新启动它。
有人知道发生了什么吗? (该任务正在以我登录的同一个用户身份运行,因为当我双击批处理文件并且一切正常时)
由于
赖安
答案 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 专为:
而设计这意味着与用户进行互动。
您的申请是做什么的?