Architecture & Processes
Deck's two-process design, the named-pipe channel between them, and how it starts
Understanding Deck's process model helps administrators reason about what's running, how it starts, and where to look when something misbehaves.
Two processes
Deck runs as two cooperating processes on the local machine:
| Process | Executable | Role |
|---|---|---|
| UI | Vediram.Deck.exe | The WinUI 3 window and tray icon the user interacts with. Holds no state - it asks the daemon for everything. |
| Core daemon | Vediram.Deck.Core.exe | The background worker that does the real work and owns all state. |
The daemon is where registry scanning, profile activation, policy evaluation, the SQLite database, metrics collection, crash analysis, and Excel XLL reconciliation happen. The UI is a thin client over it.
The named pipe
The two processes communicate over a local named pipe called VediramDeck using JSON-RPC. Key properties:
- Machine-local only - the pipe is not a network endpoint. Nothing listens on any TCP/UDP port.
- Bidirectional - besides request/response, the daemon pushes notifications to the UI (for example when a profile is activated or a new crash report is detected), so the UI updates live.
- One UI client at a time.
Because it's a local pipe, no firewall rule or network permission is involved.
Startup and lifetime
- Launching the UI (from the Start menu or tray) auto-starts the daemon if it isn't already running.
- Each process is single-instance, guarded by a named mutex -
VediramDeckUIfor the UI andVediramDeckCorefor the daemon - so you never get two daemons fighting over the registry. - The daemon keeps running in the background after you close the window, which is what allows metrics collection and tray-based profile switching to continue.
- Exit from the tray menu stops both the UI and the daemon.
Auto-start
When start-with-Windows is enabled, Deck adds a Run entry that launches the daemon (not the UI):
HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
VediramDeck = "…\Vediram.Deck.Core.exe"
This can be forced on or off with the AutoStart policy. See Settings and the Policy Reference.
What the daemon does in the background
While running, the daemon:
- discovers and re-scans add-ins across the Office registry paths (see Registry Details);
- applies profiles and, unless
DisableLiveToggleis set, toggles add-ins in running Office processes over COM; - evaluates Group Policy at startup;
- loads managed profiles from
ManagedProfilesPathif configured; - reconciles Excel
OPENentries against the Managed Extensions policies; - samples add-in metrics on the polling interval;
- watches the crash-dumps folder and analyzes new dumps.
No network dependency
Deck makes no outbound HTTP calls and requires no authentication. The only optional off-box dependency is a file share you point ManagedProfilesPath (or a Folders policy) at. See Overview.