Сборка внешней компоненты под веб-клиент (Chrome)

1. marv-ua 06.08.21 17:20 Сейчас в теме
Добрый день.
Есть внешняя компонента собранная на базе архива с итс. Полезной нагрузки пока никакой по сути один метод который возвращает переданную строку. Под тонким клиентом запустил, подключил - работает.

Если интересно код подключения:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ИдентификаторКомпоненты = "_" + СтрЗаменить(Новый УникальныйИдентификатор, "-", "");
	ВыполнитьПодключениеВнешнейКомпоненты(Истина);
КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьПодключениеВнешнейКомпоненты(ДополнительныеПараметры) Экспорт
	НачатьПодключениеВнешнейКомпоненты(
		Новый ОписаниеОповещения("ПодключениеВнешнейКомпонентыЗавершение", ЭтаФорма, ДополнительныеПараметры),
		"ОбщийМакет.AddInNative", ИдентификаторКомпоненты, ТипВнешнейКомпоненты.Native); 
КонецПроцедуры	

&НаКлиенте
Процедура ПодключениеВнешнейКомпонентыЗавершение(Подключение, ДополнительныеПараметры) Экспорт
	Если Подключение Тогда
		//ВнешняяКомпонента = Новый("AddIn." + ИдентификаторКомпоненты + ".WindowsControl");
		ОбъектВК = Новый("AddIn."+ ИдентификаторКомпоненты +".AddInNativeExtension");
		res = ОбъектВК.МойТест(2, true);
		Сообщить(res);
	ИначеЕсли ДополнительныеПараметры = Истина Тогда
		ОписаниеОповещения = Новый ОписаниеОповещения("ВыполнитьПодключениеВнешнейКомпоненты", ЭтаФорма, Ложь);
		НачатьУстановкуВнешнейКомпоненты(ОписаниеОповещения, "ОбщийМакет.AddInNative");
	КонецЕсли;
КонецПроцедуры	
Показать


Далее: согласно описанию на том-же итс делаю установщик для хрома:
config.cpp
#include "config.h"

AddInComponentType typeComponent = eAddInNative;
const char *nameFilePrj = "AddInChr64.exe";
const char *nameFileComponent = "AddInNativeWin64.dll";


manifest.json
{
"name": "com.MV.MVAPI64.3",
"description": "Description of add-in for Chrome and Firefox",
"path": "AddInChr64.exe",
"type": "stdio",
"allowed_origins": [
"chrome-extension://pbhelknnhilelbnhfpcjlcabhmfangik/"
]

AddInChrome.rc
[1C-CODE]BEGIN
    BLOCK "StringFileInfo"
    BEGIN
        BLOCK "040904e4"
        BEGIN
            VALUE "CompanyName", "MV"
            VALUE "FileDescription", "AddInChr"
            VALUE "FileVersion", "1,0,0,03"
            VALUE "InternalName", "AddInChr"
            VALUE "LegalCopyright", "Copyright © MyCompany 2020 All rights reserved."
            VALUE "OriginalFilename", "AddInChr64.exe"
            VALUE "ProductName", "MVAPI64"
            VALUE "ProductVersion", "1,0,0,03"
        END
    END
    BLOCK "VarFileInfo"
    BEGIN
        VALUE "Translation", 0x409, 1252
    END
END
Показать

}[/1C-CODE]


AddInChromeSetup.nsh
!ifndef ADDINCONST_INCLUDED

!define ADDINCONST_INCLUDED
!define Version   "1.0.0.3"
!define ProductVersion   "1.0.0.3" 
!define Product   "MVAPI64" 
!define Manufacturer   "MV"
!define CompanyURL   "www.moneyveo.ua"
!define Description   "MV AddIn Extension for Chrome"
!define AddInName   "com.MV.MVAPI64.3"
!define AddInJson   "manifest.json"
!define AddInFFJson   "manifest.ff.json"
!define AddInAdaptor "config.cpp"
!define AddInComponent "AddInNativeWin64.dll"
!define Bits   "64"
!define SuffixPF   ""
!define OutFileName "AddInChr"
!define ProductName   "MVAPI64" 
!endif
Показать


Собираю 2 exe файла AddInChr32.exe и AddInChr64.exe

MANIFEST.XML
<?xml version="1.0" encoding="UTF-8"?>
<bundle xmlns="http://v8.1c.ru/8.2/addin/bundle">
	<component os="Windows" path="AddInChr32.exe" type="plugin" object="com.MV.MVAPI32.3"  arch="i386" client="Chrome" />
	<component os="Windows" path="AddInChr64.exe" type="plugin" object="com.MV.MVAPI64.3"  arch="x86_64" client="Chrome" />	
	<component os="Windows" path="AddInNativeWin32.dll" type="native" arch="i386"/>
	<component os="Windows" path="AddInNativeWin64.dll" type="native" arch="x86_64"/>
</bundle>


В макете - 2 длл: AddInNativeWin32.dll и AddInNativeWin64.dll, AddInChr64.exe и AddInChr32.exe, manifest.json, manifest.ff.json, MANIFEST.XML.

При запуске в хроме скачивается файл установщик. Запускаю - устанавливаю. В реестре создаются записи по адресу:
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHost­s\com.MV.MVAPI32.3
HKEY_CURRENT_USER\Software\Google\Chrome\NativeMessagingHost­s\com.MV.MVAPI64.3 (устанавливал также 64 вариант)

В системе по адресу %appdata%\Roaming\MV - 2 каталога MVAPI32 и MVAPI64 с каталогом версией 1.0.0.3 в котором файлы ДЛЛ и манифесты.

обновляю в браузере окно с предприятием - и он опять скачивает установщик не пытаясь подключить компоненту.

ЧЯДНТ?!
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. marv-ua 06.08.21 17:30 Сейчас в теме
И да, как расширение в хроме не регистрируется
3. alex_pavl 02.10.21 19:00 Сейчас в теме
(2) вам удалось решить проблему?
4. marv-ua 12.11.21 17:55 Сейчас в теме
(3) к сожалению нет. Отложил до лучших времен.
5. bikvinb 12.01.24 13:47 Сейчас в теме
(4)Тоже добрался до этой точки. Удалось ли вам справиться?
Оставьте свое сообщение

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