Es gibt auch andere Möglichkeiten...
Du kannst z.B. die von einer solchen
DLL exportierte Funktion DllGetClassObject selbst aufrufen, dann muss das nicht über das Betriebssystem und die dort registrierte
DLL laufen.
Man kann auch eine solche
DLL über das Manifest der Anwendung einbinden. Dann ist keine Registrierung notwendig.
Die Frage ist, was du benötigst, sprich was du damit machen möchtest. Wenn du die Klasse für ein vorhandenes System bereitstellen möchtest, musst du es natürlich so machen, wie es dort benötigt wird.