When attempting to run any Service Desk Manager (SDM) pdm_* commands such as pdm_configure or pdm_status, get one of the following errors:
"NX KEY wasn't in the environment"
"Cannot find Java Runtime Environment"
Similar errors may also present when running a pdm_perl command, such as:
pdm_perl D:/Program Files (x86)/CA/SERVIC~1\bin\pdm_rm_files.pl
Can't open perl script "D:/Program": No such file or directory
Service Desk Manager 12.x, 14.x and 17.x
All Supported Windows Operating Systems
This may be caused by the C:\Windows\paradigm.ini file pointing to an incorrect NX_ROOT directory.
First, on the command line, gather the "short name" path for where Service Desk is installed (i.e. NX_ROOT).
To do this, open a command window and navigate to the root of the drive where Service Desk Manager is installed. Then run "dir /x" which will show the short name for the directories located on that drive. For example, if Service Desk is installed on the C:\ drive, navigate to the root of the C:\ drive and then run "dir /x":
Since we know Service Desk is installed in C:\Program Files (x86), run "cd PROGRA~2":
Next, run "dir /x" again to get the listing for the PROGRA~2 directory:
Here you can see there is no short name for the "CA" directory - so just type "cd CA" to navigate to that directory:
Then run "dir /x" again to get the short names for all subdirectories:
So here, you can see the short name for the Service Desk Manager installation directory is SERVIC~1.
Thus, the full short name path for the Service Desk Manager installation directory in this example would be C:\PROGRA~2\CA\SERVIC~1
Next, open the file C:\Windows\paradigm.ini in a text editor and ensure that the NX_ROOT and NX_LOCAL variables point to the proper short name directories. For our example, it would like the following:
Ensure that your paradigm.ini file points to the proper short name for the installation directory of the Service Desk Manager installation in the environment.
After correcting the paradigm.ini file, test running a pdm_status command and it should now work.
Please check also that 8.3 notation has been configured correctly using the fsutil command: