GetItcmdGUI is a Windows VCL desktop tool for managing RAD Studio GetIt packages using two list sources:
GetItCmd.exe(CLI integration)- direct REST catalog calls
The goal is practical package management across multiple RAD Studio versions, with clear logs, filters, and install-state checks.
This project started from the original AutoGetIt idea and initial implementation by David Cornelius.
- Original project: AutoGetIt
- Original copyright: David Cornelius
- License: MIT
The current codebase has been significantly reworked and extended after the initial base import, while preserving attribution and the original MIT license terms.
- Dual list workflows, intentionally separated:
List (GetItCmd)List (REST)
- Local post-processing for REST results:
- text filter (
contains, min 3 chars) - category filter (
All+ registry categories) - vendor filter (
All+ catalog vendors) - Delphi-only toggle
- latest-version-only toggle
- installed/not-installed/updatable-only filters
- REST status values:
Installed,Outdated,Modified,Unavailable,Not installed
- text filter (
- Local sort menu over visible list (context menu)
- Install/uninstall/download flows through
GetItCmd - GetItCmd download prompts for the destination directory instead of writing to
the selected RAD Studio
binfolder - Optional
rsvars.batbootstrap for all GetItCmd operations - Output log and install log with save support
- Package install-state detection via registry scans
- UI feedback for command failures and warnings
The tool is designed around installed BDS versions detected on the machine.
Mainly tested in this project cycle:
- BDS 37.0 (Delphi 13)
- BDS 23.0 (Delphi 12)
- BDS 22.0 (Delphi 11)
- BDS 21.0 (Delphi 10.4)
- BDS 20.0 (Delphi 10.3)
Notes:
GetItCmdsyntax differs between legacy and newer versions (handled internally by flavor switch).rsvars.batusage is user-controlled with theUse rsvars.batcheckbox.- REST request parameters are version-specific and may require future adjustments for new RAD Studio releases.
GetItCmdbehavior can be inconsistent across versions/environments.- BDS 37 has a known redirected/captured-output defect, including shell
>redirection. A command that works in interactive CMD can fail when captured by this GUI. REST remains the alternative for browsing the catalog. - GetItCmd argument values are quoted when needed; the version-specific switches,
including empty
--list=, are preserved. Withrsvars.bat, percent signs in an argument are rejected to prevent cmd environment expansion; disable rsvars for such arguments. Quotes and control characters in values are rejected. - Installation results remain diagnostic rather than proof of correctness: third-party installers emit inconsistent output. The existing classifier is pending further tests with the next Delphi release.
- Current known issue: on some BDS 20 setups,
GetItCmdmay fail for list/install with server, internal-check, or access-violation errors even with correct command syntax. - When
GetItCmdlist fails, the app shows:GetIt list command failed, try REST. - REST and
GetItCmdare not guaranteed to return identical datasets for every version. - REST
Modifiedmeans package file/reference difference, not a generic catalog metadata change. - Local GetIt files can be split between the per-user
$(BDSCatalogRepository)and all-users$(BDSCatalogRepositoryAllUsers)roots; installed-state checks are registry-driven. - RAD Studio 64-bit IDE package loading can require the physical
Bpl\Win64path inEnvironment Variables x64so runtime BPL dependencies are not resolved from the 32-bitBplfolder.
- Windows
- Embarcadero RAD Studio (Win64 target)
- DOSCommand
When using the 64-bit RAD Studio IDE, make sure the 64-bit public BPL directory is available in the IDE x64 environment, for example:
E:\Users\Public\Documents\Embarcadero\Studio\37.0\Bpl\Win64
Do not reorder the common Bpl path used by the 32-bit IDE.
From a RAD Studio command prompt (or with rsvars.bat loaded):
msbuild GetItcmdGUI.dproj /t:Build /p:Config=Debug /p:Platform=Win64Select the detected BDS version from the combo box.
List (GetItCmd)- Uses
GetItCmd.exe - Uses command-line filters/sort parameters
- Uses
rsvars.batwhenUse rsvars.batis checked - REST-only filters are disabled in this mode
- Uses
List (REST)- Downloads catalog via REST
- Applies filters and selection logic locally
- GetItCmd mode: command parameters; rows keep the command output order
- REST mode: full local filter stack + local sort menu
- Install selected
- Uninstall selected
- Download highlighted package
Changing RAD Studio version clears the previous catalog and its selection. While an operation is running, controls that could start another operation or change its target are disabled. Cancel remains available in the install log.
REST sorting/filtering preserves checks only for packages that remain visible. Hidden checks are discarded and do not return when a filter is removed. Checked actions show this visible count in both the button and context menu.
REST installed filters operate on package families (including vendor and language), so an older catalog version of an installed family is not classified as not installed. The details show the actual installed version. Local filters reuse cached installed metadata; refresh the catalog after package changes performed outside this application.
Direct REST downloads ask before overwriting a file and replace it only after a complete, successful transfer. Failed transfers remove only the newly created temporary file.
Use Output Log and Install Log to inspect or save diagnostics.
Install log summaries distinguish between:
installed=YES: package installation completed explicitlyinstalled=UNCHANGED: command finished successfully but no new install was performedinstalled=NO: command failed or was aborted before install completion
- Output Log: list command output, REST diagnostics, warnings/errors
- Install Log: install/uninstall operation output
- If list fails with
GetItCmd, retry with REST for package browsing.
This README is for the standalone GetItcmdGUI repository layout, where GetItcmdGUI is the project root.
See:
