Deploying client displays and operator interfaces for FrameworX solutions.
Parent Page: Deployment (Reference)
Client Types
Client Type | Platform | Deployment | Use Case |
---|---|---|---|
Rich Client | Windows only | ClickOnce or MSI | Full features, local performance |
Smart Client | Windows only | ClickOnce | Auto-update, reduced footprint |
Web Client | Any browser | URL access | Cross-platform, zero install |
Mobile Client | iOS/Android | App store | Field access, responsive design |
Rich Client Deployment
ClickOnce Deployment
Setup on Server:
- Configure in Displays → Clients → Rich
- Set ClickOnce publishing location
- Configure update settings
- Build and publish
Client Installation:
http://server:10108/RichClient/setup.exe
Features:
- Automatic updates
- Certificate signing
- Offline capability
- Full .NET Framework access
MSI Package Deployment
For enterprise deployment via Group Policy:
- Generate MSI installer
- Configure silent installation
- Deploy via SCCM or Group Policy
Silent Install:
cmd
msiexec /i FrameworXClient.msi /quiet
SERVER=server.domain.com
PORT=10108
Smart Client Deployment
Lightweight Windows client with auto-update:
Deployment URL:
http://server:10108/SmartClient.application
Requirements:
- .NET Framework 4.8
- Internet Explorer 11+ or Edge
- XAML Browser Applications enabled
Configuration:
xml
<configuration>
<appSettings>
<add key="ServerAddress" value="server.domain.com"/>
<add key="ServerPort" value="10108"/>
<add key="UseWindowsAuth" value="false"/>
</appSettings>
</configuration>
Web Client (HTML5) Deployment
Server Configuration
Enable in Solution:
- Displays → Clients → HTML5
- Configure display conversion
- Set responsive breakpoints
- Publish to server
Access URL:
http://server:10108/html5/
Browser Requirements
Browser | Minimum Version | Notes |
---|---|---|
Chrome | 90+ | Recommended |
Edge | 90+ | Recommended |
Firefox | 88+ | Full support |
Safari | 14+ | iOS compatible |
Mobile Optimization
Configure viewport and touch settings:
html
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="mobile-web-app-capable" content="yes">
Mobile Client Deployment
iOS Deployment
Requirements:
- iOS 14+
- iPhone 8 or newer
- 100 MB storage
Distribution Methods:
- App Store (public)
- TestFlight (testing)
- Enterprise distribution
Android Deployment
Requirements:
- Android 8.0+
- 2 GB RAM minimum
- 100 MB storage
Distribution Methods:
- Google Play Store
- APK direct install
- MDM deployment
Configuration
Mobile client settings:
json
{
"serverUrl": "https://server.domain.com",
"port": 10108,
"useSSL": true,
"offlineMode": false,
"syncInterval": 30
}
Client Auto-Start
Windows Auto-Start
Using AutoStartClient.exe:
cmd
AutoStartClient.exe /server:192.168.1.100 /port:10108 /display:MainScreen
Windows Startup Folder:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp\
Kiosk Mode
Rich Client Kiosk:
cmd
StartRichClient.bat /kiosk /display:KioskDisplay /preventclose
Browser Kiosk (Chrome):
cmd
chrome.exe --kiosk --app="http://server:10108/html5/"
Client Connection Security
Windows Authentication
Configure for domain environments:
xml
<security mode="Transport">
<transport clientCredentialType="Windows"/>
</security>
SSL/TLS Configuration
For secure connections:
- Install SSL certificate on server
- Configure HTTPS binding
- Update client URLs to use HTTPS
- Set certificate validation policy
Troubleshooting Client Deployment
Issue | Solution |
---|---|
ClickOnce fails | Check .NET Framework, enable XAML browser apps |
Web client slow | Enable compression, check network latency |
Mobile connection lost | Configure offline mode, increase timeout |
Authentication fails | Verify credentials, check domain trust |
Server Configuration (Reference)
Configuring FrameworX runtime servers for production operations.
Parent Page: Deployment (Reference)
Server Architecture
Core Components
Component | Function | Default Port |
---|---|---|
TServer.exe | Runtime engine | N/A (internal) |
TWebServices | Remote access, web clients | 10108 |
Database | Tag values, history, alarms | 1433 (SQL Server) |
TSecureGateway | Multi-site routing | Configurable |
Runtime Configuration
Startup Settings
Configure in Runtime → Startup:
Auto-Start Options:
- Start when computer starts
- Start as Windows Service
- Delay start (seconds)
- Auto-restart on failure
Command Line Parameters:
cmd
TServer.exe /solution:MySolution.tproj
/port:10108
/disableinterface
/trace:verbose
Memory Management
Large Solutions (>50,000 tags):
xml
<runtime>
<gcServer enabled="true"/>
<gcConcurrent enabled="true"/>
<GCHeapCount>8</GCHeapCount>
</runtime>
Database Configuration
Embedded SQLite (Default)
Location: Solution folder Size Limit: 50,000 tags recommended Backup: Copy .db files when runtime stopped
External SQL Server
Connection String:
Server=sqlserver.domain.com;
Database=FrameworX;
User Id=fxuser;
Password=SecurePass123!;
Required Permissions:
- db_datareader
- db_datawriter
- db_ddladmin (for table creation)
Time-Series Optimization
For historian data:
sql
CREATE INDEX IX_Timestamp ON HistorianData(Timestamp)
CREATE INDEX IX_TagName ON HistorianData(TagName, Timestamp)
Network Configuration
Firewall Rules
Required Ports:
Port | Protocol | Direction | Purpose |
---|---|---|---|
10108 | TCP | Inbound | TWebServices/Clients |
1433 | TCP | Outbound | SQL Server |
502 | TCP | Outbound | Modbus devices |
102 | TCP | Outbound | S7 PLCs |
Windows Firewall:
cmd
netsh advfirewall firewall add rule name="FrameworX Runtime"
dir=in action=allow protocol=TCP localport=10108
Network Adapters
For multi-homed servers:
xml
<networkSettings>
<bindToIP>192.168.1.100</bindToIP>
<clientInterface>192.168.1.0/24</clientInterface>
<deviceInterface>10.0.0.0/24</deviceInterface>
</networkSettings>
Performance Tuning
Windows Optimization
Power Settings:
cmd
powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c
(High Performance plan)
Process Priority:
cmd
wmic process where name="TServer.exe" CALL setpriority "high"
Linux Optimization
System Limits:
bash
# /etc/security/limits.conf
frameworkx soft nofile 65536
frameworkx hard nofile 65536
frameworkx soft nproc 32768
frameworkx hard nproc 32768
CPU Affinity:
bash
taskset -c 0-3 /opt/frameworkx/TServer.exe
Monitoring
Performance Counters
Monitor these metrics:
- CPU usage < 70%
- Memory usage < 80%
- Disk queue length < 2
- Network utilization < 60%
Log Configuration
xml
<logging>
<level>Information</level>
<maxFileSize>100MB</maxFileSize>
<maxFiles>10</maxFiles>
<path>C:\Logs\FrameworX\</path>
</logging>
Health Checks
Configure endpoint for monitoring:
http://server:10108/health
Returns: CPU, Memory, Disk, Service Status
Backup and Recovery
Backup Strategy
Daily Backup:
- Stop runtime (if possible)
- Backup solution files (.tproj, .dbsln)
- Backup database
- Backup configuration files
- Restart runtime
Backup Script:
powershell
Stop-Service "FrameworX Runtime"
Copy-Item "C:\Solutions\*" "\\backup\solutions\" -Recurse
Start-Service "FrameworX Runtime"
Disaster Recovery
RPO/RTO Targets:
- Recovery Point Objective: 1 hour
- Recovery Time Objective: 15 minutes
Recovery Steps:
- Install FrameworX on new server
- Restore solution files
- Restore database
- Update client connections
- Verify operation