Installation
This page details the recommendations, requirements, and steps for installing Halo Link on a practice server or in a integration development environment.
For specific details regarding how Halo Link interacts with different PMS solutions, please see the relevant guides:
Jump to...
Recommendations Requirements For practices For integrators
Recommendations
- Halo Link should be installed on the same server as the PMS database unless installation in another location is required.
- To install on a secondary server, configure the Database Hostname as appropriate during installation.
- Halo Link should not be installed on practice staff workstations or other practice computers.
- Halo Link should only be installed once per PMS database instance. The number of practices or locations connected to the database does not matter. If a group of practices share a PMS database, they will also share a single Halo Link installation.
Server configurations and changes
Halo Link is designed to operate on most server configurations, however backups, migrations, and more advanced setups can require extra steps. See Server config for more information.
Requirements
PMS requirements
To connect to a PMS database, Halo Link requires certain versions. Halo Link may also be bundled with the PMS database software, depending on the PMS and its version.
Minimum | Recommended | Bundled | |
---|---|---|---|
Bp Premier | October 2022 Data Update | July 2023 Data Update | From July 2023 Data Update |
Zedmed | v36.9 | v36.9 | From v36.9 |
D4W/D4Web | Any | Any | Not bundled |
System requirements
Halo Link requires the following:
Minimum requirement | Notes | |
---|---|---|
.NET Framework | .NET Framework 4.8 | .NET Framework and .NET Core appear to be the same, but are different products. Installing .NET 6.0 won't satisfy the requirement of .NET Framework 4.8. |
Microsoft Windows | Any Microsoft Windows Server version supported by Microsoft | Full support: Microsoft Windows Server 2022 and 2019. Security support: Microsoft Windows Server 2016. |
Clock drift | <60 seconds | To fix clock drift >60 seconds, open PowerShell with Admin Privilege and resync the clock by running w32tm /resync . |
Firewall/antivirus | See Security requirements below | See Security requirements below |
Security requirements
Antivirus & Malware detection
To prevent Halo Link being falsely detected as malware, add the Halo Link installation and update directories to the antivirus's ignore/approve lists.
For the Halo Link Service:
C:\Program Files (x86)\Halo Connect\Halo Link
For the Halo Link Updater:
C:\ProgramData\Halo Connect\Halo Link
Firewall/proxy configuration and Halo Link URLs
Halo Link requires the following URLs to be whitelisted by the server's firewall or proxy:
For the Halo Link Service:
https://am-haloapi-prod-001.azure-api.net
https://api.haloconnect.io/
wss://wps-haloapi-prod.webpubsub.azure.com
For the Halo Link Updater:
https://prodhalolinkrelease.blob.core.windows.net
https://downloads.haloconnect.io/
Proxy server configuration
Halo Link is specifically designed for installation on servers within private networks, positioned behind routers and firewalls. However, Halo Link does not explicitly support proxy servers, and as a result, does not have a specific configuration option for proxy server settings.
It can be implicitly configured since Windows or the .NET framework provide solutions depending on your network configuration.
Proxy server configuration workarounds (click to expand)
HaloLinkService.config File
This method allows for specific configuration but may be susceptible to updates. It is recommended for testing before transitioning to a more permanent location. The configuration file is located at:
Add the following configuration element to the XML:<system.net>
<defaultProxy>
<proxy proxyaddress="http(s)://<proxyhost>:<proxyport>" />
</defaultProxy>
</system.net>
This option covers all .NET applications and persists through product updates. Locate the Machine.Config file at:
Commonly found here: Add the following configuration element to the XML:<system.net>
<defaultProxy>
<proxy proxyaddress="http(s)://<proxyhost>:<proxyport>" />
</defaultProxy>
</system.net>
This method sets proxy settings for all Windows Services, offering robust persistence through application and .NET updates. Use the following command based on your system architecture and Windows version:
For 64-bit Windows:
For 32-bit Windows: References:Proxy Configuration:
Configuration Files: Configuring Apps using Configuration Files - .NET Framework | Microsoft Learn
NetSH WinHTTP: Netsh Commands for Windows Hypertext Transfer Protocol (WINHTTP) | Microsoft Learn
Further examples: Thick Client Proxying - Part 8 - Notes on Proxying Windows Services
Installation prerequisites
To install Halo Link, you will need either:
- A PMS database installer which includes Halo Link as part of the bundle, or
- The appropriate Halo Link installer for the PMS solution you wish to connect to.
See PMS requirements to check if your PMS software includes Halo Link.
To request a Halo Link installer, contact our Support team.
If installing using the Halo Link MSI or via the command line, you may need to set the following variables:
Field | Description | Default |
---|---|---|
Database Hostname | The database server and instance name in the format <SQLServerName>\<InstanceName> |
PMS dependent. See below. |
Environment | Which environment Halo Link should use. Practices should only use Production . Integrators usually need Stage . |
Production |
Database hostname
The default database hostname depends on which PMS Halo Link is connecting to:
PMS | Default | Notes |
---|---|---|
Bp Premier | .\BPSINSTANCE |
If Bp Premier and Halo Link are installed on the same server, the default value should be correct. |
Zedmed | N/A | Halo Link detects the databases automatically. |
D4W/D4Web | N/A | Halo Link detects the database automatically. |
Environment
Halo Link can be installed such that it targets either our production or staging environment.
- Production is designed for live practice servers. This is the default.
- Staging is designed for integrators developing and testing their integrations.
For practices and IT providers, environment does not need to be specified as live practice servers should use Production, as per the default.
For integrators, the recommended way to install Halo Link is via the command line, as it is the easiest way to set Link to target Stage
.
For practices
There are three options for installation:
Recommended: Install via PMS bundle
Some PMS software includes Halo Link. For example, for Bp Premier customers, installing a Bp Premier Data Update or Service Pack will automatically install Halo Link.
See PMS requirements to check if your PMS software includes Halo Link.
Limitations:
- Installing Halo Link via a PMS bundle does not allow for configuration of Database Hostname.
Installation steps (click to expand)
Installation steps:
- See the PMS vendor's documentation for installation instructions.
Notes:
- If Halo Link was already installed on the server, the PMS installer may re-install Halo Link using the bundled version.
- If the bundled Halo Link version is older than the latest version, Halo Link will install then immediately update.
- If Halo Link was already installed on another server, the PMS installer will also install it on the same server as the PMS database. Due to the restrictions around authoritative Halo Link instances, the newer installation of Halo Link will be marked non-authoritative. Integrators will continue to communicate with the database via the older authoritative Halo Link installation. See the documentation on authoritative Halo Link instances for how to change which server is authoritative.
Install via installation wizard
Installation steps (click to expand)
Installation steps:
- Download the Halo Link
.msi
file from the provided download URL. - Find the
.msi
file and double-click the file to run it. - Follow the installation wizard's prompts.
Screenshots of installation process (click to expand)
Notes:
- Installation via installation wizard requires administrator permissions.
Install via command line
Installation steps (click to expand)
Installation steps:
- Download the Halo Link
.msi
file from the provided download URL. - Open a new command prompt as an Administrator.
- Use the
msiexec
command to run the.msi
file with the appropriate parameters. See the Microsoftmsiexec
docs for the full list of available parameters.- Use
/i
to specify a normal installation. - Specify the path to the
.msi
file - Choose a display option.
- Optional: Specify Halo Link parameters:
DATABASE_HOSTNAME
- Use
Recommended display options:
Parameter | Description |
---|---|
/qf |
Default. Full installation wizard UI. |
/qr |
Reduced installation wizard UI that skips action steps. |
/qb or /passive |
Basic UI with only a progress bar. |
/qn or /quiet |
No UI. |
Command example:
msiexec /i C:\path\to\halolink.latest.msi /quiet /qn
DATABASE_HOSTNAME=<SQLServerName>\<InstanceName>
For integrators
Integrators should only set Halo Link to Stage
for development and test environments. Production
should only be used for live practice servers.
There are a few things to note on installing Halo Link in non-production environments:
- PMS software with Halo Link bundled will install in
Production
unless the registry is pre-set toStage
. When installing PMS software which has Halo Link bundled, it will default toProduction
and will set the registry values to reflect that unless the registry is already set toStage
. This is to simplify installation for practices, but does mean extra installation steps for integrators. - Switching Halo Link's environment requires removing registry values. To switch Halo Link from
Production
toStage
, you will need to remove uninstall it, remove its registry values, and reinstall it. - Halo Link will fail to bootstrap if it can't find a PMS database. Installing Halo Link before PMS software will cause it to fail to bootstrap, due to not being able to find a PMS database to connect to. Do not install Halo Link before PMS software.
Setting the environment
Setting Halo Link to Stage
only needs to be done on first install on a new machine -- for subsequent installs or updates, provided the registry isn't cleared, Halo Link will honour the environment it was previously set to.
Installation options
Set registry before install
The easiest way to set Halo Link to Stage
is to set the registry before installing PMS software which includes Halo Link, as the bundled installer will then honour the registry entry for environment. However, provided the registry is set first, any of the installation methods listed in the For practices section will work.
Installation steps (click to expand)
Installation steps:
- Add the necessary value to the registry before installation. This can be done by running the following PowerShell script:
- Install Halo Link using any of the methods described in the For practices section.
Updates and reinstalls
Once the registry has been set to Stage
, any subsequent updates or reinstalls of Halo Link on the same machine will honour the registry values. So no extra steps are required to keep Halo Link set to Stage
.