Escuché en la arquitectura Windows x64, para admitir la ejecución de las aplicaciones x86 y x64, hay dos juegos de registros de Windows separados/diferentes: uno para la aplicación x86 y el otro para la aplicación x64. ¿acceso? Por ejemplo, si un COM registra CLSID en el conjunto de registros x86, entonces la aplicación x64 nunca podrá acceder al componente COM mediante CLSID, porque x86/x64 tiene diferentes conjuntos de registros.Registro de Windows de 64 bits v.s. Registro de 32 bits
Entonces, mi pregunta es si mi comprensión de la muestra anterior es correcta. También quiero obtener más documentos para aprender este tema, sobre los dos conjuntos diferentes de registro en la arquitectura x64. (He hecho un poco de búsqueda, pero no encontré ninguna información valiosa.)
gracias de antemano, George
Una pregunta rápida, si estoy usando regsvr32 para registrar un componente COM, ¿cómo sabemos si nos registramos bajo el registro x86 o x64? Mi opinión es que, si está registrado en el registro x86, la aplicación x64 no podrá acceder al componente COM. – George2
Hay dos versiones de regsrv32 en una máquina de 64 bits. Uno registra binarios de 64 bits y uno registra binarios de 32 bits en el nodo Wow6432. Este artículo de Microsoft kb podría ser útil para usted: http://support.microsoft.com/kb/282747 –
1. cuando registramos un nuevo componente COM utilizando regsvr32 de 32 bits, el componente COM debe construirse para x86 (cuando registrar un nuevo componente COM usando 64-bit regsvr32, el componente COM debe ser construido para x64) - significa que no podemos usar 32-bit regsvr32 para registrar componente COM de 64-bit (o usando 64-bit regsvr32 para registrar 32-bit Componente COM), ¿correcto? 2. El proceso de 64 bits solo podía acceder al registro x64 para COM CLSID, y el proceso de 32 bits solo podía acceder al registro x86 para COM CLISD, sin acceso cruzado. Mi comprensión es correcta? – George2