ArcGIS Pro 3.0 API Reference Guide
ArcGIS.Desktop.Core Namespace / GeneralOptions Class / CustomHomeFolder Property
Example

In This Topic
    CustomHomeFolder Property
    In This Topic
    Gets and sets the path to a custom default home folder location to use with new projects
    Syntax
    public string CustomHomeFolder {get; set;}
    Public Property CustomHomeFolder As String
    Remarks
    Attempting to set CustomHomeFolder to an invalid folder will be ignored.
    Set HomeFolderOption to OptionSetting.UseCustom to use the custom folder location for newly created projects.
    Note: attempting to set HomeFolderOption to UseCustom before CustomHomeFolder contains a valid path will be ignored.
    Conversely, attempting to set the CustomHomeFolder back to null or empty string will also be ignored unless HomeFolderOption is first set to UseDefault.
    Example
    Get GeneralOptions
    var startMode = ApplicationOptions.GeneralOptions.StartupOption;
    var aprx_path = ApplicationOptions.GeneralOptions.StartupProjectPath;
    
    var hf_option = ApplicationOptions.GeneralOptions.HomeFolderOption;
    var folder = ApplicationOptions.GeneralOptions.CustomHomeFolder;
    
    var gdb_option = ApplicationOptions.GeneralOptions.DefaultGeodatabaseOption;
    var def_gdb = ApplicationOptions.GeneralOptions.CustomDefaultGeodatabase;
    
    var tbx_option = ApplicationOptions.GeneralOptions.DefaultToolboxOption;
    var def_tbx = ApplicationOptions.GeneralOptions.CustomDefaultToolbox;
    
    var create_in_folder = ApplicationOptions.GeneralOptions.ProjectCreateInFolder;
    
    Set GeneralOptions to Use Custom Settings
    //Set the application to use a custom project, home folder, gdb, and toolbox
    //In each case, the custom _path_ must be set _first_ before 
    //setting the "option". This ensures the application remains 
    //in a consistent state. This is the same behavior as on the Pro UI.
    if (string.IsNullOrEmpty(ApplicationOptions.GeneralOptions.StartupProjectPath))
      ApplicationOptions.GeneralOptions.StartupProjectPath = @"D:\data\usa.aprx";//custom project path first
    ApplicationOptions.GeneralOptions.StartupOption = StartProjectMode.WithDefaultProject;//option to use it second
    
    if (string.IsNullOrEmpty(ApplicationOptions.GeneralOptions.CustomHomeFolder))
      ApplicationOptions.GeneralOptions.CustomHomeFolder = @"D:\home_folder";//custom home folder first
    ApplicationOptions.GeneralOptions.HomeFolderOption = OptionSetting.UseCustom;//option to use it second
    
    if (string.IsNullOrEmpty(ApplicationOptions.GeneralOptions.CustomDefaultGeodatabase))
      ApplicationOptions.GeneralOptions.CustomDefaultGeodatabase = @"D:\data\usa.gdb";//custom gdb path first
    ApplicationOptions.GeneralOptions.DefaultGeodatabaseOption = OptionSetting.UseCustom;//option to use it second
    
    if (string.IsNullOrEmpty(ApplicationOptions.GeneralOptions.CustomDefaultToolbox))
      ApplicationOptions.GeneralOptions.CustomDefaultToolbox = @"D:\data\usa.tbx";//custom toolbox path first
    ApplicationOptions.GeneralOptions.DefaultToolboxOption = OptionSetting.UseCustom;//option to use it second
    
    Set GeneralOptions to Use Defaults
    //Default options can be set regardless of the value of the "companion"
    //path (to a project, folder, gdb, toolbox, etc.). The path value is ignored if
    //the option setting does not use it. This is the same behavior as on the Pro UI.
    ApplicationOptions.GeneralOptions.StartupOption = StartProjectMode.ShowStartPage;
    ApplicationOptions.GeneralOptions.HomeFolderOption = OptionSetting.UseDefault;
    ApplicationOptions.GeneralOptions.DefaultGeodatabaseOption = OptionSetting.UseDefault;
    ApplicationOptions.GeneralOptions.DefaultToolboxOption = OptionSetting.UseDefault;//set default option first
    
    //path values can (optionally) be set (back) to null if their 
    //"companion" option setting is the default option.
    if (ApplicationOptions.GeneralOptions.StartupOption != StartProjectMode.WithDefaultProject)
      ApplicationOptions.GeneralOptions.StartupProjectPath = null;
    if (ApplicationOptions.GeneralOptions.HomeFolderOption == OptionSetting.UseDefault)
      ApplicationOptions.GeneralOptions.CustomHomeFolder = null;
    if (ApplicationOptions.GeneralOptions.DefaultGeodatabaseOption == OptionSetting.UseDefault)
      ApplicationOptions.GeneralOptions.CustomDefaultGeodatabase = null;
    if (ApplicationOptions.GeneralOptions.DefaultToolboxOption == OptionSetting.UseDefault)
      ApplicationOptions.GeneralOptions.CustomDefaultToolbox = null;
    
    Requirements

    Target Platforms: Windows 11, Windows 10, Windows 8.1

    See Also