2010-06-24 35 views
0

開始我有一個批處理文件,會彈一個ClickOnce應用程序:的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

ClickOnce是專爲桌面應用程序,控制檯應用程序, xbap應用程序和VSTO加載項。它意味着與用戶進行交互。你的應用程序做什麼?

0

我知道這真的很舊,但我寫因爲我找不到答案。

(環境:VS2010,C#與更新在Win 7 64針對.NET 3.5的控制檯應用程序)

我不能讓一個控制檯應用程序在任務調度運行。我的應用發佈到網絡文件共享。任務計劃程序無法運行帶有「%1不是有效的win32應用程序」的\ AutoSync.application錯誤。任務計劃程序會說\ setup.exe成功運行,但是沒有任何應用程序似乎已經完成,包括它在關閉之前發送的狀態電子郵件。如果我使用UNC路徑或字母映射驅動器,這並不重要,但沒有任何效果。我沒有嘗試發佈到本地機器,這對我來說是不可能的。

當手動運行時,該應用程序將完美運行。然後我按照我的開始菜單快捷方式使用的路徑 - 「C:\ Users \ foo \ AppData \ Roaming \ Microsoft \ Windows \ Start Menu \ Programs \ AutoSync \」並選擇在那裏找到的快捷方式。它填充了實際的exe路徑 「C:\ Users \ foo \ AppData \ Local \ Apps \ 2.0 \ W9BDW4LH.KM0 \ J6DPJEM9.LT0 \ auto..tion_a217eb88f33937fd_ \ AutoSync.exe」。這就是我所需要的。

我的程序現在按照每日計劃運行並在完成後通過電子郵件發送給我。但是,我準備在下次更新後重新執行我的任務。

2

我在Windows Server 2012 R2下有同樣的問題。我的ClickOnce應用程序在手動啓動時運行,而不是從Task Scheduler啓動時運行。

我發現這是由於dfsvc.exe(ClickOnce服務助手)在Task Scheduler中無法正確啓動。 我的解決方案是將任務指向批處理文件,該文件可在啓動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 
相關問題