5

ClickOnce (VS 2012) を介してファイル共有に展開した Windows アプリケーションがあります。オンライン アプリケーションとして構成されます (クライアントにはインストールされません)。ファイル共有をポイントしてファイルをダブルクリックするだけで、クライアント経由でこのアプリケーションを実行できます。私が問題を抱えているのは、これをクライアントでスケジュールされたタスクとして実行することです(クライアントは実際にはサーバー、Windows Server 2008です)。ただし、ClickOnce アプリを呼び出すバッチ ファイルを作成すると、タスク スケジューラはバッチ ファイルを正常に呼び出すことができます。しかし、そのバッチ ファイルを作成する余分な手順に対処する必要はありません。

タスク スケジューラから取得したエラーは次のとおりです。タスク スケジューラは、タスク "\TaskName" のインスタンス "{d5cc956f-c09e-41dc-a04d-a4276f38704e}" でアクション "\pathToClickOnceApp" を起動できませんでした。追加データ: エラー値: 2147942403。

4

2 に答える 2

0

appref-ms ファイルを作成して、タスク スケジューラが開始する場所にローカルに配置するか、ファイル共有に配置できます (これには、「実行」などの追加のアクセス許可が必要になる場合があります)。

次に、タスク スケジューラにこのファイルを起動させます。

于 2014-01-11T10:35:55.977 に答える
0

clickonce アプリを呼び出すことができる Task を作成するサンプル コードを次に示します。

  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);


            }
于 2017-12-06T07:01:46.860 に答える