Почему не устанавливается Печать НД с PDF 417 версии 3.2.4 и как это исправить

Системный администратор 1С v8.3 (Управляемые формы) Налоговый учет
← На главную

При работе с регламентированной отчетностью в 1С пользователи часто сталкиваются с необходимостью установки или обновления компоненты «Печать НД с PDF 417». Одной из самых неприятных ошибок является сообщение: «Произошла сетевая ошибка при попытке чтения из файла: C:\...\Temp\...\Печать НД с PDF417(3.0.32).msi». Ситуация осложняется тем, что стандартные методы удаления программ через панель управления не всегда помогают, а системные администраторы заходят в тупик из-за специфики работы инсталлятора ГНИВЦ и разрядности платформы 1С.

В этой статье мы подробно разберем, почему возникает эта проблема, как очистить систему от «хвостов» старых версий и как заставить печать работать на современных 64-битных системах.

Разбор причины 1: Сетевая ошибка MSI и «битый» кэш инсталлятора

Проанализируем природу сетевой ошибки. Когда мы запускаем установку новой версии компоненты (например, 3.2.4), служба Windows Installer пытается найти дистрибутив предыдущей версии (в нашем примере 3.0.32), чтобы корректно её удалить или модифицировать. Если временная папка Temp, в которую когда-то распаковывался старый установщик, была очищена (вручную или программами типа CCleaner), инсталлятор выдает ошибку чтения файла.

Рассмотрим варианты решения этой ситуации:

  1. Подкладывание старого дистрибутива. Выясним точный путь, который запрашивает ошибка. Если инсталлятор ищет файл в папке ...\Temp\v8_3803_2е.Печать НД с PDF417(3.0.32).msi, нам нужно найти именно этот старый файл (версии 3.0.32), создать структуру папок вручную и положить туда MSI-пакет. После этого запуск новой версии пройдет успешно, так как система найдет необходимые данные для удаления старой копии.
  2. Использование утилиты очистки Microsoft. Если дистрибутива старой версии под рукой нет, воспользуемся специализированным средством «Program Install and Uninstall Troubleshooter». Проанализируем список установленного ПО в этой утилите, найдем записи, связанные с PDF417 или Печать НД, и выполним принудительное удаление. Это вычистит записи в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, на которых «спотыкается» новый инсталлятор.

Разбор причины 2: Конфликт разрядности (32-бит против 64-бит)

Посмотрим на ситуацию со стороны платформы 1С. Компонента печати PDF417 разработана ГНИВЦ как 32-битная библиотека (DLL). 64-битный клиент 1С (x64) по техническим причинам не может напрямую загрузить в свое адресное пространство 32-битную компоненту. Это системное ограничение архитектуры Windows.

Выясним, как обойти это ограничение:

Наиболее надежный способ, подтвержденный практикой — это использование 32-битного клиента 1С даже на 64-битной операционной системе и при наличии 64-битного сервера. Разберем по шагам, как это реализовать:

  1. Установим на компьютер (или терминальный сервер) параллельно с имеющейся платформой тот же релиз платформы 1С:Предприятие, но в 32-битной версии (x86).
  2. В настройках запуска информационной базы укажем конкретную разрядность (32 (x86)).
  3. Запустим 1С под 32-битным клиентом. В этом режиме 1С без проблем сможет инициализировать объект Taxer.dll (или аналогичные библиотеки компоненты) и вывести штрих-код на печать.

Разбор причины 3: Права доступа и ручная регистрация библиотек

Часто установка блокируется из-за политик безопасности на сервере. Рассмотрим ситуацию, когда инсталлятор не может распаковать файлы в профиль пользователя. Попробуем выполнить установку альтернативным способом:

Проанализируем содержимое пакета. Мы можем распаковать файл .msi (или .exe дистрибутива) с помощью архиватора 7-zip. Внутри мы обнаружим набор библиотек. Основной рабочий каталог компоненты обычно располагается по пути: C:\Program Files (x86)\Common Files\GNIVC.

Если автоматическая регистрация не сработала, выполним её вручную от имени администратора:


regsvr32 "C:\Program Files (x86)\Common Files\GNIVC\Taxer.dll"
regsvr32 "C:\Program Files (x86)\Common Files\GNIVC\EanBtr.dll"

Важно помнить, что для успешной работы компоненты в системе должны быть установлены пакеты Microsoft Visual C++ Redistributable (обычно версий 2010 и 2013 года, обязательно x86 разрядности). Без них библиотеки PDF417 просто не смогут запуститься, выдавая ошибку «Метод контекста не обнаружен» или «Ошибка при вызове метода контекста previewfile1c».

Рекомендации для терминальных серверов

Рассмотрим специфику работы в терминальном режиме (RDP). Проблема «сетевой ошибки» в Temp часто возникает из-за того, что у каждого пользователя своя временная папка (например, Temp/1, Temp/2). Если администратор установил компоненту под своей учетной записью, она может быть недоступна другим пользователям из-за отсутствия прав на ветки реестра или файлы.

Алгоритм действий для администратора сервера:

  1. Завершим все сеансы пользователей и закроем все процессы 1cv8.exe.
  2. Запустим консольную сессию (mstsc /admin).
  3. Удалим старые версии через «Программы и компоненты». Если не удаляется — используем утилиту очистки Microsoft.
  4. Установим Печать НД с PDF 417 3.2.4 от имени администратора, выбрав вариант «Для всех пользователей» (если инсталлятор это предлагает).
  5. Убедимся, что на сервере установлен 32-битный клиент 1С для работы пользователей с отчетностью.

Продвинутый метод: Использование COM+ для 64-битных систем

Если по каким-то причинам использование 32-битного клиента 1С невозможно, существует «костыль», позволяющий подружить 64-битную 1С и 32-битную компоненту. Разберем этот механизм:

Мы можем создать в операционной системе COM+ приложение. Это своего рода «контейнер», который запускается в отдельном 32-битном процессе (dllhost.exe). В этот контейнер добавляется библиотека Taxer.dll. В результате 64-битный процесс 1С будет обращаться к COM+ обертке, а та, будучи 32-битной «внутри», сможет работать с компонентой печати. Однако этот метод сложен в настройке и требует глубоких знаний администрирования Windows, поэтому использование 32-битного клиента 1С остается предпочтительным и более стабильным решением.

Резюме: Основная причина проблем с версией 3.2.4 — это либо остатки старых версий в реестре при отсутствии их файлов в Temp, либо попытка запустить печать из-под 64-битной версии клиента 1С. Очистка системы утилитами Microsoft и переход на 32-битный клиент решают проблему в 95% случаев.

← На главную