GermainUX-Agent Installation

💻 System requirements

  • Windows, 64-bit, with administrator access for the installing user.

  • Microsoft Visual C++ 2015–2022 Redistributable (matching architecture) must already
    be installed. The installer checks for this and blocks installation with a message
    pointing to the official download (aka.ms/vs/17/release/vc_redist.x64 /
    vc_redist.x86) if it's missing — it does not install the redistributable for you.

  • The account that will run the Agent (i.e. whoever is logged on when it autostarts)
    must be a local administrator. The Agent requires elevation to detect processes
    starting and stopping on the machine; if it isn't elevated, it shows an error and exits
    immediately rather than running in a degraded state.

📦 Which installer to use

There are two installer packages. They are not interchangeable x86/x64 builds of the
same product — they package genuinely different things:

Installer

Product name shown in Programs & Features

Installs to

Contains

Setup64 (x64)

GermainUX-Agent

Program Files\\Germain Software\\GermainUX Agent\\

The full agent: GermainUXAgent.exe, GermainUXRumWindows.exe, the x64 GermainCodeProfiler.dll, plus AgentConsole.exe (a manual diagnostic tool).

Setup (x86)

GermainUX-Code Profiler

Program Files (x86)\\Germain Software\\GermainUXCodeProfiler\\

Only the x86 build of GermainUXCodeProfiler.dll (plus its own AgentConsole.exe, x86 build). No tray agent, no UI worker.

In almost all cases, install Setup64. It is the primary running product — the tray
agent, the process watcher, and the UI worker are all x64-only and only ship in that
package. Setup (x86) places an x86 copy of the profiler DLL and its diagnostic console on
the box, for monitoring 32-bit .NET applications. It's provided on-demand rather than as
part of a standard deployment — install it if you have a 32-bit .NET application that
needs CLR-level metrics, or if your GermainUX contact has asked you to.

Both installers can be present on the same machine at once without conflicting — they
have separate product identities, install directories, and upgrade codes.

🛠 Running the installer

  1. Launch the MSI (Setup64.msi for the normal case). Requires administrator rights —
    Windows will prompt for elevation if you're not already running as admin.

  2. Welcome screen → Next.

  3. Agent Settings (or Germain CLR Agent Settings for the x86 installer) — enter
    the GermainUX URL: the base URL of your organization's GermainUX server. Defaults
    to <https://server.cloud.germainux.com.> This is the only value the installer collects,
    and it is written to the registry on install (see
    Agent Settings for exactly where).

  4. Destination Folder — accept the default or choose another install location.

  5. Install, then Finish.

There is no reboot required. On Setup64, the Agent is scheduled to start automatically
the next time an administrator logs on (see Autostart below) — it does not
launch immediately at the end of the install.

📁 What gets installed (Setup64)

File

Purpose

GermainUXAgent.exe

The tray agent.

GermainUXRumWindows.exe

Must remain in the same folder as GermainUXAgent.exe — it is located and launched via a same-directory lookup, not a registry path.

GermainUXCodeProfiler.dll (x64)

Must also remain in the same folder — the Agent resolves it the same same-directory way when attaching the profiler to a monitored .NET process.

AgentConsole.exe

A standalone command-line diagnostic tool. See Troubleshooting.

cpprest_2_10.dll, fmt.dll

Runtime dependencies of the above.

Do not move or rename any of these files independently of one another — the Agent finds
the worker and profiler DLL next to its own executable, not via a configurable path.

🚀 Autostart

GermainUXAgent.exe needs to run elevated but must also run in an interactive user's
session (it owns mouse/keyboard hooks and the tray icon), which rules out both a normal
Run-key shortcut (would prompt for UAC elevation on every logon) and a Windows Service
(can't own an interactive-session tray icon/hooks). Instead, Setup64 registers a
per-machine Scheduled Task that runs "at log on," configured to run with the highest
available privileges for whichever user logs on.

Practical effect:

  • If a local administrator logs on, the Agent starts automatically and silently —
    no UAC prompt.

  • If a non-administrator user logs on, the task runs unelevated and the Agent will
    immediately exit with the "insufficient privileges" error (see
    Troubleshooting). On a machine dedicated to monitoring, make sure
    the account that normally stays logged on is a local admin.

The scheduled task is created on install and removed on uninstall; it isn't visible or
configurable from the installer UI, only from Windows' own Task Scheduler.

📋 Repair / upgrade / uninstall

  • Running a newer version's installer over an existing install performs an upgrade in
    place; the installer blocks attempts to install an older version over a newer one.

  • Uninstalling via Programs & Features removes the installed files, the registry
    autostart task, and the Setup64-only Germain Agent key structure. It does not
    remove any monitoring-rule registry entries you added yourself under ...\\Targets\\ (see
    Agent Settings) — remove those manually if you no longer need them.

  • The GermainUX URL and any other registry settings persist across a repair/upgrade;
    they're only written once at first install, not reset on every install run.