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.

Namespace: System.Deployment.Application
Assembly: System.Deployment (in system.deployment.dll)

public void DownloadFileGroupAsync (
	string groupName,
	Object userState
public void DownloadFileGroupAsync (
	String groupName, 
	Object userState
public function DownloadFileGroupAsync (
	groupName : String, 
	userState : Object
Not applicable.



The named group of files to download. All files marked "optional" in a ClickOnce application require a group name.


An arbitrary object containing state information for the asynchronous operation.

Exception typeCondition


The groupName parameter is null or zero-length.


You cannot initiate more than one download of groupName at a time.

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 DownloadFileGroupAsync method. You can distinguish among them 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 use

DownloadFileGroupAsync 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.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0