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.
|
|