"типа" COM-object - need help!
Прошу помочь\ткнуть носом...
Преамбула:
1) имеется некая железка, начинка которой время от времени должна обновляться через инет.
2) имеется ЕХЕ-шник на VB.NET, который это делает.
3) имеется понимание того, что данные с источника обновлений приходят кривые и большое желание (у многих пользователей) их подправить. Возможность воздействовать на источник для обновлений - отсутствует.
4) ЕХЕ-шник "обновлятор" - обычная форма, содержит ComboBox, CheckBox и Button с надписью "обновить", что и в какой последовательности происходит по Click - известно ;-). Логика обработки принимаемых данных внутри железки достаточно извращенная, обновлять перезаписью флэша в программаторе - неудобно и большинству просто не по силам. Соответственно, есть желание придать "обновлятору" способность в качестве источника использовать не инет, а подправленные (как надо), файлы...
При обычной работе он создает в памяти некий объект и все данные, которые идут с железки на сервер и обратно - гоняются напрямую через его Properties, без записи каких-либо файлов на диск. Т.е., в теории, если удастся изобразить из имеющейся программы COM объект, возможно написание внешней управляющей последовательности, вызывающей его Methods\функции и подправить несколько мест для заполнения Properties создаваемого объекта начинкой файлов, а не данными с удаленного сервера. При этом - сохраняются все оригинальные механизмы обработки, контроля целостности и т.п.
А вот проблема заключается в том, что ехе-шник скомпилирован без включения необходимых для создания COM объекта опций... :-(
Регистрация объекта не проходит ни обычным способом (на всякий случай - чуть замаскирую имя файла):
ни, способом, описанным на http://alexeev.pro/?page_id=773 :
Microsoft (R) .NET Framework Assembly Registration Utility, версия 4.0.30319.1
(C) Корпорация Майкрософт, 1998-2004. Все права защищены.
RegAsm : warning RA0000 : Регистрация неподписанной сборки с использованием параметра /codebase может вызвать конфликт данной сборки с другими приложениями, которые могут быть установлены на том же компьютере. Параметр /codebase предназначен только для подписанных сборок. Присвойте сборке строгое имя и повторите регистрацию.
RegAsm : warning RA0000 : Не зарегистрировано ни одного типа
(без /codebase - результат аналогичен)
Была предпринята еще одна попытка - в моем любимом :-) VFP создать на форме OLE-объект и достучаться до его внутренностей. Увы, не прокатило... Создается, запускается, "забраться внутрь" не дает...
Тем не менее, надежда еще остается - при попытке тупо открыть этот ехе-шник в Microsoft Visual Basic 2010 Express - он, со всеми Properties & Metods великолепно просматривается в браузере объектов :-)
Есть только одно "но" - опыта работы в VB.NET ноль, как его прикрутить к создаваемой форме - так и не понял...
Все примеры, которые удалось найти, относятся, преимущественно, к использованию объектов на базе Word\Excel, с которыми "проблем интерфейса" не может быть по определению ;-)
В связи с этим - несколько просьбочек...
1) подсказать - возможно ли вообще в этой ситуации запустить "из-под" имеющийся ехе-шник и получить доступ к его функциям?
2) если да - ткните, плиз, носом - что почитать "на тему"
3) и, опять же, если возможно, в идеале бы - поделиться примерчиком... скажем, простенькая форма (по нажатию кнопки на ней что-то пишется), скомпилированная в ехе + образец второй формы, нажатие кнопки на которой вызывает Click на первой...
Заранее благодарен...
Согласен, это решение необязательно будет проще, чем подключение OLE к сторонней программе (в этой области я вообще ничего не знаю). Предлагаю подход с proxy рассмотреть как вариант решения задачи.