64bit ActiveX-DLL compatible con VB.NET, C#, Any CPU
Cuando se ejecuta la aplicación .net (cualquier opción de CPU) en un entorno de 64 bits, recogerá inmediatamente el ActiveX de 64 bits porque estará accediendo a la vista del registro del sistema para 64 bits, que está apuntando a la dll de 64 bits en la clave
HKCR\Software\Classes\CLSID\{7677E74E-5831-4C9E-A2DD-9B1EF9DF2DB4}\InProcServer32.
Nota: el Edraw Viewer Component para Word tiene el GUID diferente:569EB2D6-161D-4AE0-9804-640E724A297A; el Componente Edraw Viewer para Excel tiene el GUID diferente:367AD645-0381-4750-9B15-741067C2A118
El siguiente artículo mostrará paso a paso cómo incrustar el componente visor de office en una aplicación C# con la opción de compilación Any CPU.
Registrar el componente visor de Office de 64 bits
Si no tienes el componente, primero tienes que instalar el paquete.
Por defecto, el programa de instalación regsvr32 el archivo officeviewer.ocx de 32 bits en el ordenador de destino. Para utilizarlo en un proyecto de 64 bits, tienes que regsvr32 el archivo officeviewer.ocx de 64 bits manualmente.
En la carpeta de instalación, puedes encontrar la carpeta x64 redist.
Hay un archivo reg.bat en él.
Puedes utilizar la herramienta de edición de texto para abrirlo. A continuación, modifica la ruta del componente.
Haz clic con el botón derecho del ratón en el archivo reg.bat y, a continuación, en la opción de menú Ejecutar como administrador.
El archivo bat regsvr32 el archivo officeviewer.ocx de 64 bits y EDOfficeViewerX.dll en el equipo de destino.
Para comprobar si el ordenador registra el componente Office Viewer de 32/64 bits, sigue los siguientes pasos:
1. 64 bits: Comprueba que el objeto COM está registrado en HKCR\Software\Classes\CLSID\7677E74E-5831-4C9E-A2DD-9B1EF9DF2DB4, Interfaces y TypeLib
2. 32 bits: Comprueba que el objeto COM está registrado en HKCR\Software\WOW6432Node\Classes\CLSID\7677E74E-5831-4C9E-A2DD-9B1EF9DF2DB4, Interfaces y TypeLib.
Crea una nueva aplicación Windows Form en c#
En el panel Caja de herramientas, haz clic en el botón Elegir elementos...
En el cuadro de diálogo emergente, elige el componente Edraw Office Viewer.
NOTA: Visual Studio sigue siendo un entorno de desarrollo de 32 bits. El componente Edraw colocará automáticamente las versiones de 32 bits del ActiveX en la caja de herramientas. Como los componentes comparten la misma interfaz y el mismo GUID, puedes utilizar toda la facilidad del entorno de desarrollo de Visual Studio y seguir teniendo toda la potencia de los 64 bits bajo el capó.
Arrastra el componente al formulario de la forma habitual. Cambia el Objetivo de Plataforma como Cualquier CPU. Reconstruye todo.
Para distribuir el proyecto, puedes registrar tanto ActiveX como ActiveX64 en la máquina de destino. La aplicación cambia automáticamente si tu máquina es de 32 o 64 bits. Si tu aplicación sólo se ejecutará en máquinas de 64 bits, puedes configurar la aplicación para que se dirija a x64 y distribuir sólo el ActiveX64.
Te puede interesar
Integración de MS Office en un programa ASP.NET