У моего приложения silverlight будет возможность печати, модуль печати будет создан в отдельном проекте csharp, и вызовите модуль с помощью этого кода:
m_ComPrinterContoller = AutomationFactory.CreateObject ("ComPrinter.Application");
Мой модуль печати является отдельным проектом c # и создаст, скажем, ComPrinter.dll, внутри него есть принтер по умолчанию и печать для каждой формы, которую нужно напечатать.
В ноутбуке для разработчиков я соберу модуль печати, а затем без проблем запустлю свое приложение, но на аппаратном компьютере это ошибка, сначала ошибка progId не зарегистрирована, поэтому я регистрирую ComPrinter.dll с помощью RegAsm, потому что я не могу зарегистрироваться он использует regsvr32, и теперь progId зарегистрирован, у меня есть имя dll в HKCR (я запускаю regedit и раскрываю HKEY_CLASSES_ROOT).
Теперь он уже зарегистрирован, но появляется новая ошибка, диалоговое сообщение: «ComAutomation_CreateInstance».
И когда я устанавливаю visualStudio и собираю проект ComPrinter, а затем запускаю свое приложение (не из Visual Studio, а непосредственно из приложения), и приложение запускается без проблем.
Что сделал .net при сборке и создании .dll? это своего рода регистрация .dll, но отличается от regsvr32 или regAsm. Или кто-нибудь когда-нибудь сталкивался с ситуацией? как зарегистрировать .Net dll COM и вызвать его из приложения silverlight, и запустить его не на компьютере разработчика
Есть похожая ссылка, которая задает тот же вопрос: http://support.leadtools.com/CS/forums/35174/PrintPost.aspx,, но на нее все еще нет ответа.
С уважением,
Имам