13

ClickOnce アプリケーションの実行サイクルで DFSVC.EXE が正確にどのような役割を果たしているのかについて、詳しく説明するか、情報を教えてもらえますか? 次の方法で ClickOnce アプリケーションを起動した場合:

rundll32.exe dfshim.dll,ShOpenVerbApplication http://www.domain.com/application/?param1=foo

DFSVC.EXE プロセスが開始されていることがわかります。その後、ClickOnce アプリケーションの実際の EXE プロセスが (ProcessExplorer で親プロセスとしてリストされている DFSVC.EXE によって) 呼び出されていることがわかります。この時点で、次の方法で DFSVC.EXE を強制終了できます。

rundll32.exe dfshim.dll,KillService

ClickOnce アプリケーションは引き続き実行されます。また、DFSVC.EXE を強制終了しないと、約 15 分後に自然に消えてしまうことにも気付きました。

DFSVC.EXE がアプリケーションのダウンロード、インストール、および起動を担当していると思われますが、これは正しいですか? 呼び出された ClickOnce アプリケーションでこれらのタスクが完了した後、DFSVC.EXE を自動的にシャットダウンするように指示する方法はありますか? (ClickOnce アプリケーションがシャットダウンされた後でも) それが持続している理由は、ClickOnce アプリケーションの次の呼び出しのための最適化ですか?

4

1 に答える 1

6

DFSVC.EXEアプリケーションが既にインストールされていて最新かどうかを確認し (構成されている場合)、必要に応じてアプリケーションをユーザーの AppData の ClickOnce フォルダーにダウンロードし、現在の場所から起動します (更新ごとに変更されます)。また、後でバックグラウンドで行う可能性のあるアプリケーションの以前のバージョンを削除する必要があります。

于 2014-04-06T09:55:05.893 に答える