Why it is not related with registry that is actually not clear so i am not giving that answer. But in my concern i have i am going to give you below. I hope it will help you.
Assembly is the smallest unit of deployment of a .net application. It can be a dll or an exe.
There are mainly two types to it:
Private Assembly: The dll or exe which is sole property of one application only. It is generally stored in application root folder
Public/Shared assembly: It is a dll which can be used by multiple applications at a time. A shared assembly is stored in GAC i.e Global Assembly Cache.
GAC is simply C:\Windows\Assembly
folder where you can find the public assemblies/dlls of all the softwares installed in your PC.
There is also a third and least known type of an assembly: Satellite Assembly
A Satellite Assembly contains only static objects like images and other non-executable files required by the application.