См багу 1074. Последние коммиты относятся именно к Клиент-Серверной версии
проблема возникает на 3-м шаге рекурсивного перемещения папки: fixme:shell:move_files from=10 to=1 fixme:shell:move_files From[1] = 'L"C:\\Program Files\\Garant-FS\\settings-xml\\FFFF-7_01_0-01"' To[1] = 'L"C:\\Program Files\\Garant-FS\\settings-xml.tmp"' fixme:shell:move_files 1 fixme:shell:move_files 2 fixme:shell:move_files 3 fixme:shell:move_files 4 fixme:shell:move_files from=2 to=1 fixme:shell:move_files From[1] = 'L"C:\\Program Files\\Garant-FS\\settings-xml\\FFFF-7_01_0-01\\00000002"' To[1] = 'L"C:\\Program Files\\Garant-FS\\settings-xml.tmp\\FFFF-7_01_0-01"' fixme:shell:move_files 1 fixme:shell:move_files 2 fixme:shell:move_files 3 fixme:shell:move_files 4 fixme:shell:move_files from=2 to=1 fixme:shell:move_files From[1] = 'L"C:\\Program Files\\Garant-FS\\settings-xml\\FFFF-7_01_0-01\\00000002\\folders.xml"' To[1] = 'L"C:\\Program Files\\Garant-FS\\settings-xml.tmp\\FFFF-7_01_0-01\\00000002"' fixme:shell:move_files 1 fixme:shell:move_files 2 fixme:shell:SHFileOperationW RET = 1223
Проблема в том, что при копировании нескольких файлов в паку фукцией SHFileOperation, обязательно должен быть выставлен флаг FOF_MULTIDESTFILES. Функция move_dir_to_dir не выставляет его. Она просто оставляет старое значение, в переданной ей стуктуре LPSHFILEOPSTRUCTW.
Сделал патч. Проверил. Файл-серверный Гарант успешно устанавливается. Ещё необходимо проверить Серверный Гарант
Проверил в чистой бутылке: Как сервер, таки и клиент устанавливаются