Skip to content

Setup Installer

Alexander Liberov edited this page Oct 21, 2026 · 2 revisions

Setup installer

drag-lint-setup-<version>.exe installs the whole drag-lint tool set in one go: the engine, its rules and parser DLLs, the chart scripts, Graphviz dot, the RAD Studio plugin, ConvRulesEditor, drag-lint-graph and YADF. It is an Inno Setup 6 installer; status: experimental until it has passed a clean-machine test.

For the manual, zip-based route see Installation.

What you choose

Who it is for. The first page asks Just for me (the default -- no admin rights, installs under %LOCALAPPDATA%\Programs\drag-lint) or All users (Windows asks for admin rights, installs under Program Files). The IDE plugin registration and the draglint:// links are per user in both modes. Per user means the account that RUNS setup: if Windows asks for a different administrator account, the plugin and links are registered for that account, not yours -- install Just for me from your own account instead.

Components. Everything is ticked in a full install.

Component What you get
engine, rules and chart scripts always installed
ConvRulesEditor the conversion-rules editor
drag-lint-graph the call-graph tool
Graphviz dot dot.exe and its DLLs -- the charts need it
IDE plugin (32-bit IDE / 64-bit IDE) the drag-lint menu in RAD Studio 13
YADF formatter YADF.exe and YADFSetup.exe (its settings editor)
YADF IDE plugin (32-bit IDE / 64-bit IDE) YADF's RAD Studio menu and Options page

An IDE plugin is offered only for an IDE that is actually installed: on a machine without RAD Studio 13 those lines are greyed out and say why. A BPL loads only in the IDE version it was built for, and this release builds for RAD Studio 13 (37.0) only.

Tasks.

  • Register draglint:// links (ticked) -- clicking a node in a chart opens that line in the IDE. If links are already registered, setup asks before replacing them.
  • Register drag-lint as an MCP server (not ticked) -- for Claude Code and VS Code.

What it needs

  • Windows x64.
  • No PowerShell. Every chart question is answered by the engine itself; setup neither bundles nor looks for PowerShell and installs no .ps1 file.
  • RAD Studio must be closed when installing or uninstalling a plugin -- a loaded BPL is locked. Setup refuses with that message rather than half-copying.

What it changes, and what uninstall undoes

Change Uninstall
files under the install folder removed
bin\drag-lint.json (starter index manifest, no projects) kept -- after the first run it is your file
one Known Packages value per plugin, named by its installed path that value removed; other packages untouched
plugin setting HKCU\Software\drag-lint\DelphiPlugin\ExePath removed only if it still points at this install
HKCU\Software\YADF\ExePath removed only if it still points at this install
draglint:// registration unregistered only if this setup registered it
MCP entries (if ticked) removed

Setup never overwrites an ExePath that already points at a working engine or YADF elsewhere without asking, and a silent install never overwrites one.

If the same plugin is already registered from another folder (a developer's repository build, say), setup warns: two copies of one package make the IDE refuse to load one of them. A silent install does not ask: it skips that plugin and says so in the setup log.

Updating

Run the newer setup over the old one; it upgrades in place and keeps your settings and drag-lint.json. drag-lint > About > Check for Updates in the IDE tells you when a newer release exists.

If a release changes the extractor version, every index on the machine is re-parsed on its next use -- the release notes say when.

Building the setup

pwsh -File installer\Build-Installer.ps1            # -> installer\Output\drag-lint-setup-<version>.exe
pwsh -File installer\Build-Installer.ps1 -DryRun    # checks only

The version comes from DRAGLINT_VERSION; the build stops if the engine being shipped reports a different one, or if any source file is missing. Sources default to the deployed third_party\dll-win64 / dll-win32, C:\Projects\YADF (Release builds) and the Graphviz 16.1.0 bin folder; each is a parameter. Licences shipped: drag-lint (MIT), tree-sitter and both grammars (MIT), delphi-tree-sitter (MIT), Graphviz (EPL-2.0), YADF.

Clone this wiki locally