There are two ways that upgrade files can be obtained from Identity Panel.
Both endpoints require an authenticated GET request with the Scheduler license key and Write|JsonSettings data permission.
Panel Tools Executable
The endpoint /api/tenant/tools returns a file download of the Panel Tools installer package.
A GET request to this endpoint with the required verification token will return a result with a Content-Disposition header value of: "attachment; filename=PanelTools.exe", and a Content-Type of "application/octet-stream".
The body payload will be an SFX package produced by 7-zip containing the setup helper and associated files and dlls for installing Panel Service.
Panel Tools Upgrade
A separate endpoint is used to facilitate in-place automated upgrade of Panel Tools.
NOTE: The general method of the upgrade is for an Identity Panel admin to run an upgrade step via the scheduler. If the local Panel Service reports a different version number from the web application the in-place upgrade executes with the following steps:
- Download upgrade files to a temporary folder and extract the zip archive
- Rename existing local .dll, .exe, and .pdb files to append .upgrade
- Copy new dlls into the Panel Tools directory
- Start a new cmd process to execute the "net restart SoftwareIDM.PanelService" command
The endpoint for new dll files is /api/tenant/toolsupgrade. This endpoint enumerates all files in wwwroot\files\paneltools and wwwroot\files\paneltools\lib with a .dll, .exe, or .pdb extension and creates an in-memory zip stream.
NOTE: these files may not be downloaded directly as static files because the .NET static middleware does not allows files with these extensions to be requested.
The resulting zip stream is returned with a Content-Disposition of "attachment; filename=upgrade.zip" and Content-Type of "application/octet-stream".