System administrators deploying ArcGIS Pro across a team or an organization may need to control application settings on behalf of their users. ArcGIS Pro allows administrators to set default values for a select number of application settings. You can also lock these settings so that users cannot change them from the value set by the administrator.
There are three basic steps to control application settings in your ArcGIS Pro deployment:
- Author a Pro.settingsConfig file.
- Post the file to a directory or share accessible by users.
- Configure the user machines to use the deployed file.
Author a Pro.settingsConfig file
To control application settings, you must first author a Pro.settingsConfig file. These files are written in the Extensible Markup Language (XML) format but have the file extension .settingsConfig instead of .xml.
If you have access to an advanced XML editor such as Microsoft Visual Studio, you can make use of an XML Schema Definition (XSD) file during the authoring process. The .xsd file for the .settingsConfig format is available as part of the ArcGIS Pro install. Find the Pro.settingsConfig file in the \Resources\XmlSchema directory of the ArcGIS Pro install location.
The easiest way to create a Pro.settingsConfig file is to create a blank file in your text or XML editor of
choice. Then copy the contents of the sample below and edit it as
needed:<?xml version="1.0" encoding="UTF-8"?>
<ArcGISProSettings xmlns="http://schemas.esri.com/ProSettings"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://schemas.esri.com/ProSettings .\prosettings.xsd">
<Application>
<!-- <UseLocalHelp isLocked="false">true</UseLocalHelp> -->
</Application>
<Catalog>
<!-- <EnableIndexing isLocked="true">false</EnableIndexing> -->
<!-- <IndexNetworkConnections isLocked="true">false</IndexNetworkConnections> -->
<!-- <MetadataCanDeleteGPHistory isLocked="true">false</MetadataCanDeleteGPHistory> -->
<!-- <MetadataStyle isLocked="true">ISO 19115-3 XML Schema Implementation</MetadataStyle> -->
<!-- <SkipServerConnections isLocked="true">true</SkipServerConnections> -->
</Catalog>
<Geoprocessing>
<!-- <RecordGPHistoryInMetadata isLocked="true">true</RecordGPHistoryInMetadata> -->
</Geoprocessing>
</ArcGISProSettings>
Caution:
When you save the Pro.settingsConfig file, ensure that your XML or text editor does not add a .txt or .xml file extension to the end of the file, as this prevents ArcGIS Pro from correctly loading the file.
Deploy Pro.settingsConfig
After authoring a Pro.settingsConfig file, you must deploy it to a location accessible by all ArcGIS Pro client machines. This is typically a file share on a server. However, you can also place the file on the local disk of the client machine if that makes sense for your scenario.
Set the file permissions on the share or folder that hosts Pro.settingsConfig to be read-write only for the administrator who created the file and read-only for the users of the ArcGIS Pro client machines. If you don't protect the file with proper permissions, users can alter the values inside the Pro.settingsConfig file, changing the defaults and locked settings for all users.
Example: On a file server accessible by all ArcGIS Pro client machines, create a share such as \\dataserver1\ProSettings. Set the Pro.settingsConfig share permissions so that client users have read-only access, and copy the Pro.settingsConfig file to the share.
You can update the deployed Pro.settingsConfig file as the needs of your organization change. To alter the settings control scheme, update the shared file or copy a new one in its place. ArcGIS Pro client machines start consuming the new file the next time ArcGIS Pro is started on the machines.
Configure user machines to use Pro.settingsConfig
The final step in controlling user settings is to configure each ArcGIS Pro client machine to use the Pro.settingsConfig file from its deployed location. Once configured, the client machine checks the file during each ArcGIS Pro application startup, changing the user's settings accordingly.
There are two ways to set client machines to use the file. Both options require you to provide the path to the network share or local folder that contains the deployed Pro.settingsConfig file.
The first and easiest way is to set the ADMIN_SETTINGS_PATH command line parameter during an ArcGIS Pro silent install.
The second way to configure client machines is by editing the Windows Registry. Use this option if ArcGIS Pro is already deployed or if you don't want to do a silent install. To configure the client machines, create a string value called AdminSettingsPath in HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcGISPro\Settings. Set the value data to the path of the network share or local folder that contains the deployed Pro.settingsConfig file. Following the example above, you would set the value data to \\dataserver1\ProSettings.
When you use the ADMIN_SETTINGS_PATH install parameter or create the AdminSettingsPath entry in the registry, the setting is stored in the HKEY_LOCAL_MACHINE registry hive. Changing the value requires administrative permissions on the machine. This secures the setting, ensuring that nonadministrator users cannot opt out of the settings control set by their administrator.
When configuring machines via the registry, it is recommended that you use a system deployment tool instead of manually changing each machine with regedit.exe. Common system deployment tools include Windows Active Directory Group Policy, Microsoft SCCM, and Microsoft PowerShell DSC. You can find detailed instructions for installing and configuring ArcGIS Pro with these tools in the ArcGIS 10.8, ArcGIS Pro 2.5, and ArcGIS Earth 1.10 Enterprise Deployment technical paper.
Settings locking and precedence of defaults
The settings control mechanism allows administrators to both provide settings defaults and lock settings to those values.
Setting locking is controlled with the isLocked XML attribute. When set to true, the user on the ArcGIS Pro client machine cannot change the setting's value. It is locked to the value set by the administrator in the .settingsConfig file.
Example: The EnableIndexing setting
<EnableIndexing isLocked="true">false</EnableIndexing>
In this example, the EnableIndexing element corresponds to the Choose how project items are indexed setting, which you can access by clicking Settings from the start page or the Project tab, and clicking Options > Indexing > Configure if the index is created and how it is used. EnableIndexing is set to false, which sets Configure if the index is created and how it is used to Don't create index. Since isLocked is set to true, the application disables the control and shows a message to the user indicating that the setting has been locked.
If you set the isLocked attribute to false, you can control the default for the setting, but users can change it as needed.
Example: The UseLocalHelp setting
<UseLocalHelp isLocked="false">true</UseLocalHelp>
In this example, the UseLocalHelp element corresponds to the Help Source setting, which you can access by clicking Settings from the start page or the Project tab, and clicking Options > General. UseLocalHelp is set to true, so new installations of ArcGIS Pro default to Offline help from your computer. Since the isLocked attribute is set to false, the user can change the setting at a later time if they want to.
Note:
Defaults for unlocked settings are only used by new installations of ArcGIS Pro. If you configure a machine to use a settingsConfig file after the user has already run ArcGIS Pro, the defaults in the file are not used because the user has already established the standard defaults. You can only force settings by setting isLocked="true" inside the settingsConfig file.
Settings available for administrator control
The table below is a complete list of settings that you can include in the settingsConfig file. It includes the functional area, the corresponding setting in the user interface (UI), the default value, and a sample.
Setting | Group | Description |
---|---|---|
UseLocalHelp | Application | In the user interface, this setting corresponds to Help Source, on the General tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below.
|
EnableIndexing | Catalog | In the user interface, this setting corresponds to the Configure if the index is created and how it is used section on the Indexing tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below.
|
IndexNetworkConnections | Catalog | In the user interface, this setting corresponds to the Index items on network disks check box on the Indexing tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below.
|
MetadataCanDeleteGPHistory | Catalog | In the user interface, this setting corresponds to the Allow geoprocessing history to be deleted from metadata check box on the Metadata tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below.
|
MetadataStyle | Catalog | In the user interface, this setting corresponds to the Metadata style drop-down list on the Metadata tab on the Options dialog box. Possible values are those that appear in the Metadata Styles drop-down list. This includes the following metadata styles that are provided with ArcGIS Pro, and the names of any custom metadata style add-ins that have been installed.
An example of this setting is shown below.
|
SkipServerConnections | Catalog | In the user interface, this setting corresponds to the Skip enterprise database connections check box on the Indexing tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below.
|
RecordGPHistoryInMetadata | Geoprocessing | In the user interface, this setting corresponds to the Write geoprocessing operations to dataset metadata check box on the Geoprocessing tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below.
|
AntialiasingMode | Display | In the user interface, this setting corresponds to the Antialiasing mode combo box on the Display tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
TextAntialiasingMode | Display | In the user interface, this setting corresponds to the Text Antialiasing mode combo box on the Display tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
StereoscopicMode | Display | In the user interface, this setting corresponds to the Stereoscopic mode combo box on the Display tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
RenderingQuality | Display | In the user interface, this setting corresponds to the Rendering quality slider on the Display tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
RenderingMode | Display | In the user interface, this setting corresponds to the Rendering mode options on the Display tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
EnableVSync | Display | In the user interface, this setting corresponds to the Enable vertical synchronization check box on the Display tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
EnableRenderingAntialiasing | Display | In the user interface, this setting corresponds to the Enable hardware antialiasing check box on the Display tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
LocalCacheFolderPath | Display | In the user interface, this setting corresponds to the Local cache text box on the Display tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
WorkingColorSpaceForNewItems | Color Management | In the user interface, this setting corresponds to the Default color model for new items check box on the Color Management tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
EnableColorManagement | Color Management | In the user interface, this setting corresponds to the Enable color management toggle button on the Color Management tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
RGBColorProfile | Color Management | In the user interface, this setting corresponds to the RGB combo box on the Color Management tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
CMYKColorProfile | Color Management | In the user interface, this setting corresponds to the CMYK toggle button on the Color Management tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
ColorConversionRule | Color Management | In the user interface, this setting corresponds to the Color conversion rule combo box on the Color Management tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
RenderingIntent | Color Management | In the user interface, this setting corresponds to the Rendering intent combo box on the Color Management tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |
EnableDefaultBlack PointCompensation | Color Management | In the user interface, this setting corresponds to the Use black point compensation toggle button on the Color Management tab on the Options dialog box. Possible values are the following:
An example of this setting is shown below. |