Can someone either detail or point me to some information on what role exactly the DFSVC.EXE plays in the execution cycle of a ClickOnce application? If I launch a ClickOnce application via:
rundll32.exe dfshim.dll,ShOpenVerbApplication http://www.domain.com/application/?param1=foo
I see that a DFSVC.EXE process is started. I then see that the actual EXE process of my ClickOnce application is invoked (by DFSVC.EXE, which is listed as the parent process in ProcessExplorer). At this point in time, I can kill the DFSVC.EXE via:
rundll32.exe dfshim.dll,KillService
and my ClickOnce application continues to run. I also noticed that if I do not kill the DFSVC.EXE, it will go away on its own after about 15 minutes.
I suspect that DFSVC.EXE is responsible for downloading, installing and launching the application -- is this correct? Is there any way to tell DFSVC.EXE to shutdown automatically after these tasks are complete for an invoked ClickOnce application? Is the reason it is persisting (even after the ClickOnce application is shut down) an optimization for the next invocation of a ClickOnce application?
What is dfsvc.exe? The genuine dfsvc.exe file is a software component of Microsoft . NET Framework by Microsoft Corporation. "Dfsvc.exe" is the name of Microsoft's ClickOnce Launcher Engine, when it is in "C:\Windows\Microsoft.NET\Framework\v2.
ClickOnce is a deployment technology that enables you to create self-updating Windows-based applications that can be installed and run with minimal user interaction.
DFSVC.EXE
checks if the application is already installed and up to date (if configured so), if required downloads the application to ClickOnce Folder in Users AppData and then launches it from it's current locations (which changes with every update). It also has to delete the previous version of the application which it might possibly do in the background afterwards.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With