Headless / Console Client Installation

The Prima client installer can run without its graphical interface, so client applications can be installed silently — from a Command Prompt, a PowerShell session, or an automated deployment tool such as Group Policy, SCCM, or an RMM. This is the recommended approach when rolling out clients to many workstations at once.

There are two ways to drive a headless install:

Run the installer directly
Call InstallPrimaClients.exe with the console verb. The clients require the .NET Desktop Runtime to already be present on the machine.
Use the PowerShell wrapper script
Run Install-PrimaClients.ps1, which installs the .NET Desktop Runtime if it is missing, runs the installer, and then verifies the installed product versions. This is the easiest option for a fresh machine.
Run as Administrator. Both options must be executed from a Command Prompt or PowerShell session that has administrator access.
Prerequisite. The Prima application server must be fully installed and reachable before any client can be installed. See Client Installation for hardware, network, and runtime requirements.

Running the Console Installer

Execute InstallPrimaClients.exe with the console verb from a PowerShell or Command Prompt window that has administrator access.

Install only the Workstation application (most common)

.\InstallPrimaClients.exe console -u 'https://localhost:5001' -p 'ws'

Install Workstation and Pathologist together

.\InstallPrimaClients.exe console -u 'https://localhost:5001' -p 'ws p'

Associate the install with a specific workstation

.\InstallPrimaClients.exe console -u 'https://localhost:5001' -p 'ws' -w 'accession'
Multiple programs: pass them as a single space-separated value to -p (for example -p 'ws p lm'). See the Options Reference for the full list of program codes.

Options Reference

The console verb accepts the following options:

Option Required Description
-u, --server Yes The URL of the Prima server. Must include the protocol (http:// or, more typically, https://).
-p, --programs Yes The applications to install, separated by a space. See the program codes below.
-w, --workstation No The workstation the user is associated with. Defaults to the workstation previously used to install clients, or the machine's name on a fresh install. Creates a new entry in the Prima database if the workstation does not already exist.
-f, --force No Forces a reinstall of the clients even if they are already installed.

Program codes

Pass one or more of these to -p, separated by spaces. Either form may be used.

Application Short code Long code
Workstationwsworkstation
Control Panelcpcontrolpanel
Pathologistppathologist
Lab Managerlmlabmanager
Label Template Creatorltclabeltemplatecreator

PowerShell Installation Script

Install-PrimaClients.ps1 wraps the console installer and handles the prerequisites for you. It:

  1. Downloads and installs the .NET Desktop Runtime 10.0.x if it is not already installed.
  2. Runs the Prima headless installer with the arguments you supply.
  3. Verifies the installed product(s) version against the installer's version.

Download Install-PrimaClients.zip

The script is provided as a .zip archive containing Install-PrimaClients.ps1. Extract it before running. Depending on your PowerShell execution policy you may need to unblock the file first (Unblock-File .\Install-PrimaClients.ps1) or run it with powershell -ExecutionPolicy Bypass -File .\Install-PrimaClients.ps1 ....
Run as Administrator. The script declares #Requires -RunAsAdministrator and will refuse to run otherwise.

Parameters

Parameter Required Description
-ServerUrl Yes The URL of the Prima server endpoint (for example https://localhost:5001/).
-Programs Yes Space-separated list of programs to install (same codes as the console installer).
-Workstation No The workstation name the user is associated with.
-Force No Forces a reinstall of the clients even if already installed.
-SkipDotNetInstall No Skips the .NET Desktop Runtime installation (useful when it is already installed).
-InstallerPath No Path to InstallPrimaClients.exe. Defaults to the current directory.

Examples

Install the Label Template Creator and associate it with the accession workstation:

.\Install-PrimaClients.ps1 -ServerUrl 'https://localhost:5001/' -Programs 'ltc' -Workstation 'accession'

Force a reinstall of Workstation, Pathologist, and Lab Manager:

.\Install-PrimaClients.ps1 -ServerUrl 'https://prima.example.com' -Programs 'ws p lm' -Force

Install Workstation and Pathologist when the .NET Desktop Runtime is already present:

.\Install-PrimaClients.ps1 -ServerUrl 'https://localhost:5001/' -Programs 'workstation pathologist' -SkipDotNetInstall

Gotchas

Provide the workstation on older versions and fresh installs
Automatically creating a workstation had a bug in versions below 3.4.0. The -w / -Workstation value must be provided if the software is not on the latest version, or if it is a brand-new install.
Single quotes vs double quotes
Command Prompt uses double quotes; PowerShell uses single quotes. Match the quoting style to the shell you are running the command in.
Include the server's protocol
Make sure to include the HTTP protocol of the server — the server URL should start with http:// or, more typically, https://.

Installer Exit Codes

The console installer returns the following exit codes, which the PowerShell script reports on failure:

Code Meaning
0Success
1Parse error (check the command-line arguments)
2Unhandled exception
4Missing manifest file
8Lab site mismatch (likely the wrong client installer for this server)
Logs: if an install fails, textual log files are written to C:\ProgramData\FortelineaSoftwareSystems\Prima\Logs. The Windows Event Viewer (Application and System logs) is also a good place to check.