Registration of dlls - proposition

Jacek Caban jack at
Fri Mar 18 12:42:53 CST 2005

Currently functions Dll[Un]RegisterServer in Wine look strange to me.
It's a great code duplication. As we have ATLRegistrar implementation 
right now
it can be changed. We can use ATL to register dlls. This way functions
Dll[Un]RegisterServer can be really simple and registry can be described by
elastic and simple rgs scripts. You can see example of rgs script here:
and documentation of ATLRegistrar here:

There are two more aspects of this solution:
- dependence on atl
    I don't think it's a true problem as we can create ATLRegistrar by 
CoCreateInstance and finally
    we depend on atl _only_ while registering, so it's not a great 
- header file
    We would need to make atliface.idl accessible for other dlls. 
Actually it is a public ATL header file,
    so there is nothing wrong in doing this. We could just move it to 
include/ (or maybe
    include/atl where, in future, more headers of ATL could be placed).

The benefit is: no code duplication, more elastic and clean registration 
code. What do you think?
Is it a good idea?


More information about the wine-devel mailing list