2012-03-16 5 views
6

Tengo una biblioteca de tipos en una aplicación de complemento de Excel de 32 bits.Cómo transferir un typelib de 32 bits a un proyecto de 64 bits (a la vez que evita los nombres de los nombres)

Necesito traducir toda la aplicación a 64 bits.

enter image description here

simplemente no puede copiar y pegar la biblioteca de tipos, porque el GUID de chocará con la aplicación de 32 bits ya instalado, lo mismo para el nombramiento.
¿Cuál es la mejor manera de traducir la aplicación a 64 bits de una manera que evite los conflictos de nombres?

¿O hay algún mecanismo que soluciona el nombre y GUID choca automáticamente que no sé?

+0

[Registro de Windows de 64 bits v.s. El registro de 32 bits] (http://stackoverflow.com/questions/869783/windows-64-bit-registry-v-s-32-bit-registry) podría ayudar. – kobik

+0

Así que tiene una aplicación XE2 con una configuración de compilación de 32 bits y una configuración de compilación de 64 bits, y solo cambia las configuraciones de compilación y la reconstrucción. ¿Derecha? Si la respuesta de David es correcta (como sospecho que es) entonces eso es todo. –

+0

@WarrenP Eso es todo. No he hecho esto con un complemento COM de Excel (sin embargo, está muy arriba en mi lista de TODO), pero lo hice con una extensión de shell hace unos años. Lo bueno es que utilizas un código idéntico en todos los aspectos y solo apuntas a x86 o x64. No se requiere compilación condicional en absoluto. –

Respuesta

11

Los servidores COM de 32 y 64 bits están registrados en diferentes vistas de registro. Entonces, los procesos de 32 bits y los procesos de 64 bits existen en espacios de nombres GUID disjuntos. En otras palabras, usa el mismo GUID para versiones de 32 y 64 bits. El redirector de registro hace el resto.

+0

Gracias David, sospechaba (y esperaba) que ese sería el caso. – Johan

Cuestiones relacionadas