Вы должны определить, что значит «быть зарегистрированным». Стандартные файлы DLL нигде не зарегистрированы. (Вот почему можно увидеть хаос под названием «DLL ад».)
Или это COM?
COM-компоненты регистрируются с помощью regsvr32.exe. Вы можете позвонить, чтобы зарегистрировать свои файлы. Это самый простой способ. Если вы по какой-то причине считаете, что вам не нужен этот простой способ, вы можете сделать это вручную - прочитайте документацию COM о том, как компонент может зарегистрироваться сам. (Вы загружаете файл в свое адресное пространство и позволяете ему зарегистрироваться, вызывая в нем функцию регистрации.)
Я не знаю, как на законных основаниях определить, зарегистрирован ли определенный файл в качестве хоста COM-компонента, если вы не знаете, какой компонент находится внутри. Но если вы знаете компонент, вы можете попытаться создать его. Если создание не удалось, файл еще не зарегистрирован.
Или это файлы сборки .NET?
В .NET вам не разрешено «регистрировать» файлы по вашему желанию, вам нужны права администратора. (Процесс должен выполняться в режиме повышенных прав.) Но опять же, вы обычно используете эти файлы .NET DLL без регистрации. Обычно в GAC регистрируются только основные компоненты системы, которым доверяют. Я думаю, что это может быть дыра в безопасности, если вы попытаетесь добавить свои личные файлы в GAC. Поэтому я хотел бы спросить, действительно ли так важно, чтобы они были там зарегистрированы.