ArcGIS Pro 3.4 API Reference Guide
ArcGIS.Desktop.Core Namespace / DownloadOptions Class
Members Example

In This Topic
    DownloadOptions Class
    In This Topic
    Gets and sets the application share and download options as displayed on the Pro backstage.
    Syntax
    public class DownloadOptions 
    Public Class DownloadOptions 
    Example
    Get DownloadOptions
    var staging = ApplicationOptions.DownloadOptions.StagingLocation;
    
    var ppkx_loc = ApplicationOptions.DownloadOptions.UnpackPPKXLocation;
    var ask_ppkx_loc = ApplicationOptions.DownloadOptions.AskForUnpackPPKXLocation;
    
    var other_loc = ApplicationOptions.DownloadOptions.UnpackOtherLocation;
    var ask_other_loc = ApplicationOptions.DownloadOptions.AskForUnpackOtherLocation;
    var use_proj_folder = ApplicationOptions.DownloadOptions.UnpackOtherToProjectLocation;
    
    var offline_loc = ApplicationOptions.DownloadOptions.OfflineMapsLocation;
    var ask_offline_loc = ApplicationOptions.DownloadOptions.AskForOfflineMapsLocation;
    var use_proj_folder_offline = ApplicationOptions.DownloadOptions.OfflineMapsToProjectLocation;
    
    Set Staging Location for Sharing and Publishing
    ApplicationOptions.DownloadOptions.StagingLocation = @"D:\data\staging";
    
    Set DownloadOptions for PPKX
    //Options are mutually exclusive.
    
    //Setting ApplicationOptions.DownloadOptions.AskForUnpackPPKXLocation = true
    //supersedes any value in ApplicationOptions.DownloadOptions.UnpackPPKXLocation
    //and will prompt the user on an unpack. The value of 
    //ApplicationOptions.DownloadOptions.UnpackPPKXLocation will be unaffected
    //and is ignored. This is the same behavior as on the Pro UI.
    ApplicationOptions.DownloadOptions.AskForUnpackPPKXLocation = true;//override location
    
    //The default location is typically <My Documents>\ArcGIS\Packages
    //Setting ApplicationOptions.DownloadOptions.UnpackPPKXLocation to any
    //location overrides ApplicationOptions.DownloadOptions.AskForUnpackPPKXLocation
    //and sets it to false. This is the same behavior as on the Pro UI.
    ApplicationOptions.DownloadOptions.UnpackPPKXLocation = @"D:\data\for_ppkx";
    
    //Or, if ApplicationOptions.DownloadOptions.UnpackPPKXLocation already
    //contains a valid path, set ApplicationOptions.DownloadOptions.AskForUnpackPPKXLocation
    //explicitly to false to use the UnpackPPKXLocation
    if (!string.IsNullOrEmpty(ApplicationOptions.DownloadOptions.UnpackPPKXLocation))
      ApplicationOptions.DownloadOptions.AskForUnpackPPKXLocation = false;
    
    Set DownloadOptions for UnpackOther
    //UnpackOther settings control unpacking of anything _other than_
    //a ppkx or aptx. Options are mutually exclusive.
    
    //Set ApplicationOptions.DownloadOptions.UnpackOtherLocation explicitly to
    //toggle ApplicationOptions.DownloadOptions.AskForUnpackOtherLocation and
    //ApplicationOptions.DownloadOptions.UnpackOtherToProjectLocation to false
    //Note: default is typically <My Documents>\ArcGIS\Packages, _not_ null.
    //This is the same behavior as on the Pro UI.
    ApplicationOptions.DownloadOptions.UnpackOtherLocation = @"D:\data\for_other";
    
    //or...to use a location already stored in UnpackOtherLocation as the
    //default without changing it, 
    //set ApplicationOptions.DownloadOptions.AskForUnpackOtherLocation and
    //ApplicationOptions.DownloadOptions.UnpackOtherToProjectLocation to false
    //explicitly. This is the same behavior as on the Pro UI.
    if (!string.IsNullOrEmpty(ApplicationOptions.DownloadOptions.UnpackOtherLocation))
    {
      ApplicationOptions.DownloadOptions.AskForUnpackOtherLocation = false;
      ApplicationOptions.DownloadOptions.UnpackOtherToProjectLocation = false;
    }
    
    //Setting ApplicationOptions.DownloadOptions.AskForUnpackOtherLocation to
    //true overrides any UnpackOtherLocation value and sets 
    //ApplicationOptions.DownloadOptions.UnpackOtherToProjectLocation to false.
    //This is the same behavior as on the Pro UI.
    ApplicationOptions.DownloadOptions.AskForUnpackOtherLocation = true;
    
    //Setting ApplicationOptions.DownloadOptions.UnpackOtherToProjectLocation to
    //true overrides any UnpackOtherLocation value and sets 
    //ApplicationOptions.DownloadOptions.AskForUnpackOtherLocation to false.
    //This is the same behavior as on the Pro UI.
    ApplicationOptions.DownloadOptions.UnpackOtherToProjectLocation = false;
    
    Set DownloadOptions for OfflineMaps
    //OfflineMaps settings control where map content that is taken
    //offline is copied to on the local machine. Options are mutually exclusive.
    
    //Set ApplicationOptions.DownloadOptions.OfflineMapsLocation explicitly to
    //toggle ApplicationOptions.DownloadOptions.AskForOfflineMapsLocation and
    //ApplicationOptions.DownloadOptions.OfflineMapsToProjectLocation to false
    //Note: default is typically <My Documents>\ArcGIS\OfflineMaps, _not_ null.
    //This is the same behavior as on the Pro UI.
    ApplicationOptions.DownloadOptions.OfflineMapsLocation = @"D:\data\for_offline";
    
    //or...to use a location already stored in OfflineMapsLocation as the
    //default without changing it, 
    //set ApplicationOptions.DownloadOptions.AskForOfflineMapsLocation and
    //ApplicationOptions.DownloadOptions.OfflineMapsToProjectLocation to false
    //explicitly.
    if (!string.IsNullOrEmpty(ApplicationOptions.DownloadOptions.OfflineMapsLocation))
    {
      ApplicationOptions.DownloadOptions.AskForOfflineMapsLocation = false;
      ApplicationOptions.DownloadOptions.OfflineMapsToProjectLocation = false;
    }
    
    //Setting ApplicationOptions.DownloadOptions.AskForOfflineMapsLocation to
    //true overrides any OfflineMapsLocation value and sets 
    //ApplicationOptions.DownloadOptions.OfflineMapsToProjectLocation to false.
    //This is the same behavior as on the Pro UI.
    ApplicationOptions.DownloadOptions.AskForOfflineMapsLocation = true;
    
    //Setting ApplicationOptions.DownloadOptions.OfflineMapsToProjectLocation to
    //true overrides any OfflineMapsLocation value and sets 
    //ApplicationOptions.DownloadOptions.AskForOfflineMapsLocation to false.
    //This is the same behavior as on the Pro UI.
    ApplicationOptions.DownloadOptions.OfflineMapsToProjectLocation = true;
    
    Inheritance Hierarchy

    System.Object
       ArcGIS.Desktop.Core.DownloadOptions

    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3 or higher.
    See Also