Имя: Пароль:
1C
1С v8
Ошибка "Error loading component dhist" при использовании 64-битного сервера 1С 8.3
0 Вадим Яковлев
 
10.12.17
21:37
Поделюсь опытом - может, пригодится кому. Обновляю платформу 1С, переходим с 8.2 на 8.3 (точнее, 8.3.11.2867), используется 64-битный сервер. Установил 8.3 на сервере (только сам сервер, без клиентов) и на клиентах и получил грабли - при попытке открытия любой базы с сервера на клиенте вылезает окно ошибки "Ошибка при выполнении операции с информационной базой Error loading component dhist", кнопки действий - "Завершить работу" и "Перезапустить...". Локальные базы на клиентах открываются нормально.

Анализ дал следующее. Серверу для работы необходим файлик dhist.dll, однако в 64-битной версии 1С-овцы в MSI-файле забыли указать, что этот файл необходим серверу, и указали, что он только для клиентов. В 32-битной версии такой проблемы нет. Соответственно, возможны следующие варианты решения.

Решение для бедных - не проверял, но должно работать: устанавливаем 64-битный клиент на любую машину и копируем оттуда dhist.dll в папку "bin" на сервере.

Решение для сильных духом - создаём transform-файл для исправления косяка. Это то, что я применил.
1. Открываем в Orca (майкрософтовский редактор для MSI-файлов; где взять и как пользоваться, ищите в инете) файл "1CEnterprise 8 (x86-64).msi" из 64-битного дистрибутива.
2. Начинаем создание трансформации: меню "Transform" -> "New Transform".
3. Добавляем в таблицу "FeatureComponents" строку со следующими значениями полей:
    Feature_: CSServer
    Component_: ClientHistory
4. Записываем трансформацию в файл: меню "Transform" -> "Generate Transform...". Имя файла даём нечто вроде "Install_dhist.mst", сохраняем в папку с дистрибутивом.
5. Закрываем MSI-файл в Orca, или весь редактор. ЕСЛИ MSI-ФАЙЛ ОТКРЫТ В ORCA, ИНСТАЛЛЯТОР С НИМ НЕ ЗАПУСТИТСЯ!
6. Если сервер 8.3 был уже установлен, удаляем нафиг. Попытка сделать Repair не поможет.
7. Запускаем инсталляцию так:
msiexec.exe /i "1CEnterprise 8 (x86-64).msi" TRANSFORMS=Install_dhist.mst
8. После окончания установки проверяем, что файл dhist.dll действительно образовался в папке bin.
1 DrZombi
 
гуру
10.12.17
23:03
1с на ровном месте создает проблему
2 DmitrO
 
10.12.17
23:33
(0)или просто скачать дистрибутив 64битного сервера (?)
3 Вадим Яковлев
 
11.12.17
02:02
(2) Кстати, да. Заглянул в отдельный дистрибутив сервера - там этой проблемы нет. Я качал полный дистрибутив и пользовался им.