While attempting to upgrade the Windows agent in version 21 using Centralized Agent Upgrade (CAU), the following error message is encountered:
2024-03-21 08:58:22 - U00020927 Agent 'WINDOWS': Automatic update cannot be triggered.
2024-03-21 08:58:22 - U02000254 An error was found completing the data for task '123456789', reason: '183 - A file cannot be created if it already exists. >libcpprnt/src/Path.cpp#sys::Path::createDirectory:283<'.
Operating System: Windows OS (German Language)
CAU Version: Windows Agent 21.x to 21.x
The error message indicates that the file system does not recognize "C:\Programme" as a valid path. This issue arises because the German version of Windows creates junctions (symbolic links) of directories with translated names for user convenience (e.g., "C:\Programme" is a junction for "C:\Program Files"). Different permissions and behaviors for junctions versus the actual directories can lead to problems.
To resolve this issue, update the configuration in the ini file from:
UC_EX_PATH_BIN=c:\Programme\Automic\bin\
to one of the following:
UC_EX_PATH_BIN=c:\Program Files\Automic\bin\
or
UC_EX_PATH_BIN=c:\Progra~1\Automic\bin\
In the German version of Windows, the OS creates junctions for several directories as translated versions for user convenience (e.g., c:\Programme -> c:\Program Files).
Different permissions are set for junctions than for the original directories, which may lead to issues such as prohibited directory listing of files (using the dir command). While some Windows functions can handle the paths with these translated names, this is not true for all functions.
Best Practices
Avoid Translated File Names: Always use the canonical names displayed by the dir command. The correct functionality of the translated names cannot be reliably ensured.
Consistent Directory Structure: Do not create or use a different directory structure than the one provided by the software. This reduces the chance of configuration errors and ensures the proper functioning of the software.
Dedicated Root Directory: Use a dedicated root directory for Automic components, such as C:\Automic, instead of using subdirectories under C:\Program Files. This practice ensures all subdirectories (bin, temp, reports, etc.) of the component are correctly located and reduces the risk of configuration errors.