Understand folder structure and built-in utilities.
Reference → Installation → Folders | Licensing | Updates | SecureGateway | Web Server
Overview
Directory structure and file locations created by FrameworX installation.
Executables Installation
Default location: C:\Program Files\Tatsoft\FrameworX\
Custom paths can be selected during installation.
User Document Folders
Created on first execution under <User>\Documents\FrameworX\:
| Folder | Purpose |
|---|---|
| AISetup | installation files for LLM and AI integration |
| Demos | Demo solutions from installer |
| Solutions | Default location for new solutions |
| ToolsSettings | Product tool configurations |
| Utilities | Command-line utilities |
Public Document Folders
Created under C:\Users\Public\Documents\FrameworX\:
| Folder | Contents |
|---|---|
| MachineSettings | Settings for all users on machine |
| SystemSolutions | Library.dbsln (Symbol Library), Monitor.dbsln (Monitoring tools) |
| Templates | Solution templates - add .dbsln files for custom templates |
| TraceLogs | Diagnostic logs and exception reports |
| Exchange | Import/Export/Upload/Download operations |
Log Locations
The runtime and supporting services write trace logs to a configurable location. The default is user-visible under Public\Documents, and enterprise deployments can relocate to ProgramData:
| Location | When used | Notes |
|---|---|---|
C:\Users\Public\Documents\FrameworX\TraceLogs\ | Default for interactive and desktop installs | User-visible, shared across all users on the machine |
C:\ProgramData\Tatsoft\FrameworX\Logs\ | Recommended for enterprise server deployments (configurable) | Matches Windows conventions for operational data; automatically scanned by Splunk forwarder, Datadog agent, Azure Monitor, and ELK agents |
<custom> | Configurable via Solution Settings | Set the log folder per solution or per deployment |
Install logs are written separately:
- Silent install: path specified by
/LOG=<path>command-line switch - Interactive install:
%TEMP%\Setup Log YYYY-MM-DD #xxx.txt
Windows Event Log: Windows logs basic service lifecycle events (start, stop, unexpected termination) to the System event log under source Service Control Manager for any installed FrameworX Windows service. SCOM, Azure Monitor, Datadog, and similar Windows-native monitoring tools pick these up automatically without any custom configuration. Application-level events (solution load errors, license failures, module exceptions) are written to the runtime TraceLogs — check there for detail when an Event Log entry indicates a failed start.
For the enterprise deployment workflow, see IT Deployment RunBook.
Installed Utilities
Located in Utilities folder (or product root for service management):
| Utility | Function |
|---|---|
| AutoStartClient.exe | Auto-start web pages or thin clients based on server status |
| CertificateConverter.exe | Convert .pem to .pfx certificates for MQTT drivers |
| DisableTaskSwitchProtection.bat | Allow task switching (Rich Clients) |
| EnableTaskSwitchProtection.bat | Prevent task switching (Rich Clients) |
| RemoveAllServices.bat | Remove all installed services (TWebServices, Hardkey, TStartup) — wrapper for TManageServices.exe /removeallservices |
| StartDesignerMCPHttp | Starts the DesignerMCP listener to accept HTTP connectivity |
| StartRichClient.bat | Launch Rich Client locally |
| StartRuntime.bat | Start solution execution locally |
| StartWebServices.bat | Start TWebServices in user mode |
| Solution Creator.exe | Solution creation utility |
| TDatabaseBuilder.exe | SQLite database administration |
| TManageServices.exe | Command-line Windows Service install/uninstall for TStartup (runtime), TWebServices, TSecureGateway, TMQTTBroker, THardkey, RuntimeMCPHttp. Run TManageServices.exe /? for usage. Located in the product root, not Utilities. |
Custom Installation Paths
For Linux/Docker deployments, create custompaths.txt in installation folder:
MyDocuments=<folder>
CommonDocuments=<folder>
CommonApplicationData=<folder>Typically points to memory areas outside Docker image for read/write access.
In this section...