Skip to content

v0.6.0 — list-addins on every plugin

Choose a tag to compare

@KenM76 KenM76 released this 03 Jun 13:56
· 9 commits to main since this release

Adds a universal list-addins diagnostic subcommand to every plugin: Excel, Word, PowerPoint, Outlook, SolidWorks (Windows) plus best-effort Excel.Mac and Word.Mac. Same category as list-sessions / info — machine-parsable TSV, no business logic, no contract changes.

Why

Every Office/SW consumer was rediscovering 10-30 lines of COM/registry enumeration to answer "is this addin loaded?" Each app has its own non-obvious enumeration model. Shipping a built-in turns N rediscoveries into one canonical answer with a stable shape.

Output shape (consistent across plugins)

# columns: name<TAB>id<TAB>loaded<TAB>kind<TAB>description
<name>	<id>	<true|false>	<COM|XLL|VBA|WLL|TEMPLATE|NATIVE>	<extra>
...
# total: <N>

Header rows prefixed with # for easy grep/awk filtering.

Highlights

  • Office plugins merge COMAddIns + AddIns into one stream with a kind column. Each collection wrapped in its own try/catch — partial failures still emit the other.
  • SolidWorks walks BOTH the UI-visible HKLM tree AND the per-version hidden tree (Design Checker, Costing, TolAnalyst, Sustainability, Reveng, etc.) that Tools→Add-Ins doesn't show. Resolves .NET-hosted mscoree.dllCodeBase URLs automatically. Probes live-load state via ISldWorks.GetAddInObject(Clsid). Per-user enabled-at-startup from HKCU\Software\SolidWorks\AddInsStartup\{guid}\(Default) REG_DWORD.
  • Mac plugins (Excel/Word) use AppleScript best-effort — strict subset of Windows (no COMAddIns/XLL/WLL on macOS) but same TSV column shape so cross-OS ScripTree apps work unchanged.

Live-verified

  • excel list-addins: 8 addins enumerated (Power Map, Power Pivot, Acrobat PDFMaker, Data Streamer, Analysis ToolPak XLL+VBA, Solver, Euro Tools).
  • solidworks list-addins: 25 addins on SW 2026 SP1.1 — exactly matching the dual-registry lesson's predictions, including the FuncFeatApp lazy-load case.

Not enumerable

SLDWORKS.EXE-hardcoded modules (fworks.dll, swbrowser.dll, etc.) appear in neither registry tree and can't be toggled. Output's trailing # total: line notes this.

See CHANGELOG.md v0.6.0 entry for full implementation detail.