Skip to main content
The APM Tray Application runs in your Windows system tray, providing quick access to start, stop, and monitor the WorkerService and UI application.

What is the Tray Application?

The tray app is a lightweight Windows application that:
  • Displays the WorkerService status in real-time
  • Allows starting and stopping the WorkerService process
  • Provides quick access to the APM UI
  • Runs on Windows startup (optional)
  • Lives in the system tray (notification area)
APM Tray Icon

Starting the Tray Application

1

Launch TrayApp.exe

Navigate to your APM installation directory and run TrayApp.exe.Default location: C:\Program Files\AppsielPrintManager\trayapp\TrayApp.exe
2

Find the Tray Icon

Look for the APM icon in your Windows system tray (bottom-right corner of screen).If hidden, click the ^ arrow to show hidden icons.
3

Access the Menu

Right-click the tray icon to open the context menu.

Tray Menu Options

Right-click the tray icon to access:
Menu ItemDescription
Abrir UIOpens the APM user interface application
Estado: [Status]Displays current WorkerService status (read-only)
Iniciar WorkerServiceStarts the WorkerService process
Detener WorkerServiceStops the WorkerService process
SalirExits the tray app and stops WorkerService

WorkerService Status Indicators

The status menu item shows the current state:
Status: Running ✓
Icon: Green indicator
The WorkerService is active and processing print jobs.Available actions:
  • Detener WorkerService (enabled)
  • Iniciar WorkerService (disabled)
The status updates automatically every 1 second to reflect the current state.

Using the Tray Application

Opening the UI

1

Right-click Tray Icon

Right-click the APM tray icon in the system tray.
2

Select Abrir UI

Click Abrir UI from the menu.
3

Wait for UI Launch

The MAUI UI application will launch in a new window.A confirmation message appears when the UI starts successfully.
If the UI is already running, you’ll see a message: “La UI de Appsiel Print Manager ya está en ejecución.”

Starting the WorkerService

1

Check Status

Ensure the status shows Detenido (stopped).
2

Click Iniciar WorkerService

Select Iniciar WorkerService from the menu.
3

Verify Started

Wait for the confirmation message and check that status changes to En Ejecución.
The WorkerService will:
  • Start as a background process
  • Begin listening for print jobs
  • Connect to configured printers and scales
  • Run without a visible window

Stopping the WorkerService

1

Check Status

Ensure the status shows En Ejecución (running).
2

Click Detener WorkerService

Select Detener WorkerService from the menu.
3

Verify Stopped

The process will terminate and status will change to Detenido.
Stopping the WorkerService will interrupt any in-progress print jobs.

Exiting the Tray Application

1

Select Salir

Right-click the tray icon and select Salir.
2

Automatic Cleanup

The tray app will automatically:
  1. Stop the WorkerService if running
  2. Close the UI if open
  3. Remove the tray icon
  4. Exit completely
Exiting the tray app does NOT uninstall APM - it simply stops the current session.

Automatic Startup

To run the tray app automatically when Windows starts:
1

Open Startup Folder

Press Win + R, type shell:startup, and press Enter.
2

Create Shortcut

Right-click in the Startup folder and select New > Shortcut.
3

Set Target

Browse to TrayApp.exe in your APM installation directory.Example: C:\Program Files\AppsielPrintManager\trayapp\TrayApp.exe
4

Name Shortcut

Name it “Appsiel Print Manager” and click Finish.
5

Restart to Test

Restart Windows and verify the tray icon appears automatically.

How the Tray App Works

The tray application uses the following logic to manage services:

WorkerService Discovery

The app searches for WorkerService.exe in:
  1. Production path: ../worker/WorkerService.exe (relative to tray app)
  2. Development paths: Various bin/Debug and bin/Release folders

UI Discovery

The app searches for UI.exe in:
  1. Production path: ../UI.exe (relative to tray app)
  2. Development paths: Various bin/Debug and bin/Release folders

Status Monitoring

Every 1 second, the tray app:
  • Checks if WorkerService.exe process is running
  • Optionally checks Windows Service status (if installed as service)
  • Updates menu status and icon
  • Enables/disables menu items accordingly

Troubleshooting

  • Check if TrayApp.exe is running in Task Manager
  • Look in hidden icons (click ^ in system tray)
  • Restart TrayApp.exe with administrator privileges
  • Check Windows notification settings allow tray icons
  • Verify WorkerService.exe exists in the expected path
  • Check for error messages in the tray app popup
  • Ensure no other instance is already running (check Task Manager)
  • Try running WorkerService.exe directly to see detailed errors
  • Verify UI.exe exists in the expected path
  • Check if UI is already running (only one instance allowed)
  • Ensure .NET runtime is installed for MAUI applications
  • Check Windows Event Viewer for application errors
  • The tray app may not have permission to query process status
  • Run TrayApp.exe as administrator
  • Check if Windows Service controller is accessible
  • Check for error dialogs that appear briefly
  • Run from Command Prompt to see console errors
  • Verify all required DLLs are present
  • Check Application Event Log for crash details

Files and Locations

FilePurposeDefault Location
TrayApp.exeMain tray applicationC:\Program Files\AppsielPrintManager\trayapp\
apmtrayicon.icoTray icon graphicC:\Program Files\AppsielPrintManager\trayapp\Resources\
WorkerService.exeBackground serviceC:\Program Files\AppsielPrintManager\worker\
UI.exeMAUI user interfaceC:\Program Files\AppsielPrintManager\

Technical Details

Implementation

  • Platform: .NET 10 WPF (Windows-only)
  • Tray Framework: System.Windows.Forms.NotifyIcon
  • Process Management: System.Diagnostics.Process
  • Service Control: System.ServiceProcess.ServiceController
  • Update Frequency: 1 second polling timer

Process Lifecycle

Installation Guide

Installing APM on Windows

Printer Configuration

Configure printers and devices

Build docs developers (and LLMs) love