ApplicationDeployment.DownloadFileGroupAsync Method (String, Object)
Downloads, on demand, a set of optional files in the background, and passes a piece of application state to the event callbacks.
Assembly: System.Deployment (in System.Deployment.dll)
[PermissionSetAttribute(SecurityAction.Assert, Name = "FullTrust")] public void DownloadFileGroupAsync( string groupName, object userState )
In a ClickOnce application, the files marked "optional" in the application manifest are not downloaded during initialization or update. You can use the DownloadFileGroupAsync method to download all of the files belonging to a named group on demand, so that they do not consume network resources and disk space until you are sure the user requires them. This approach works not only for static files, but also for assemblies that an application may or may not require. For example, certain users may need to use a data analysis package included in your application on a daily basis, while other users may never invoke it. To download assemblies on demand, attach an event listener to the AssemblyResolve event on the CurrentDomain.
You can download multiple file groups simultaneously by using the Group property of the DeploymentProgressChangedEventArgs class, which is passed to the DownloadFileGroupProgressChanged event. If you need to pass a more complex state, you can usemethod. You can distinguish among them by using the
to pass in a state object.
All static files are downloaded to the ClickOnce application's data directory and are therefore isolated to the current version of the application. For more information about accessing static files, see Accessing Local and Remote Data in ClickOnce Applications. . Let's say that after an application downloads a file group, the user installs a new version of the application, but later user reverts to the previous version of the application. In this case, the previous version will still have the copies of the files it originally downloaded.
DownloadFileGroup works in partially trusted applications, that is, in any ClickOnce application running with restricted permission. However, if you are attempting to load assemblies dynamically, your application will require full trust.
On-demand downloading of data files is currently not supported.
To cancel an asynchronous download, call the DownloadFileGroupAsyncCancel method.
Available since 2.0
Walkthrough: Downloading Satellite Assemblies on Demand with the ClickOnce Deployment API
ClickOnce Application Manifest
Accessing Local and Remote Data in ClickOnce Applications
How to: Include a Data File in a ClickOnce Application
ClickOnce Cache Overview