2013-12-03 3 views
2

Мой проект C# ссылается на библиотеку COM, которая может быть установлена ​​или не установлена ​​на компьютере пользователя. Мой проект должен работать, даже если эта библиотека COM не установлена, но используйте ее, если зарегистрирована COM-библиотека.необязательно с использованием COM-объекта, который не может быть зарегистрирован

Я понятия не имею, где даже начать исследовать, как это осуществить. Какие-либо предложения?

+2

Использовать блок 'catch'? – SLaks

+1

что @SLaks сказал. Попытайтесь создать объект, и если он выбрасывает и исключает, предположим, что он не установлен. – Gusdor

ответ

0

Если вы хотите сделать это детерминистически, вы можете проверить, что COM-объект зарегистрирован в реестре под HKEY_LOCAL_MACHINE \ Software \ Classes \ или HKEY_CURRENT_USER \ Software \ Classes \ через Registry.GetValue method. В противном случае используйте блок try/catch вокруг создания объекта и обработайте сбой, поскольку библиотека не существует.

Смежные вопросы