As a system administrator, you may need to control application settings for your users when deploying ArcGIS AllSource. In ArcGIS AllSource, you can set default values for a select number of application settings. You can also lock these settings so that your users cannot change them.
There are three basic steps to control application settings in an ArcGIS AllSource deployment:
- Create a Pro.settingsConfig file.
- Post the file to a directory that is accessible to your users or share it.
- Configure the user machines to use the deployed file.
Create a Pro.settingsConfig file
To control application settings, you must first create a Pro.settingsConfig file. These files are written in XML format but have the .settingsConfig file extension instead of .xml.
If you have access to an advanced XML editor such as Microsoft Visual Studio, you can use an XML Schema Definition file (.xsd) during creation. The .xsd file for the settingsConfig format is available as part of the ArcGIS AllSource installation. Find the ProSettings.xsd file in the \Resources\XmlSchema directory of the ArcGIS AllSource installation location.
To create a Pro.settingsConfig file, create a blank file in a text or XML editor. 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">false</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>
<Display>
<!-- <LocalCacheFolderPath isLocked="true">C:\Users\<name>\AppData\Local\ESRI\Local Caches</LocalCacheFolderPath> -->
<!-- <AntiAliasingMode isLocked="true">Fast<\AntiAliasingMode> -->
<!-- <TextAntialiasingMode isLocked="true">Force<\TextAntialiasingMode> -->
<!-- <StereoscopicMode isLocked="true">Off</StereoscopicMode> -->
<!-- <RenderingMode isLocked="true">DirectX</RenderingMode> -->
<!-- <RenderingQuality isLocked="true">1</RenderingQuality> -->
<!-- <EnableVSync isLocked="true">true</EnableVSync> -->
<!-- <EnableRenderingAntialiasing isLocked="true">true</EnableRenderingAntialiasing> -->
<!-- <ClearCacheWhenAppClosing isLocked="true">false</ClearCacheWhenAppClosing>-->
</Display>
<ColorManagement>
<!-- <WorkingColorSpaceForNewItems isLocked="true">CMYK</WorkingColorSpaceForNewItems>-->
<!-- <EnableColorManagement isLocked="true">true</EnableColorManagement>-->
<!-- <RGBColorProfile isLocked="true">sRGB IEC61966-2.1</RGBColorProfile>-->
<!-- <CMYKColorProfile isLocked="true">U.S. Web Coated (SWOP) v2</CMYKColorProfile>-->
<!-- <ColorConversionRule isLocked="true">PreserveColorValues</ColorConversionRule>-->
<!-- <RenderingIntent isLocked="true">Perceptual</RenderingIntent>-->
<!-- <EnableDefaultBlackPointCompensation isLocked="true">false</EnableDefaultBlackPointCompensation>-->
</ColorManagement>
<Layout>
<!-- <TemplatePath isLocked="true">C:\Users\<name>\AppData\Local\LayoutTemplates</TemplatePath>-->
</Layout>
<ShareDownload>
<!-- <StagingPath isLocked="true">C:\Users\<name>\AppData\Local\ESRI\ArcGISAllSource\Staging\SharingProcesses</StagingPath>-->
<!-- <UnpackingProjectPackageOption isLocked="true">0</UnpackingProjectPackageOption>-->
<!-- <UnpackingProjectPackagePath isLocked="true">C:\Users\<name>\Documents\ArcGIS\Packages</UnpackingProjectPackagePath>-->
<!-- <UnpackingOtherPackagesOption isLocked="true">0</UnpackingOtherPackagesOption>-->
<!-- <UnpackingOtherPackagesPath isLocked="false">C:\Users\<name>\Documents\ArcGIS\Packages</UnpackingOtherPackagesPath>-->
<!-- <OfflineMapsOption isLocked="true">0</OfflineMapsOption>-->
<!-- <OfflineMapsPath isLocked="true">C:\Users\<name>\Documents\ArcGIS\OfflineMaps</OfflineMapsPath>-->
<!-- <MapLayerPresetsPath isLocked="false">C:\Users\<name>\AppData\Roaming\Esri\ArcGISAllSource\ExportPresets</MapLayerPresetsPath>-->
</ShareDownload>
</ArcGISProSettings>
Caution:
When you save the Pro.settingsConfig file, ensure that the text or XML editor does not add a .txt or .xml file extension to the end of the file, as this prevents ArcGIS AllSource from correctly loading the file.
Deploy Pro.settingsConfig
After creating the Pro.settingsConfig file, you must deploy it to a location that is accessible by all ArcGIS AllSource client machines. This is typically a file share location on a server. However, you can also place the file on the local disk of the client machine.
Set the file permissions for the share location or folder where the Pro.settingsConfig file resides to be read-write only for the administrator who created the file and read-only for the users of the ArcGIS AllSource client machines. If you don't protect the file with proper permissions, users can alter the values in the Pro.settingsConfig file, changing the default values and locked settings for all users.
For example, on a file server that is accessible to all ArcGIS AllSource client machines, create a share location, such as \\dataserver1\AllSourceSettings. Set the Pro.settingsConfig file share permissions so that client users have read-only access, and copy the Pro.settingsConfig file to the share location.
You can update the deployed Pro.settingsConfig file as necessary. To change the settings control scheme, update the shared file or copy a new one in its place. The next time ArcGIS AllSource is started on the client machines, the new file is used.
Configure user machines to use Pro.settingsConfig
The final step in controlling user settings is to configure each ArcGIS AllSource client machine to use the Pro.settingsConfig file from its deployed location. Once configured, the client machine checks the file during each time ArcGIS AllSource is started, and changes 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 location or local folder that contains the deployed Pro.settingsConfig file.
The first way is to set the ADMIN_SETTINGS_PATH command line parameter during an ArcGIS AllSource silent installation.
The second way is to edit the Windows Registry. Use this option if ArcGIS AllSource is already deployed or if you don't want to do a silent installation. To configure the client machines, create a string value called AdminSettingsPath in HKEY_LOCAL_MACHINE\SOFTWARE\ESRI\ArcGISAllSource\Settings. Set the value data to the path of the network share or local folder that contains the deployed Pro.settingsConfig file. In the example above, you would set the value data to \\dataserver1\AllSourceSettings.
When you use the ADMIN_SETTINGS_PATH command line 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 and ensues that nonadministrator users cannot opt out of the settings control set by their administrator.
When configuring machines through the registry, it is recommended that you use a system deployment tool instead of manually changing each machine with the regedit.exe file. Common system deployment tools include Windows Active Directory Group Policy, MicrosoftSCCM, and Microsoft PowerShell DSC. Detailed instructions for installing and configuring ArcGIS AllSource with these tools are included in the ArcGIS 10.8, AllSource 2.5, and ArcGIS Earth 1.10 Enterprise Deployment technical paper.
Settings control default values
The settings control mechanism allows administrators to provide values for the settings defaults and lock settings.
Setting locking is controlled with the isLocked XML attribute. When set to true, the user on the ArcGIS AllSource client machine cannot change the setting's value. The value set by the administrator in the .settingsConfig file is locked.
Examples are shown in the following subsections.
EnableIndexing setting
<EnableIndexing isLocked="true">false</EnableIndexing>
In this example, the EnableIndexing element corresponds to the Choose how project items are indexed setting, which is accessible by clicking Settings on 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 and a message appears indicating that the setting has been locked.
If you set the isLocked attribute to false, you can control the default value for the setting, but users can change it.
UseLocalHelp setting
<UseLocalHelp isLocked="false">false</UseLocalHelp>
In this example, the UseLocalHelp element corresponds to the Help source setting, which is accessible by clicking Settings on the start page or the Project tab, and clicking Options > General. UseLocalHelp is set to true, so Offline help from your computer is the default value for new installations of ArcGIS AllSource. Since the isLocked attribute is set to false, the user can change the setting at a later time.
Note:
Default values for unlocked settings are only used by new installations of ArcGIS AllSource. If you configure a machine to use the settingsConfig file after the user has run ArcGIS AllSource, the default values in the file are not used because the user has established the standard default values. You can only force settings by setting isLocked="true" in the settingsConfig file.
Available application settings
A complete list of application settings and where they belong in the Pro.settingsConfig file can be found in Settings available for administrator control.