One can creat win32 and win64 typelibs. They are nicely registrated under keys win32 and win64 example:
However unregistering one of the two typelibs removes also the other.
The bug is in ctlreg.cpp which defines only
#define TYPELIBWIN _T("win32")
#define TYPELIBWIN_2 _T("win16")
and doesn't know anything about win64.
As a sample I added a project open it and choose x64 release.
Choose debug->start debugging, typelib will be registrated win64.
Got to win 32 release and choose debug->start debugging, idem win32.
Now choose x64 debug. Put a breakpoint on AfxOleUnregisterTypeLib in graphics.cpp
Verify with regedit both entries are there. The location I already mentioned above.
Now choose debug->start debugging. Program will halt at breakpoint. Trace from there on and watch both the entries disappear.
This means that after testing installation (which always include a uninstallation) deployment projects I loose my registry entries which make life difficult if I start with a project depending on this typelibs