This is the current and authoritative article for ProfileUnity license server errors at logon. If you reached this page from a bookmark or a link in another article, please update it to point here. The two older articles this replaces are retained for reference only and will no longer be updated.
This article replaces and consolidates the following: Please refer to this article going forward. The originals are retained for reference only.
Users receive a pop-up error at logon referencing the ProfileUnity License Server. Two distinct messages are possible, each with a different root cause. This article covers both.
đ Contents
- âē Which Error Message Are You Seeing?
- âē Step 1 â Deploy ClientSettings.xml
- âē Step 2 â Update Client Tools to Read ClientSettings.xml
- âē Step 3 â Test Network Connectivity to the License Server
- âē Step 4 â Verify Console Services Are Running
- âē Port Reference
- âē Deep Troubleshooting â Logs, Connection Strings & Startup.exe
- âē If the Issue Persists â Files to Send to Support
Which Error Message Are You Seeing?
The two messages look similar but have different root causes. Identifying which one you have determines where to start.
| Error Message | Root Cause |
|---|---|
| No ProfileUnity License Server defined. |
ClientSettings.xml
has not been deployed to the client deployment share, or the
client tools have not been updated to read it. The client has
no license server address to connect to.
Start at Step 1.
|
| No ProfileUnity License Server could be contacted. |
ClientSettings.xml
is deployed and the client knows the server address, but the
network connection to the License Server is failing â usually
a firewall, proxy, or service issue.
If Step 1 and 2 are already confirmed, start at Step 3.
|
Work through all steps in order. Steps 1 and 2 resolve the "Defined" error and are also prerequisites for the "Contacted" error â there is no harm in confirming ClientSettings.xml is current before testing connectivity.
Step 1 â Deploy ClientSettings.xml
ClientSettings.xml
contains the connection string the client uses to locate and authenticate
with the License Server. It must be present in the deployment share before
client tools can make any license request.
- Log in to the ProfileUnity Management Console and navigate to the Administration page.
-
In the Client Settings section, verify the following
before deploying:
- ProfileDisk and FlexDisk VMDK Mode â Set to Disable ProfileDisk and FlexDisk VMDK only if you are not currently using ProfileDisk. If ProfileDisk is in use, leave this at its current setting.
-
Deployment Path â Confirm this matches the share
where your ProfileUnity client tools are stored (typically
\\domain\NETLOGON\ProfileUnityor the path shown in your GPO).
-
Click Deploy Client Settings. This uploads
ClientSettings.xmlto your Deployment Path.
If the client settings path is configured in Group Policy, set the Deployment Path in the Management Console to the same share that is configured in the GPO policy. Both must point to the same location.
Step 2 â Update Client Tools to Read ClientSettings.xml
With
ClientSettings.xml
deployed, the client tools must be updated to read it. Use one of the following
methods depending on how your environment is configured.
Option A â GPO Computer Startup Script (recommended)
If a GPO Computer Startup Script is configured, the action required depends
on your VDI technology.
LwL.ProfileUnity.Client.Startup.exe
runs at machine startup and reads
ClientSettings.xml
from the deployment share â but only if the machine goes through a full OS
boot. Technologies that fork from a running parent VM do not boot and therefore
do not run the startup script on the clone.
| Technology | Full boot on clone? | Action required after ClientSettings.xml update |
|---|---|---|
| Citrix MCS | â Yes |
Recompose the pool. Each clone boots fresh, startup script fires,
Startup.exe reads the new
ClientSettings.xml
automatically.
|
| Citrix PVS | â Yes |
Update the vDisk with the new
ClientSettings.xml,
then reboot targets. Startup script fires on each boot.
|
| Horizon Linked Clone | â Yes | Recompose the pool. Each clone boots from the replica, startup script fires on boot. |
| Horizon Instant Clone | â No | Reboot the parent VM â startup script fires on the parent, Startup.exe writes updated config. Then push a new snapshot/image from the refreshed parent. Existing sessions recycle at logoff in the normal rotation. Clones forked before the parent reboot will carry stale config. |
| Citrix MCS Instant Clone | â No | Reboot the seed VM â startup script fires on the seed, Startup.exe writes updated config. Then push a new snapshot from the refreshed seed. Clones forked from the old seed state will carry stale config until recycled. |
Clones inherit the exact memory and disk state of the parent or seed VM at fork time â they do not run through a boot sequence. If
ClientSettings.xml
was updated after the parent or seed VM last booted, all currently running
clones carry the old configuration. They will not pick up the new config
until they are recycled from a refreshed parent or seed.
Option B â Run the Startup Executable Manually
If no GPO Computer Startup Script is configured, run the following from an elevated Command Prompt on the affected machine and then recompose or reboot:
LwL.ProfileUnity.Client.Startup.exe
Step 3 â Test Network Connectivity to the License Server
If the error persists after Steps 1 and 2, the client can find the server
address but cannot reach it over the network. Run the appropriate command
below from an affected desktop session. Replace
<ProU-Server>
with the IP address or FQDN of the ProfileUnity Console server.
ProfileUnity 6.8.5 and later â Port 443
powershell Test-NetConnection -Port 443 -ComputerName <ProU-Server>
ProfileUnity 6.8.4 and earlier â Port 5672
powershell Test-NetConnection -Port 5672 -ComputerName <ProU-Server>
ProfileUnity 6.8.5 replaced RabbitMQ (port 5672) with a direct HTTPS connection on port 443. If you recently upgraded from 6.8.4 to 6.8.5 or later and the error appeared post-upgrade, a firewall rule for port 5672 does not cover the new requirement. Ensure outbound TCP 443 is open from client desktops to the ProfileUnity Console server. Also confirm port 5672 remains available from any 6.8.4 clients still in the environment.
If your environment routes traffic through a web proxy, confirm that proxy is not blocking outbound port 443 TCP from VDI client machines to the ProfileUnity Console server. Proxy interception of the license communication is a common cause of "Contacted" failures that pass a basic port test.
Step 4 â Verify Console Services Are Running
On the ProfileUnity Console server, open services.msc and confirm the following three services are running:
| Service Name | Required State |
|---|---|
| Liquidware Labs ProfileUnity Service | Running |
| Liquidware Labs ProfileUnity License Service | Running |
| MongoDB | Running |
If the Liquidware Labs ProfileUnity License Service is stopped, start it and wait a few minutes to confirm it stays running. Then reboot an affected desktop to test. If the service stops again shortly after starting, it may be crashing â collect the logs in the next section and open a support case.
Antivirus software running on the ProfileUnity Console server can interfere with license request processing, causing the License Service to stop or fail intermittently. If the service stops repeatedly, check whether an AV exclusion is needed for the ProfileUnity installation directory. See: Antivirus Software on ProfileUnity Console May Stop License Processing.
Port Reference
The following table lists all ports required for ProfileUnity communication. Port 8000 is the default Management Console port and can be changed in the Administration section of the Management Console.
| Port | Protocol | From â To | Purpose |
|---|---|---|---|
| 443 | TCP |
Desktops â ProfileUnity Console Admin PC â ProfileUnity Console |
License communication (6.8.5 and later). Primary port for all client licensing fabric requests. |
| 8000 | TCP | Desktops, Admin PC, FlexApp Packager â ProfileUnity Console | ProfileUnity Management Console web interface. Default port â can be changed in Administration settings. |
| 27017 | TCP | ProfileUnity Console nodes â each other | MongoDB. Required for clustered ProfileUnity server communication. |
| 445 | TCP/UDP | Desktops, Admin PC, ProfileUnity Console â File Shares / Domain Controllers | SMB. Required for deployment share access (ClientSettings.xml, client tools, profiles, FlexApps, ProfileDisks). |
| 389 | TCP/UDP | ProfileUnity Console â Domain Controllers | LDAP. Active Directory queries for user and group lookups. |
| 5672 | TCP | Desktops â ProfileUnity Console | License communication for ProfileUnity 6.8.4 and earlier only. Not required for 6.8.5+. Maintain only if 6.8.4 clients still exist in the environment. |
In a clustered ProfileUnity deployment, ports 443, 8000, and 27017 must be open between all ProfileUnity Console server nodes in addition to the client-facing ports above. Full port documentation: ProfileUnity 6.8.5+ Communication Port Requirements
Deep Troubleshooting â Logs, Connection Strings & Startup.exe
If the standard steps have not resolved the issue, this section explains
how to trace the problem through the logs and configuration files â from
the moment
LwL.ProfileUnity.Client.Startup.exe
reads
ClientSettings.xml
to the point the client tries to call the License Server at logon.
How LwL.ProfileUnity.Client.Startup.exe Populates Local Configuration
Understanding this flow is essential for diagnosing any licensing issue. Every time a machine reboots (or the startup script runs), the following happens:
| # | Action | What to Check If It Fails |
|---|---|---|
| 1 |
Reads
ClientSettings.xml
from the deployment share
|
Confirm the share is accessible from SYSTEM context on the client.
Run
psexec -s cmd
and attempt
dir \server\share\ClientSettings.xml.
Confirm the file exists and was deployed recently (check last-modified
timestamp).
|
| 2 |
Decrypts
LicenseServerConnectionString
|
The encrypted value in
ClientSettings.xml
must have been generated by the correct console. If the console
was reinstalled or moved to a new server, redeploy
ClientSettings.xml
from the new console.
|
| 3 | Writes decrypted values to local config files |
Two local files are updated:
LwL.ProfileUnity.Client.License.Service.exe.config
and
LwlLogonNotifier.exe.config.
If these files have a blank or missing
LicenseServerConnectionString,
Startup.exe did not complete this step successfully.
|
| 4 | Starts the License Service with the new config |
After writing local config, Startup.exe restarts
Liquidware Labs ProfileUnity License Service.
Confirm the service starts and remains running after a reboot
before testing logon.
|
Log Files to Check
All ProfileUnity client logs are written to
C:\Windows\Temp\ProfileUnity\.
Start with these three for license issues:
| Log File | What It Covers | Key Things to Look For |
|---|---|---|
| startup_*.log | The Startup.exe run log. One file per machine boot (or manual run). |
launchStartupUpdateExeResult: False
â Startup.exe was skipped entirely (often the 6.9.5 HF1 residual
file issue).
Unable to read ClientSettings.xml
â file not found or inaccessible from SYSTEM context.
|
| startup_update_*.log | The inner update process run by Startup.exe. Only created if Startup.exe ran successfully. |
Look for errors decrypting or writing
LicenseServerConnectionString.
If this file does not exist at all, Startup.exe was blocked â
check
startup_*.log
for the reason.
|
| clientlicensingservice_*.log | The License Service client log. Written at logon when the client attempts license checkout. |
No license server defined
â connection string is empty or missing in the local config.
Failed to connect
or timeout â server address is set but unreachable on port 443.
|
If
startup_update_*.log
is absent after a reboot, the inner update process never ran. The most common
causes are: (1) the 6.9.5 GA/HF1 residual file issue â check for
LwL.ProfileUnity.Client.Startup.Update.exe.config
in
C:\Windows\Temp\
and delete it if present; (2) Startup.exe could not read
ClientSettings.xml
from the share. See the
6.9.5 HF1 Known Issue KB
for full details.
Verifying the Connection String Was Written Correctly
After Startup.exe runs, open the following file on the affected endpoint in a text editor (admin rights required):
C:\Program Files\ProfileUnity\Client.NET\LwL.ProfileUnity.Client.License.Service.exe.config
Search for
LicenseServerConnectionString.
The entry should look similar to this (value will be encrypted):
<setting name="LicenseServerConnectionString" serializeAs="String">
<value>[encrypted string â should not be blank]</value>
</setting>
| What You See | What It Means |
|---|---|
| Long encrypted string in <value> | Startup.exe read ClientSettings.xml and wrote the connection string correctly. If the error persists, the problem is network connectivity â proceed to Step 3. |
| Empty <value></value> tag |
Startup.exe ran but could not decrypt or write the connection
string. Redeploy ClientSettings.xml from the console and re-run
Startup.exe. Check
startup_update_*.log
for a specific error.
|
| Node missing entirely | Startup.exe has never run successfully on this machine, or the local config was wiped. Re-run Startup.exe from the deployment share and reboot. Check whether the GPO is applying correctly to this machine. |
If the ProfileUnity Console server was moved to a new hostname or IP, or the console was reinstalled, the encrypted
LicenseServerConnectionString
in the existing
ClientSettings.xml
will reference the old server. Redeploy from the new console and re-run Startup.exe
on all endpoints.
Quick Diagnostic Checklist
-
â
ClientSettings.xmlexists in the deployment share and has been deployed from the current console -
â
startup_*.logâ Startup.exe ran after the last reboot (launchStartupUpdateExeResultis not False) -
â
startup_update_*.logâ exists and shows no errors writing connection strings -
â
LwL.ProfileUnity.Client.License.Service.exe.configâLicenseServerConnectionStringis populated (not blank) -
â
clientlicensingservice_*.logâ shows a connection attempt (not "no server defined") -
â
Test-NetConnection -Port 443â returns TcpTestSucceeded: True from an affected machine - â Console services â all three running (ProfileUnity Service, License Service, MongoDB)
- â No proxy or firewall blocking outbound port 443 TCP from VDI clients to the console server
If the Issue Persists â Files to Send to Support
If the error continues after completing all steps above, open a support case and attach the following three files from an affected endpoint:
| File | Location |
|---|---|
| Client License Service log | C:\Windows\Temp\ProfileUnity\clientlicensingservice_*.log |
| License Service config | C:\Program Files\ProfileUnity\Client.NET\LwL.ProfileUnity.Client.License.Service.exe.config |
| ClientSettings.xml | \\domain\NETLOGON\ProfileUnity\ (your deployment share) |
The ProfileUnity Diagnostic Tool can collect these files automatically. See: Collect Logs Using the Diagnostic Tool
| Product | Liquidware ProfileUnity with FlexApp |
| Applies To | ProfileUnity 6.8.5 and later |
| Updated | August 12, 2026 |