Current release: 1.5. See release notes.
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.
See LICENSE for the MIT license and original attribution.
- 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
- Non Commercial filter (Commercial/Trial license text and names starting with Trial)
- 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 - Automatically saved session log, with separate output/install views
- IDE path editor with one path per row, macro preservation and duplicate detection
- 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, including 13.2)
- 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.- Earlier Delphi 13 installations showed redirected/captured-output failures.
Online listing was reported working with captured output on Delphi 13.2,
build
37.0.60952.8797; this does not guarantee every command/environment. In Offline mode, GetItCmd uses local availability rather than the online catalog, so the list may contain only installed packages. Check the displayed mode before diagnosing a truncated catalog. REST remains an independent online list source. - 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. An apparent command success does not guarantee that the package compiled correctly or can be loaded by the IDE.
- 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
- Windows11 Polar Dark VCL style at
$(BDSCOMMONDIR)\Styles\Windows11_Polar_Dark.vsf(embedded during compilation)
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=Release /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 diagnostics and open the log folder.
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
- One UTF-8 log is saved automatically per application session under
%LOCALAPPDATA%\GetItcmdGUI\Logs; clearing a view does not erase the saved log. - Visual updates are batched every 100 ms. GUI messages and external output use different colors, with warnings/errors highlighted.
- A directory-not-found compiler hint is a warning, not proof that installation failed. Explicit compiler errors and fatal messages remain errors.
- If list fails with
GetItCmd, retry with REST for package browsing.
Choose the RAD Studio version and open IDE path editor. It edits existing multi-entry environment overrides (separate IDE 32/64 settings) and per-platform library paths, not the Windows system/user PATH.
- Each list entry occupies one row. Add/change directories with the folder picker, reorder entries, remove them, or edit their text directly.
- The color legend distinguishes valid, missing, unresolved/relative and duplicate paths. The details show the expanded path; macros are preserved when possible.
- Changing an invalid directory opens the picker at its nearest existing parent.
- Duplicate checks compare resolved paths. Duplicates block saving; removing a duplicate does not prompt, while removing an existing unique path requires confirmation.
- Save setting, below Check paths, saves the selected setting. All RAD Studio
instances must be closed. Library changes update both the registry and matching
existing
EnvOptions.projproperties. No missing properties are created. - Backups are stored under
%LOCALAPPDATA%\GetItcmdGUI\PathBackups. Environment changes take effect on the next IDE startup. $(PATH)refers to the application's inherited environment. Temporary GetIt action macros such as$(_CatalogRepository)may remain unresolved outside an installer; inspect the actual package location rather than replacing them blindly.
This README is for the standalone GetItcmdGUI repository layout, where GetItcmdGUI is the project root.
See:
