# Change 005: Dual Executable Builds

## Summary
Produce two executables:
1. **Staff build** — Full UI, runs like normal RustDesk when launched
2. **Client build** — Background install, unattended access, tray icon shows ID number

## Approach
Both builds share the same codebase. The difference is in the installer/launch behavior:
- Staff: standard install, launches with full window
- Client: silent install as service, auto-starts, minimized to tray, shows ID on hover/click

This can be achieved via:
- Two NSIS installer scripts with different default options
- OR a command-line flag (e.g. --mode=client) that controls default behavior
- OR a compile-time feature flag

## Recommended: Two NSIS installers
- `NetExperts-Support-Staff.exe` — standard install, desktop shortcut, full UI
- `NetExperts-Support-Client.exe` — silent service install, tray only, no desktop shortcut

The client installer:
- Runs with /S (silent) flag by default
- Installs as Windows service automatically
- Starts the service immediately
- Creates start menu shortcut (for viewing ID)
- Tray icon shows the machine's ID number on click

## Risk Assessment
- **Breaking risk**: Medium — installer logic changes, service behavior
- **Regression areas**: Install flow, service registration, tray behavior, UI visibility

## Test Cases
1. Staff installer: shows UI, user can control, connects to others
2. Client installer: silent install, service starts, tray shows ID
3. Client: survives reboot, service auto-starts
4. Client: tray icon click shows ID number clearly
5. Client: start menu shortcut opens window showing ID
6. Both: connect successfully through support.nxx.au
7. Both: appear in directory server after connection
