register proporcionar para nombre instalar debe binario dll windows-7 com

proporcionar - Registrar DLL COM de 32 bits en Windows 7 de 64 bits



regsvr32 (10)

Creo que las cosas han cambiado ahora. En My Win 2008 R2 Box, pude registrar un dll de 32 bits con un regsvr32 de 64 bits, ya que la versión de 64 bits puede detectar el bitness objetivo y generar un nuevo regsvr32 de 32 bits de la carpeta% SYSWOW%.

Consulte: Registro de una DLL de 32 bits con regsvr32 de 64 bits

Tengo una DLL de componente COM de 32 bits y esta DLL está escrita en Delphi. Es una DLL Win32. Quiero utilizar esta DLL en mi proyecto de Visual C # en la plataforma .NET.

No puedo agregar referencia a esta DLL en el proyecto. Intento registrarlo en el símbolo del sistema como administrador en Windows 7 de 64 bits, pero obtengo este error:

Compruebe si el módulo es compatible con una versión x86 (32 bits) o x64 (64 bits) de regsvr32.exe.

Primero coloco el archivo DLL en la carpeta windows / system32. Luego abro Command Prompt como administrador. Escribo regsvr32 huginalpha.dll y ejecuto este comando. Pero obtengo el error. ¿que puedo hacer?



Es probable que intente registrar una biblioteca de 32 bits con la versión de 64 bits de regsvr32. Consulte este artículo de KB : debe ejecutar regsvr32 desde Windows / SysWOW64 para las bibliotecas de 32 bits.


Intenta ejecutarlo en Framework64.

Ejemplo:

  • 32 bit

    C:/Windows/Microsoft.NET/Framework/v2.0.50727/RegAsm.exe D:/DemoIconOverlaySln/Demo/bin/Debug/HandleOverlayWarning/AsmOverlayIconWarning.dll /codebase

  • 64 bit

    C:/Windows/Microsoft.NET/Framework64/v2.0.50727/RegAsm.exe D:/DemoIconOverlaySln/Demo/bin/Debug/HandleOverlayWarning/AsmOverlayIconWarning.dll /codebase


Para DLLS de 32 bits en plataformas de Windows de 64 bits:

  1. Copie whatever.dll en c:/windows/sysWOW64/
  2. Abra un mensaje de CMD COMO ADMINISTRADOR (muy importante)

En la ventana de CMD:

  1. CD c:/windows/sysWOW64/
  2. regsvr32 whatever.dll

A continuación, ejecutará el regsvr de 32 bits ( c:/windows/sysWOW64/regsvr.exe ) en un dll de 32 bits


Para registrar un comm .dll o .ocx en Windows 7 de 32 bits, haga lo siguiente:

Copie .dll o .ocx a c:/windows/system32 Escriba cmd en el menú Ejecutar, buscará cmd.exe, haga clic con el botón derecho y haga clic en Run as Administrator

Mostrará un mensaje en c:/windows/system32

Tipo

regsvr32 ocxname.ocx para registrar .ocx

o

escriba regsvr32 dllname.dll para registrar .dll


Recibí el error "El módulo puede ser compatible con esta versión de Windows" para ambas versiones de RegSvr32 (32 bits y 64 bits). Estaba tratando de registrar una DLL creada para XP (32 bit) en Server 2008 R2 (x64) y ninguna de las resoluciones de Regsr32 funcionó para mí. Sin embargo, registrar el ensamblado en el .Net apropiado funcionó perfecto para mí. C: / Windows / Microsoft.NET / Framework / v2.0.50727 / RegAsm.exe


Si no se resuelve el problema, al usar la versión SysWoW64 de regsvr32, asegúrese de que todas las dependencias de la biblioteca tengan la misma arquitectura. Por ejemplo, cuando

regsvr32 lib_x86.dll no puede registrar la biblioteca, y %SystemRoot%/SysWow64/regsvr32 lib_x86 también falla, intente cargar lib_x86 a la aplicación Dependency Walker para ver toda la lista de dependencias. Si algún elemento tiene archetecture de 64 bits, esta es la razón por la cual regsvr32 no puede cargar la biblioteca de 32 bits.


pon el dll en el directorio system32 o syswow32, y usa el regsvr32 apropiado para registrarlo. wiered que a pesar de que dio error al registrar el error, reinicié mi WIN 7 64 Y mi aplicación vb cargó el dll muy bien !!


http://onerkaya.blogspot.com/2013/03/register-com-dll-on-windows-64-bit.html

La recuperación de la fábrica de clase COM para el componente con CLSID {...} falló debido al siguiente error: 80040154 Clase no registrada (Excepción de HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

si intentas esto;

c: / windows / system32 / regsvr32.exe <nombre de archivo> .dll

aún puedes tomar esta excepción. por lo que IIS- pool Configuración avanzada, Habilitar aplicación de 32 bits: true;)