Installing DXClient
This topic describes how to install, upgrade, verify, and uninstall DXClient.
Installation options
DXClient offers three installation options, each with different benefits depending on your use case:
Free Public Repositories (recommended)
- NpmJS Registry: Simplest option for local developers and administrators
- Harbor Container Repository: Best for CI/CD automation pipelines
Both options are free to use and available starting from CF221. For more information, refer to Public and free installation options.
My HCLSoftware (MHS) portal
The MHS portal offers two installation methods: Container Package and Native JavaScript Package.
Container Package
- Fully packaged container with all dependencies included
- Works with Docker or Podman (OCI-compliant runtimes)
- Available since HCL DX 9.5 CF196
- To install the Container Package, refer to Installing using the container package from MHS portal
Warning
Recent changes to Podman introduced by RedHat have caused compatibility issues with DXClient container implementation. Docker is currently recommended until this is resolved.
Native JavaScript Package
- Requires manual installation of Node.js and npm dependencies
- More flexible but requires more setup
- To install the Native JavaScript Package, refer to Installing using the Native JavaScript Package from MHS portal
Version Numbering and Licensing
Since CF221, DXClient uses a new versioning format that matches CF numbers (for example, "221.0.0" instead of "1.29.0").
All versions now require accepting a license agreement, which can be done using the accept-license command. For more information, refer to DXClient information commands.
Comparing installation methods
Choose the installation method that best suits your needs from the following:
| Method | Source | Best For | Prerequisites | Ease of Use | Recommended For |
|---|---|---|---|---|---|
| NPM Registry | Free Public Repository | Local development | Node.js | ★★★★★ | Developers and admins who need quick setup |
| Harbor Container | Free Public Repository | CI/CD pipelines | Docker or Podman | ★★★★☆ | Automation environments and DevOps |
| MHS Container Package | MHS Portal | Enterprise use | Docker or Podman | ★★★★☆ | Production environments with license |
| MHS Native JavaScript | MHS Portal | Custom setups | Node.js | ★★★☆☆ | Legacy or specialized environments |
Quick Decision Guide
- For personal development: Use NPM Registry installation
- For CI/CD pipelines: Use Harbor Container Repository
- For enterprise deployments: Use MHS Container Package
- For specialized needs: Use MHS Native JavaScript Package
Public and free installation options
Starting from CF221, you can install DXClient without requiring MHS portal access. You can install it using the NpmJS registry or the container image in the Harbor repository.
Installing from the NpmJS registry
This method is recommended for local developers and administrators due to its simplicity.
Prerequisites
- Node.js LTS or newer
Installation
To install DXClient from the NpmJS registry, run the following command:
# Install locally in current project
npm install @hcl-software/dxclient
# OR install globally for system-wide access
npm install -g @hcl-software/dxclient
Verification
To verify the installation, run the following command:
# For local installation
npx dxclient -V
# For global installation
dxclient -V
Uninstallation
To uninstall DXClient, run the following command:
npm uninstall @hcl-software/dxclient
Installing using the container image in the Harbor repository
This method is preferred for CI/CD automation scenarios.
Prerequisites
- Docker or another OCI-compliant container runtime
Installation
-
Pull the Docker image using the following command:
docker pull hclcr.io/dx-public/dxclient:IMAGE_TAG -
Download and configure the DXClient scripts from the HCL-TECH-SOFTWARE GitHub repository.
- Follow the instructions in the repository to set up and use DXClient.
For more information, refer to the following repositories:
Installing using the Container Package from the MHS portal
The container package provides a fully packaged OCI-compliant container with all dependencies included.
Prerequisites
- Docker or Podman (any OCI-compliant container runtime)
- HCL DX 9.5 CF196 or higher entitlement
- MHS portal access
Warning
Recent changes to Podman introduced by RedHat have caused compatibility issues with DXClient container implementation. Docker is currently recommended until this is resolved.
Installation
-
Prepare your environment.
- Navigate to your desired working directory.
- If you are upgrading from the Node.js version, uninstall it first using the following command:
make unlinkmake_unlink.bat -
Download and extract the DXClient .zip file (
DXClient_VX_XXXXXXXX-XXXX.zip) from MHS portal. -
(Optional) Configure container runtime. The default container runtime is Docker.
To use another runtime, run the following command:
export CONTAINER_RUNTIME=<YOUR_CONTAINER_RUNTIME> # Example: export CONTAINER_RUNTIME=podmanset CONTAINER_RUNTIME=<YOUR_CONTAINER_RUNTIME> # Example: set CONTAINER_RUNTIME=podman -
Load the container image using the following command:
docker load < dxclient.tar.gzdocker load -i dxclient.tar.gz -
Add the DXClient
bindirectory to your system'sPATHenvironment variable.export PATH=<working-directory>/bin:$PATHset PATH=<working-directory>\bin;%PATH%Note
These
PATHchanges are temporary. For permanent changes, update your system's environment variables. -
Set file permissions using the following command:
chmod 755 <working-directory>/binSet the appropriate permissions in Properties > Security.
-
Verify the installation using the following command:
dxclient -V -
Configure storage volume.
A
storefolder is automatically created as shared volume. To use a different volume directory, run the following command:export VOLUME_DIR=myCustomStoreset VOLUME_DIR=myCustomStoreWarning
Do not enclose the
VOLUME_DIRvalue in quotes on Windows systems. -
Set volume permissions.
chmod 755 <working-directory>/<VOLUME_DIR>Set the appropriate permissions in Properties > Security.
-
(Optional) Configure the timezone using the following command:
export Timezone=Asia/KolkataSET Timezone=Asia/Kolkata
Post-installation
After installing DXClient, confirm the following:
- Configuration files are located in
<working-directory>/<VOLUME_DIR>. - Sample configurations available in
<working-directory>/samples/sample-configurations. - For automation server integration, refer to the included sample pipeline.
Installing using the Native JavaScript Package from the MHS portal
Note
This is a legacy method. The container package is recommended from CF196 onwards.
Prerequisites
- Node.js LTS or newer
- HCL DX 9.5 CF19 or higher entitlement
- MHS portal access
Installation
-
Prepare your environment. If you are upgrading from previous version, uninstall it first using the following command:
make unlinkmake_unlink.bat -
Download and extract the DXClient .zip file (
DXClient_VX_XXXXXXXX-XXXX.zip) from the MHS portal. -
Install DXClient dependencies using the following command:
make installmake_install.bat -
(Optional) Link the application using the following command:
make linkmake_link.batNote
- Skip linking on automation servers to avoid dependency conflicts.
If you choose not to link the application, run the following command instead:
./bin/dxclientnode bin/dxclient -
(Optional) Configure storage volume.
A
storefolder is automatically created. To use a different volume directory, run the following command:export VOLUME_DIR=myCustomStoreset VOLUME_DIR=myCustomStoreWarning
Do not enclose the
VOLUME_DIRvalue in quotes on Windows systems. -
Set volume permissions using the following command:
chmod 755 <working-directory>/<VOLUME_DIR>Set the appropriate permissions in Properties > Security.
Upgrading DXClient
DXClient can be upgraded to newer versions without uninstalling the previous version. This simplifies the upgrade process and ensures minimal disruption to your development or CI/CD workflows.
Upgrading from the NPM registry
Upgrade from the NPM registry using the following command:
# For local installation
npm update @hcl-software/dxclient
# For global installation
npm update -g @hcl-software/dxclient
Upgrading the Container Package from Harbor Repository
Upgrade the Container Package from the Harbor repository using the following command:
# Pull the latest version
docker pull hclcr.io/dx-public/dxclient:LATEST_TAG
Upgrading the MHS Container Package
- Download the DXClient .zip file (
DXClient_VX_XXXXXXXX-XXXX.zip) from the MHS portal. - Extract the files to your working directory (can be the same as your existing installation).
- Load the new container image:
docker load < dxclient.tar.gz
docker load -i dxclient.tar.gz
Upgrading the MHS JavaScript package
- Download the DXClient .zip file (
DXClient_VX_XXXXXXXX-XXXX.zip) from the MHS portal. - Extract the files to your working directory (can be the same as your existing installation).
-
Update the DXClient dependencies using the following command:
make installmake_install.bat
Note
- When upgrading, your existing configurations in the
storedirectory (or customVOLUME_DIR) are preserved. You do not need to reconfigure DXClient after upgrading. - After upgrading, verify the new version using the
dxclient -Vcommand to verify that the upgrade was successful.
Uninstalling DXClient
Uninstall DXClient using the following methods.
Uninstalling from NPM registry
Uninstall DXClient from the NPM registry using the following command:
npm uninstall [-g] @hcl-software/dxclient
Uninstalling MHS Container Package
- Remove the container image using your container runtime.
- Delete the extracted files and directories.
Uninstalling MHS JavaScript Package
-
Run the following uninstall command:
make cleanmake_uninstall.bat -
(Optional) Unlink the package using the following command:
make unlinkmake_unlink.bat
Verifying Your DXClient Installation
After installation, verify that DXClient is properly installed.
-
Run the following command:
dxclient -VThis command shows the version of DXClient that you installed.
-
Accept the license agreement using the following command (required once per installation):
dxclient accept-license -
Check the version compatibility with your DX Core installation using the following command:
dxclient version-compat
Important
For optimal compatibility, ensure the CF versions of both DXClient and DX Core match in your installation. While generally compatible across versions, some features may require specific version alignment.