2012-06-25 2 views
4

Я строю новые классы в Visual Studio. В конечном итоге они создают DLL-файлы, которые автоматически регистрируются через VS IDE.regasm DLL Locations

Эти же библиотеки DLL (и только DLL без TLB) отправляются клиенту, где они зарегистрированы через инструмент REGASM.

Как определить, какие DLL-файлы зарегистрированы клиентом, какие версии эти библиотеки DLL и где находятся эти DLL-файлы на клиентской машине?

Я предполагаю, что все это хранится в реестре, я просто не знаю, где.

Спасибо, Keith

+0

Единственный возможный путь ваш пользователь зарегистрировал существующую DLL, которая использует тот же Guid, когда она получила эту DLL от вас. Примените обычные методы COM, чтобы избежать DLL Hell, сменив подсказки при изменении интерфейсов. –

ответ

1

Я думаю, что на следующей странице может дать вам подсказку: http://msdn.microsoft.com/en-us/library/tzat5yw6(v=vs.100).aspx

Все зарегистрированные COM класса объекты перечислены в разделе HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes \ CLSID. Если вы зарегистрируете свой COM + в службах компонентов через MSI, выполните поиск в Program Files \ ComPlus Applications, и вы найдете там свои DLL.

Что касается свойств файла, пожалуйста, обратитесь к Read/Write 'Extended' file properties (C#)