Я не знаю, почему библиотеки DLL должны быть в System32; они не должны быть, это плохая практика, но прикладные библиотеки DLL находятся в системном каталоге.
Да, DLL и OCX, которые предоставляют COM-объект (например, те, которые должны быть зарегистрированы), должны быть зарегистрированы и внесены в реестр. Однако в Windows XP и более поздних версиях имеется бесплатная регистрация COM. Краткое объяснение состоит в том, что для каждого .DLL и .EXE вы создаете файл filename.ext.manifest, в котором перечислены все компоненты, которые он экспортирует и использует. К сожалению, реальность сложнее. Смотрите эту статью для описания . Теоретически возможно получить информацию, необходимую для файлов манифеста, но вам понадобится хорошее понимание COM.