6

I've got a type library in a 32-bit Excel add-in app.

I need to translate the whole app to 64-bit.

enter image description here

I can't just copy paste the typelib, because the GUID's will clash with the already installed 32-bit app, ditto for the naming.
What's the best way to translate the application to 64 bit in a way that avoids name-clashes?

Or is there some mechanism that solves the name- and GUID-clashes automatically that I don't know about?

Johan
  • 74,508
  • 24
  • 191
  • 319
  • [Windows 64-bit registry v.s. 32-bit registry](http://stackoverflow.com/questions/869783/windows-64-bit-registry-v-s-32-bit-registry) might help. – kobik Mar 16 '12 at 16:29
  • So you have an XE2 app with a 32 bit build configuration and a 64 bit build configuration, and you just switch build configurations and rebuild. Right? If david's answer is correct (as I suspect it is) then that's all there is to it. – Warren P Mar 16 '12 at 16:46
  • @WarrenP That's it. I've not done this with an Excel COM add-in (yet, it's very high on my TODO list), but I did this with a shell extension a few years back. The neat thing is that you use identical code in every respect and just target either x86 or x64. No conditional compilation required at all. – David Heffernan Mar 16 '12 at 17:03

1 Answers1

11

32 and 64 bit COM servers are registered in different registry views. So the 32 bit processes and 64 bit processes exist in disjoint GUID namespaces. In other words you use the same GUID for both 32 and 64 bit versions. The registry redirector does the rest.

David Heffernan
  • 601,492
  • 42
  • 1,072
  • 1,490