This guide explains how to automate the installation of ArcGIS Pro using PowerShell Desired State Configuration (DSC) and a JSON configuration file.
---
## Step 1: Install the ArcGIS PowerShell Module
Open **PowerShell** and run the following [command](https://www.powershellgallery.com/packages/ArcGIS/):
```powershell
Install-Module -Name ArcGIS
```
**Notes:**
- When prompted, type `Y` and press `Enter` to confirm.
- If asked for permission to install from an untrusted repository, type `A` (Yes to All) and press `Enter`.
---
## Step 2: Download the ArcGIS Pro Installer
1. Go to [https://my.esri.com/](https://my.esri.com/)
2. Sign in with your Esri account
3. Download the ArcGIS Pro `.exe` installer (e.g., `ArcGISPro_34_192912.exe`) and save it to a known location such as your `Downloads` folder.
---
## Step 3: Create the Configuration JSON File
Create a file named `Pro-SingleUse.json` on your Desktop (or another convenient location).
Update the following:
- `"NodeName"` with your machine name (run `hostname` in PowerShell to get it)
- `"Path"` with the full path to the ArcGIS Pro installer you downloaded
```json
{
"AllNodes": [
{
"NodeName": "YOUR-COMPUTER-NAME",
"Role": [
"Pro"
]
}
],
"ConfigData": {
"ProVersion": "3.4",
"Pro": {
"AuthorizationType": "SINGLE_USE",
"BlockAddIns": 1,
"SoftwareClass": "Professional",
"AllUsers": 1,
"EnableEUEI": false,
"CheckForUpdatesAtStartup": false,
"Installer": {
"Path": "C:\\Users\\YourUsername\\Downloads\\ArcGISPro_34_192912.exe",
"DotnetDesktopRuntimeDownloadUrl": "https://builds.dotnet.microsoft.com/...",
"EdgeWebView2RuntimeDownloadUrl": "https://msedge.sf.dl.delivery.mp.microsoft.com/...",
"IsSelfExtracting": true,
"InstallDir": "C:\\Program Files\\ArcGIS\\Pro"
}
}
}
}
```
Make sure all paths are correct and properly escaped (use double backslashes `\\` in JSON).
See other configurations from wiki page and other Sample files included in the repo https://github.com/Esri/arcgis-powershell-dsc/wiki
---
## Step 4: Apply the DSC Configuration
Use the following command to apply the configuration using the JSON file:
```powershell
Invoke-ArcGISConfiguration -ConfigurationParametersFile "$env:USERPROFILE\Desktop\Pro-SingleUse.json" -Mode Install
```
> Adjust the file path if your JSON is saved in a different location.
---
## Installation Complete
PowerShell DSC will now:
- Install required dependencies such as **Edge WebView2 Runtime** and **.NET Desktop Runtime**
- Extract and install **ArcGIS Pro**
- Apply your configuration settings (e.g., license type, install location, update behavior)
---
## Additional Notes
- Ensure your system has internet access to download the required runtime dependencies.
- If you encounter issues during installation, make sure you're running PowerShell as **Administrator**.
- You can check DSC logs or inspect Event Viewer for troubleshooting:
- `C:\ProgramData\Microsoft\Windows\PowerShell\Configuration\`
- If you've installed the ArcGIS module via GitHub, you might need to unblock the DSC files:
```powershell
Get-ChildItem -Path "C:\Program Files\WindowsPowerShell\Modules\ArcGIS" -Recurse | Unblock-File
```
- Don't store your passwords as a plain text in JSON file instead [Use System Environment Variables to store Passwords](https://github.com/Esri/arcgis-powershell-dsc/wiki/Use-System-Environment-Variables-to-store-Passwords)