Let´s see if I got the point.
My application, which I distribute to my customers uses sport.dll. When installing it on my customer´s destination system, I have to call
regsp.exe sport.dll /i:"TEST TEST#xxxxx-W9FC5V-31AXAX-F884EC-WN7G92-X3VXEE-21CFEE-524E94-651198-2A84FA-663C11-xxxxxx"
from my installation wizzard (like InnoSetup, Wise...).
1. This way enables customers to get my personal licence key. For nearly every Installation wizzard there are decompilers. I just have to decompile the setup.exe and bang - I have a valid licence key.
2. How to register on Windows 9x? regsp.exe is for NT based OS, only.
Your whole procsess of registering a component is bad style. Sorry for hard words, but writing to registry HKLM is out of date and leaving the MS defined structure in the registry by creating a high-level folder instead of using HKLM\Software\Manufacturer\Application is not very nice. This is Win9x style. Esp. in Vista, virtualisation, DEP, UAC etc. can cause trouble. Using a new tool (regsp.exe) which does some security by obscurity does not make it better.
Why dont´t you give the sport.dll a property like Name and key which I have to fill up with my licence data at runtime from my application? That is the way thousands of components WORK.
Last but not least: Naming the component "sport.dll" is not clever at all. There is a sport.dll from Microsoft, which is part of Windows (9x) Plus Package. It belongs to a screensaver and its version number is higher then 3.x. The file is located in the Windows System directory.
So, if a user has installed the screensaver, a setup will fail to install the Eltima sport.dll because of its lower version number. The application will fail because of wrong dll.
The only chance to solve the problem is to replace the sport.dll in any case and do not pay attention to the version. This will of course destroy the MS Plus screensaver.
Dll hell at its best.