Command-line utility for installing and uninstalling the FrameworX Windows services from scripts.
Reference → Installation Folders and Utilities → TManageServices CLI
Version 10.1.5+
TManageServices.exe ships in the FrameworX utilities folder and wraps the install, uninstall, and start logic for every Windows service delivered by the product.
Use it directly from PowerShell, SCCM, Intune, Ansible, or any other automation pipeline. The Designer Runtime Startup tab calls the same utility through its AutoStartup button.
Syntax
TManageServices.exe <command> [options]
Running the utility with no arguments, /?, /help, --help, or -h prints the full help text and exits with code 0. (Help-flag dispatch is new in 10.1.5.)
All service install and uninstall commands require elevated privileges. Launch the shell as Administrator.
Commands
TStartup
| Command | Effect |
|---|---|
/installtstartup /solution:"<path>" [/profile:<n>] | Installs TStartup as TStartup-<SolutionName> pointing at the named solution file. |
/uninstalltstartup /solution:"<name>" | Removes the TStartup service bound to the named solution. |
Other Services
| Command | Effect |
|---|---|
/installtwebservices / /uninstalltwebservices | Installs or removes TWebServices. |
/installtsecuregateway / /uninstalltsecuregateway | Installs or removes TSecureGateway. |
/installthardkey / /uninstallthardkey | Installs or removes THardkey (license daemon). |
/installtmqttbroker / /uninstalltmqttbroker | Installs or removes TMQTTBroker. |
/installruntimemcphttp / /uninstallruntimemcphttp (New in 10.1.5) | Installs or removes the .NET 10 RuntimeMCPHttp service. The registered command line is dotnet "<path>\net10.0\RuntimeMCPHttpService.dll". |
/removeallservices | Uninstalls every FrameworX service in one call. See the note in Exit Codes below. |
/installModbusRTUSim | Creates and populates registry keys under HKLM\SOFTWARE[\WOW6432Node]\Adroit Technologies\Adroit\Simulators\ModbusRTUSim and the matching HKCR\VirtualStore\MACHINE\SOFTWARE paths. |
Options (New in 10.1.5)
| Option | Description |
|---|---|
/silent, /unattended, /quiet (New in 10.1.5) | Force unattended mode. The utility skips the "Press Enter to continue" prompt on error and always returns to the caller. |
/solution:"<value>" | Required for /installtstartup and /uninstalltstartup. Accepts a solution file path on install and a solution name on uninstall. |
/profile:<n> | Optional TStartup profile index. |
/?, /help, --help, -h (New in 10.1.5) | Print the help text and exit with code 0. |
When stdin is redirected (piped input from a script), the utility treats the session as unattended automatically, even without an explicit /silent flag. (Auto-detection is new in 10.1.5.)
The /silent, /unattended, and /quiet flags never appear in the registered service ImagePath. All other arguments pass through to the service install step.
Exit Codes (New in 10.1.5)
| Code | Meaning |
|---|---|
0 | All requested operations succeeded. |
N | Number of failed operations in the invocation. The utility aggregates failures across TSecureGateway, TStartup, and the TWebServices / THardkey / TMQTTBroker / RuntimeMCPHttp loop. |
In PowerShell, read $LASTEXITCODE after the call to branch your pipeline.
Exception: /removeallservices always returns exit code 0, even when individual uninstalls fail. Error messages from that command appear on stdout only. For scripted failure detection, issue individual /uninstall* commands and read $LASTEXITCODE after each.
Examples
PowerShell Install
& "C:\Program Files\Tatsoft\FrameworX\fx-10\Utilities\TManageServices.exe" `
/installtstartup `
/solution:"C:\Solutions\Plant1.tproj" `
/silent
if ($LASTEXITCODE -ne 0) { throw "TStartup install failed with $LASTEXITCODE errors." }
Uninstall a Single Service
TManageServices.exe /uninstalltstartup /solution:"Plant1" /silent
Remove Every FrameworX Service
TManageServices.exe /removeallservices /silent
Capture Help to a File
TManageServices.exe /? | Out-File help.txt
Interactive vs Unattended (New in 10.1.5)
| Mode | Behavior on Error |
|---|---|
Interactive (no /silent, stdin not redirected) | Prints Press Enter to continue... and waits. |
Unattended (/silent present or stdin redirected) | Exits immediately with a non-zero code equal to the number of failures. |
In this section...