I should say at the outset that this problem may not be limited to win7 x64 as I just haven't tested any other OSes yet except I can say that I have not had a problem with XP 32bit.
I wrote a 64 bit COM plug DLL for a larger 64 bit commercial application
My DLL starts and talks to, a UI that is an out of process 32 bit VB6 ACTIVEX EXE.
I am running a MS installer with a post install batch file that runs the familiar
exefilename / registerserver command on the activex exe as well as some successful regsvr32 of some VB6 runtime components.
The only way I can get the activex exe to register is to run the host application as administrator once with my dll loaded. After that one run as admin, all subsequent runs
then work fine. Even if the whole shebang in uninstalled which presumably
is leaving the activex exe registration behind.
So I do a restore point back to sqaure one and a virgin registry and try again....
I have run the batch file that executes the /registerserver command as administrator by hand
and that does not seem to register is either.
My user account is an administrator on the test bed.
I should note that if a 32 bit version of the host application is run with a 32 bit version of
my COM dll then nothing changes for the better.
UAC is on.
Right now this is a "known issue" in the release notes to the beta testers but hopefully not for long.
As I recall, Vista was ok - but the install testing was a while back. The installer and it's
post install batch file has not changed since then. I developed this installer under VISTA.