2012-12-26 93 views
4

我有一個通過ClickOnce(VS 2012)部署到文件共享的Windows應用程序。它被配置爲在線應用程序(未安裝在客戶端上)。我只需指向文件共享並雙擊該文件即可通過客戶端運行此應用程序。我遇到的問題是將其作爲客戶端上的計劃任務運行(客戶端實際上是服務器,Windows Server 2008)。但是,如果我創建一個調用ClickOnce應用程序的批處理文件,任務計劃程序可以成功調用批處理文件。但我寧願不必處理創建該批處理文件的額外步驟。從任務計劃程序調用ClickOnce應用程序

我Task Scheduler中得到的錯誤是這樣的: 任務計劃程序無法啓動行動任務的 「\ pathToClickOnceApp」 在實例 「{d5cc956f-c09e-41dc-a04d-a4276f38704e}」 「\ TASKNAME」。其他數據:錯誤值:2147942403.

回答

0

您可以製作一個appref-ms文件,並將其放置在任務調度程序啓動的位置,或放在文件共享上(這可能需要其他權限,如'execute')。

然後讓任務調度程序啓動這個文件。

0

下面是一個示例代碼來創建可以調用一個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); 


      } 
相關問題