Опубликуйте стороннюю dll вместе с надстройкой Word 2013.

Я разрабатываю дополнение Word 2013, которое, среди прочего, считывает данные с личного удостоверения личности, вставленного в устройство чтения карт, и однажды, когда оно их читает, оно вставляет их в текстовый документ.

Существует неуправляемая dll, которая взаимодействует с ридером и предоставляет API, который можно применить. Я также создал DLL-оболочку .NET, которая обращается к вызовам API через атрибуты DllImport и служит интерфейсом для неуправляемой DLL.

Эта .NET DLL добавляется как ссылка на добавление слова 2013 в проект.

Все отлично работает, и проблема в том, как доставить решение на компьютер потенциального клиента, все вместе с одной программой установки?

Опция «Опубликовать», доступная для проектов Office Add-In, не дает возможности взять стороннюю dll, включить ее в инсталляционный пакет и указать, куда она будет скопирована на клиентском компьютере. По крайней мере, я не нашел его.

Библиотека .NET, тем не менее, будет частью установочного пакета, поскольку на нее есть ссылка в проекте надстройки. Но неуправляемая dll копироваться не будет. Так что у нас будет оболочка без содержимого, и она не будет работать.

Является ли включение неуправляемой dll в качестве встроенного ресурса в .NET dll возможным решением для этого? Я видел здесь на форумах несколько инструкций о том, как обращаться со встроенным сторонним dll-ресурсом, и это кажется немного сложным.

Может быть есть более простое решение?

Всем заранее спасибо за подсказки!


person sin67    schedule 26.10.2014    source источник


Ответы (1)


Хорошо, тем временем, пока я ждал ответа, я попробовал кое-что для себя, и, похоже, это работает.

На самом деле это очень просто. Сторонняя DLL, на которую ссылается DLL-оболочка .NET, должна быть включена в проект надстройки в качестве содержимого, которое будет скопировано в расположение исполняемого файла. Поскольку DLL-оболочка .NET также копируется туда, DLLImport("thirparty.dll") сделает всю работу.

person sin67    schedule 29.10.2014