Does anyone know of a way to silently install an ESRI Data License on a machine?

So far, I've tried:

• Creating the directory C:\Program Files\ESRI\DataLicense and placing the *.sdlic file in there as indicated in this legacy forum posting.

• Running the DataLicInstall.exe that ships with ArcGIS for Server against the *.sdlic file, but I get an error "Initialize ArcObjects Failed".

• Using AutoHotKey to manually install the license via simulated button clicks but unfortunately the Windows UAC button will not accept simulated button clicks from AHK. So when the UAC is raised the user still needs to press Yes to allow the ArcGIS Administrator to make changes to the computer.

Here's what I discovered in my search to solve this riddle. ESRI has created an executable to programmatically install data licenses (*.sdlic files). The executable is named "DataLicInstall.exe" and it ships with ArcGIS for Server. It does not ship with any ArcGIS for Desktop products at this time (but it does work with them). I've posted an idea at here asking ESRI to make this exe part of the ArcGIS for Desktop install. Please vote it up if you need the ability to programmatically install Data Licenses.

---- How to install ESRI Data Licenses programmatically ----

If like me, you are lucky enough to have a copy of ArcGIS for Server on hand, you can locate the "DataLicInstall.exe" on a system installed with ArcGIS for Server at:

C:\Program Files\ArcGIS\Server\bin\DataLicInstall.exe

It can also be extracted directly from Data1.cab located in the ArcGIS for Server Setup Files. Once you have your grubby little hands on the "DataLicInstall.exe", copy it to:

C:\Program Files (x86)\Desktop<version>\bin64

on your system installed with ArcGIS for Desktop. ArcGIS for Server does not need to be installed on this system.

Open a command prompt and call the exe using the following parameters:

<path to DataLicInstall.exe> <path to *.sdlic>

Example:

"C:\Program Files (x86)\ArcGIS\Desktop10.2\bin64\DataLicInstall.exe" C:\DataLicense.sdlic

In my case, I was installing the ESRI Business Analyst Data License:

Unfortunately, I won't be posting the exe anywhere since it is ESRI's IP and I don't have any desire to be on bad terms with them. I imagine though, if you really needed this capability and you talked to ESRI Tech Support and showed them this post and that it was possible to do this, they would send you the DataLicInstall.exe (so long as you're current on maintenance)

For ArcGIS Desktop (10.7.1 here) and a data license for StreetMap Premium (just another data license type), this can be done somewhat silently using the Desktop Administrator. Here I'm using PowerShell:

$thisIsAGeocodingNode =$false
$desktopSmpLicFile = "\\path\to\354956-smp-na-2020.4-na-all-09_24_21.sdlic"$desktopAdminPath = "C:\Program Files (x86)\Common Files\ArcGIS\bin\ArcGISAdmin.exe"

if (!( $thisIsAGeocodingNode )) {$smpDataAuthArgs = @(
"/s"
"/lif"
$desktopSmpLicFile ) Start-Process$desktopAdminPath -ArgumentList \$smpDataAuthArgs -Wait -NoNewWindow
}


Unfortunately, this still actually launches the Desktop Admin data licensing page, but it licenses the data. For me, this is fine as I'm running my scripts interactively. I'm betting there is a flag I'm missing to make it truly silent.

You can also do this at the cmd line, like so, with similar results:

C:\Program Files (x86)\Common Files\ArcGIS\bin>ArcGISAdmin.exe -s -qn! -lif "\\path\to\354956-smp-na-2020.4-na-all-09_24_21.sdlic"