"John K. Hohm" jhohm@acm.org writes:
Are you suggesting that the static data defining which classes and interfaces to register be located in the same file as the implementation of the (un)registration functions? That would make copying the implementation around even more work, since I couldn't just copy regsvr.[hc] and keep the differing data in the respective dll-specific sources.
Not really, you shouldn't be copying it around all the time anyway. Once the functions are working properly they shouldn't need to change. The idea is that you put everything into regsvr.c, both the common functions and the dll-specific stuff; then when you want to do a new dll you copy a regsvr.c and modify the dll-specific parts. This also allows simplifying the code for dlls that don't need the complete support.