Чем скомпилировать NativeApi компоненту для запуска на сервере

1. Goblin26 02.11.17 16:48 Сейчас в теме
Добрый день.

Возникла необходимость написать свою компоненту по технологии NativeApi.
Шаблон компоненты взял с сайта ИТС. Язык программирования С++. Среда разработки VisualStudio 2013.

Скомпилировалось без ошибок, на локальной машине (ос: Windows 10) все работает нормально.
При попытке вызвать компоненту на сервере (ос: Windows Server 2012 R2) строка:
Подключено = ПодключитьВнешнююКомпоненту("ОбщийМакет.Компонента", "AddInNativeExtension", ТипВнешнейКомпоненты.Native)

возвращает ложь.

Есть подозрение что я что-то не учел при компоновке в настройках самого компоновщика.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. blackhole321 1306 02.11.17 18:13 Сейчас в теме
(1)
В имени компоненты после AddInNativeExtension не должно быть точки и имени компоненты? Вы именно так ее компилировали?
Меняли гуид перед компиляцией?
18. alex_sh2008 4 03.11.17 13:29 Сейчас в теме
(1) проверьте зависимости
19. Goblin26 03.11.17 13:31 Сейчас в теме
20. alex_sh2008 4 03.11.17 13:36 Сейчас в теме
(19)Если вы компоновали библиотеку не статически, то потребуются дополнительные dll, которых может не быть на сервере, или как вариант поставить редеструбе пакет вашей версии VS
22. Goblin26 03.11.17 13:49 Сейчас в теме
(20) Библиотеку собирал статически
24. spacecraft 03.11.17 14:07 Сейчас в теме
(1)
ОбщийМакет.Компонента

покажите манифест.
Битность библиотеки? Битность Сервера 1С?
27. Goblin26 03.11.17 14:45 Сейчас в теме
(24)
<?xml version="1.0" encoding="UTF-8"?>

-<bundle name="MyDll" xmlns="http://v8.1c.ru/8.2/addin/bundle">

<component arch="i386" type="native" path="AddInNative32.dll" os="Windows"/>

<component arch="x86_64" type="native" path="AddInNative64.dll" os="Windows"/>

</bundle>

Делал две ДЛЛ на 32 и 64.

Сервер 1с 32 разрядный
28. spacecraft 03.11.17 15:21 Сейчас в теме
(27) на вид, все верно.
Можно еще попробовать дать пользователю USR1CV8 админские права на время проверки.
3. Goblin26 02.11.17 18:17 Сейчас в теме
4. blackhole321 1306 02.11.17 18:53 Сейчас в теме
(3)разрядность ос на сервере и на клиенте одинаковая?
5. Goblin26 02.11.17 18:55 Сейчас в теме
(4) Да. Но я пробовал компилировать во всех возможных режимах.
8. blackhole321 1306 02.11.17 19:10 Сейчас в теме
(5)Посмотрите на сервере, в папке, где хранятся внешние компоненты все распаковать (ваша dll etc)? Если да, то проверьте свойства файлов и при необходимости разблокируйте (это если сервер win). А ос какая?
6. blackhole321 1306 02.11.17 18:56 Сейчас в теме
Я правильно понимаю, что это одна и та же конфигурация и Вы просто перенесли выполнение на сервер?
7. Goblin26 02.11.17 18:59 Сейчас в теме
(6) Конфигурация одна, база также одна. Если ставлю &НаКлиенте работает, при попытке &НаСервере или вынести в общий модуль, который выполняется на сервере перестает
9. blackhole321 1306 02.11.17 19:17 Сейчас в теме
Какая у Вас ос на сервере?
Есть ли Ваши файлы в папке, где 1с складывает ВК? Если нет попробуйте поместить их туда руками
10. blackhole321 1306 02.11.17 19:18 Сейчас в теме
Если файлы есть и ос win проверьте свойства файлов не заблокированы ли они
11. blackhole321 1306 02.11.17 19:20 Сейчас в теме
12. Goblin26 03.11.17 10:52 Сейчас в теме
(11) Поместил файлы в каталог "C:\Program Files (x86)\1cv8\8.3.10.2561\bin". Дал на них полный доступ всем. Та же картина.
13. blackhole321 1306 03.11.17 12:19 Сейчас в теме
(12) Там путь другой: %APPDATA%\1C\1Cv82\ExtCompT
14. Goblin26 03.11.17 13:07 Сейчас в теме
(13) это путь на клиентской машине. На сервере DLL в каталоге bin лежат. На клиенте у меня все работает
15. blackhole321 1306 03.11.17 13:14 Сейчас в теме
(14)На основании чего Вы так решили? Есть подозрения, что папка будет такой же как и на клиенте, а аккаунт тот под которым стартует служба 1С.
16. blackhole321 1306 03.11.17 13:22 Сейчас в теме
Напишите ваше сообщение
(14) Посмотрите, есть ли файлы в вышеуказанной папке на сервере. Если нет - скопируйте с клиента в эту папку. Под каким аккаунтом работает сервер 1С?
17. Goblin26 03.11.17 13:27 Сейчас в теме
(16) Сервер работает под пользователем USR1CV8. Его каталог пустой. Скопировал туда файлы, результат тот же - Ложь.
21. spacecraft 03.11.17 13:37 Сейчас в теме
как вариант, не хватает Microsoft Visual C++ Redistributable Package
http://softbuild.ru/load/10-1-0-196
23. Goblin26 03.11.17 13:58 Сейчас в теме
Попытался подключить компоненту на другой машине, там не устанавливали ничего дополнительно. Все отработало штатно. Но опять же в на клиенте.
25. blackhole321 1306 03.11.17 14:07 Сейчас в теме
(23)Попробуйте подключить, используя вместо макета путь к dll ПодключитьВнешнююКомпоненту("c:\ВашПуть\ИмяДлл.dll", "AddInNativeExtension", ТипВнешнейКомпоненты.Native)
26. Goblin26 03.11.17 14:42 Сейчас в теме
(25) пробовал, не работает
29. blackhole321 1306 03.11.17 15:23 Сейчас в теме
(26)Пожалуйста озвучте битность сервера, версию ос сервера
30. spacecraft 03.11.17 15:25 Сейчас в теме
32. blackhole321 1306 03.11.17 15:45 Сейчас в теме
(30)Да, прошу извинить, был невнимателен
31. Goblin26 03.11.17 15:42 Сейчас в теме
Пересобрал архив, переписал манифест. Все подключилось. В чем была проблема непонятно.

Все спасибо кто отозвался.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот