Skip to content

fix(agent-installer): show Agent Tunnel dialog for ADDLOCAL=ALL#1804

Closed
irvingouj@Devolutions (irvingoujAtDevolution) wants to merge 1 commit into
masterfrom
fix/agent-installer-unattended-tunnel
Closed

fix(agent-installer): show Agent Tunnel dialog for ADDLOCAL=ALL#1804
irvingouj@Devolutions (irvingoujAtDevolution) wants to merge 1 commit into
masterfrom
fix/agent-installer-unattended-tunnel

Conversation

@irvingoujAtDevolution
Copy link
Copy Markdown
Contributor

@irvingoujAtDevolution irvingouj@Devolutions (irvingoujAtDevolution) commented May 29, 2026

What

Wizard.ShouldSkip decided whether to skip the Agent Tunnel wizard dialog by matching the F.Tunnel feature id literally in ADDLOCAL. ADDLOCAL=ALL installs every feature (Agent Tunnel included) without naming them, so the dialog was wrongly skipped — the operator never got a chance to enter an enrollment string even though the tunnel feature was being installed.

ShouldSkip now also recognizes the ALL keyword. Tokens are matched case-sensitively, the same way Windows Installer matches ADDLOCAL feature names and the ALL keyword, so the dialog decision stays in lockstep with whether MSI will actually install the feature (and therefore run EnrollAgentTunnel).

Why

From Benoit's post-merge audit of #1789 (finding P9).

Verification

Truth table over ALL / all / F.Tunnel / f.tunnel / F.Agent,F.Tunnel / F.Agent / empty — every case now agrees with MSI's actual (case-sensitive) install decision: correctly-cased ALL / F.Tunnel show the dialog, anything that wouldn't install the feature skips it. The interactive path never emits ADDLOCAL=ALL (it writes explicit feature names), so the ALL branch only matters for command-line installs.

Note

An earlier revision of this branch also changed the empty-enrollment-string behavior (audit finding P2) to a silent no-op skip. That was reverted — an empty enrollment string keeps failing the install intentionally: the Agent Tunnel feature is opt-in (not installed by default), so selecting it without a string is a misconfiguration that should surface rather than be silently skipped. Context: #1789 (comment)

@github-actions
Copy link
Copy Markdown

Let maintainers know that an action is required on their side

  • Add the label release-required Please cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module) when you request a maintainer to cut a new release (Devolutions Gateway, Devolutions Agent, Jetsocat, PowerShell module)

  • Add the label release-blocker Follow-up is required before cutting a new release if a follow-up is required before cutting a new release

  • Add the label publish-required Please publish libraries (`Devolutions.Gateway.Utils`, OpenAPI clients, etc) when you request a maintainer to publish libraries (Devolutions.Gateway.Utils, OpenAPI clients, etc.)

  • Add the label publish-blocker Follow-up is required before publishing libraries if a follow-up is required before publishing libraries

Wizard.ShouldSkip matched the F.Tunnel feature id literally, so ADDLOCAL=ALL
(which installs every feature, Agent Tunnel included) wrongly skipped the Agent
Tunnel dialog. Also recognize the ALL keyword. Tokens are matched case-sensitively,
the same way Windows Installer matches ADDLOCAL feature names and the ALL keyword,
keeping the dialog decision in lockstep with whether MSI will actually install the
feature (and therefore run EnrollAgentTunnel).

Empty enrollment string intentionally keeps failing the install: the Agent Tunnel
feature is opt-in (not installed by default), so selecting it without a string is a
misconfiguration that should surface, not be silently skipped.
@irvingoujAtDevolution irvingouj@Devolutions (irvingoujAtDevolution) changed the title fix(agent-installer): tolerate unattended Agent Tunnel installs fix(agent-installer): show Agent Tunnel dialog for ADDLOCAL=ALL May 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant