|
Не срабатывает регламентное задание. COM-соединение. | ☑ | ||
---|---|---|---|---|
0
Tro2001
25.12.15
✎
17:39
|
Окружение:
1С:Предприятие 8.3 (8.3.6.2299) УТ для Украины, редакция 2.3. Windows Server 2012 R2 Standart Есть регламентное задание обмена с сайтом, которое работает через библиотеку syncservice.dll. Эта dll лежит в папке с полными правами для всех и зарегистрирована через: regasm.exe C:\cm\dll\SyncService\syncservice.dll /codebase ngen.exe C:\cm\dll\SyncService\syncservice.dll При запуске обмена руками - все в порядке, но при выполнении регламентного задания вылазит ошибка: "Ошибка : Ошибка создания объекта внешней компоненты: AddIn.SyncService{ОбщийМодуль.cm_ОбменССайтом.Модуль(3839)}: Ошибка при вызове конструктора (COMОбъект): -2147221164(0x80040154): Класс не зарегистрирован" Предположил что проблема с COM-соединением и пробовал руками создавать COM+ соединение по советам (Регламентное задание: не всегда создается COMConnector) и нескольким еще аналогичным - не помогает. Прошу подсказать. |
|||
1
Tro2001
25.12.15
✎
17:40
|
Доп.информация.
Толстый клиент. SQL Server 2012 |
|||
2
Greeen
25.12.15
✎
17:42
|
Сервер 1С и клиенты на одном компьютере?
|
|||
3
Tro2001
25.12.15
✎
17:43
|
ДА
|
|||
4
olegves
25.12.15
✎
17:46
|
(0) пользователь, под которым запущен сервер 1С не имеет доступа к папке: C:\cm\dll\SyncService\
|
|||
5
Tro2001
25.12.15
✎
17:47
|
C:\cm\dll\SyncService\ - NTFS права установлены полные для ВСЕХ
|
|||
6
Serginio1
25.12.15
✎
17:47
|
Если сервер 64 разрядный нужно регистрировать из папки
\Windows\Microsoft.NET\Framework64\v4.0.30319\ |
|||
7
Serginio1
25.12.15
✎
17:49
|
Ну и библиотека должна быть скомпилирована под AnyCpu
|
|||
8
olegves
25.12.15
✎
17:49
|
(0) длл СОМ-коннектора зарегистрирована?
|
|||
9
Tro2001
25.12.15
✎
17:51
|
(8) Прошу поподробнее
|
|||
10
Tro2001
25.12.15
✎
17:52
|
(7) Если в ручном запускается, наверно нормально....
|
|||
11
Tro2001
25.12.15
✎
17:55
|
(6) т.е. эта библиотека в любом случае должна там лежать ?, просто от разрабов осталась инструкция: скопировать в корень С с сохранением путей - дать полные права и зарегить способом - описанным в шапке.
|
|||
12
Serginio1
25.12.15
✎
17:56
|
(10) Вручную это как? Если с клиента то там 32 разрядная. Если с сервера, то тогда ошибки ищи в DCOM
|
|||
13
Serginio1
25.12.15
✎
17:57
|
Хотя если с сервера запускается, то и в регламентном задании должна
|
|||
14
Tro2001
25.12.15
✎
18:05
|
(12) Вручную - это в 1С в спец.обработке нажимаю кнопку, которая запускает обмен
|
|||
15
Tro2001
25.12.15
✎
18:07
|
(13) Вот именно....что и непонятно
|
|||
16
Tro2001
25.12.15
✎
18:17
|
Что ручной запуск, что регламент - обращаются к одной и то-же процедуре
|
|||
17
Serginio1
25.12.15
✎
19:42
|
(16) Еще раз сервер 64 разрядный?
Обращаются к одной процедуре, только из разных разрядных процессов. Ты слушай, что тебе говорят. Зарегистрируй RegAsm из папки (6) ngen в той же папке лежит. |
|||
18
Tro2001
25.12.15
✎
20:05
|
(17) Да, Сервер х64.
Т.е. мне нужно syncservice.dll положить в \Windows\Microsoft.NET\Framework64\v4.0.30319\ и зарегистрировать ее там ? |
|||
19
Tro2001
25.12.15
✎
20:14
|
(17)
в таком случае что прописать в батнике. В оригинальном батнике по регистрации было прописано: @ECHO OFF REM The following directory is for .NET 2.0 set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v2.0.50727 set PATH=%PATH%;%DOTNETFX2% echo --------------------------------------------------- regasm.exe C:\cm\dll\SyncService\syncservice.dll /codebase ngen.exe C:\cm\dll\SyncService\syncservice.dll echo --------------------------------------------------- echo Done. |
|||
20
Serginio1
25.12.15
✎
20:43
|
Framework64
|
|||
21
Serginio1
25.12.15
✎
20:46
|
Тебе нужно для регистрации и генерации взять regasm и ngen из папки SystemRoot%\Microsoft.NET\Framework64\v2.0.50727
Но это при условии, что сборка скомпилирована под AnyCPU То есть для 32 и 64 разрядных ОС |
|||
22
Tro2001
25.12.15
✎
20:50
|
(21) К сожалению под что скомпилировано - уже даже спросить не у кого (((...
т.е. я беру с папки SystemRoot%\Microsoft.NET\Framework64\v2.0.50727 regasm и ngen и, не меняя физического местоположения этой моей длл просто ее регистрирую ? |
|||
23
Tro2001
25.12.15
✎
20:51
|
а еще в батнике нужно
set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework\v2.0.50727 заменить на: set DOTNETFX2=%SystemRoot%\Microsoft.NET\Framework64\v2.0.50727 ? |
|||
24
Serginio1
25.12.15
✎
20:53
|
да
|
|||
25
Serginio1
25.12.15
✎
20:54
|
Запусти из Cmd чтобы видеть ошибки
|
|||
26
Serginio1
25.12.15
✎
20:55
|
И с правами админа
|
|||
27
Tro2001
25.12.15
✎
21:18
|
Написало пачку предупреждений:
Microsoft (R) .NET Framework Assembly Registration Utility 2.0.50727.8007 Copyright (C) Microsoft Corporation 1998-2004. All rights reserved. RegAsm : warning RA0000 : Registering an unsigned assembly with /codebase can ca use your assembly to interfere with other applications that may be installed on the same computer. The /codebase switch is intended to be used only with signed assemblies. Please give your assembly a strong name and re-register it. Types registered successfully Не найден указанный модуль. (Exception from HRESULT: 0x8007007E) --------------------------------------------------- Done. НО РАБОТАЕТ !!!!!!!!!!!! СПАСИБО ОГРОМНОЕ. !!!!!! Где тут +100500 нажимать ? )) |
|||
28
Serginio1
25.12.15
✎
21:27
|
(27) На здоровье!
|
|||
29
mehfk
25.12.15
✎
21:37
|
(0) Это санкции.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |