punto - ¿Cómo registro un archivo DLL en Windows 7 de 64 bits?
regsvr32 windows 10 (15)
Abra el menú Inicio y escriba cmd en el cuadro de búsqueda Mantenga presionadas las teclas Ctrl + Mayús y presione Entrar
Esto ejecuta el símbolo del sistema en modo Administrador.
Ahora escriba: regsvr32 MyComobject.dll
He intentado usar el siguiente código:
cd c:/windows/system32
regsvr32.exe dllname.ax
Pero esto no está funcionando para mí. ¿Cómo puedo registrar un archivo DLL en Windows 7 con un procesador de 64 bits?
Aquí es cómo resolví este problema en una máquina Win7 x64:
1 - mensaje de error:
"CoCreateInstance () falló Plkease verifique sus entradas de registro CLSID {F088EA74-2E87-11D3-B1F3-00C0F03C37D3} y asegúrese de iniciar sesión como administrador"
2 - procedimiento de reparación:
- Inicie / escriba cmd / RightMouseHaga clic en cmd.exe y elija "Ejecutar como administrador"
- tipeado: regsvr32 / s C: / Archivos de programa / Autodesk / 3ds Max Design 2015 / atl.dll regsvr32 / s C: / Archivos de programa / Autodesk / 3ds Max Design 2015 / MAXComponents.dll
- ¡reinicia Win 7 y regresa al negocio nuevamente!
Espero que esto ayude !
Bueno, no especifica si es un dll de 32 o 64 bits y no incluye el mensaje de error, pero supongo que es el mismo problema que se describe en este artículo de KB: Mensaje de error cuando ejecuta Regsvr32.exe en Windows de 64 bits
Cita de ese artículo:
Este comportamiento se produce porque el archivo Regsvr32.exe en la carpeta System32 es una versión de 64 bits. Cuando ejecuta Regsvr32 para registrar una DLL, está utilizando la versión de 64 bits de forma predeterminada.
Solución de ese artículo:
Para resolver este problema, ejecute Regsvr32.exe desde la carpeta% SystemRoot% / Syswow64. Por ejemplo, escriba los siguientes comandos para registrar la DLL:
cd /windows/syswow64
regsvr32 c:/filename.dll
Conocer el mensaje de error sería bastante valioso. Está destinado a proporcionar información, a pesar de que no tiene ningún sentido para usted. Al ser forzado a adivinar, diría que el DLL es un filtro DirectX de 32 bits. En cuyo caso, este debería ser el curso de acción adecuado:
cd c:/windows/syswow64
move ../system32/dllname.ax .
regsvr32.exe dllname.ax
Esto debe ejecutarse en un símbolo del sistema elevado para que UAC no pueda detener el acceso al registro que se requiere. Haga más preguntas sobre esto en superuser.com
En un sistema x64, system32 es para 64 bits y syswow64 para 32 bits (no al revés, como se indica en otra respuesta). WOW (Windows en Windows) es el subsistema de 32 bits que se ejecuta en el subsistema de 64 bits).
Es un desastre nombrar términos, y solo sirve para confundir, pero así son las cosas.
De nuevo ...
syswow64 es de 32 bits, NO de 64 bits.
system32 es de 64 bits, NO de 32 bits.
Hay un regsrv32 en cada uno de estos directorios. Uno es de 64 bits y el otro de 32 bits. Es el mismo trato con odbcad32 y et al. (Si desea ver controladores ODBC 32 bits que no se mostrarán con el odbcad32 predeterminado en system32 que es de 64 bits).
Escriba regsvr32 name.dll
en el símbolo del sistema (ejecutado en modo elevado) y presione "Enter". Tenga en cuenta que name.dll
debe reemplazarse con el nombre de la DLL que desea registrar. Por ejemplo, si desea registrar iexplore.dll, escriba regsvr32 iexplore.dll
.
Existe una diferencia en Windows 7. Iniciar sesión como administrador no otorga los mismos derechos que cuando se ejecuta un programa como administrador.
Ir a Inicio - Todos los programas - Accesorios. Haga clic con el botón derecho en la ventana de comandos y seleccione "Ejecutar como administrador". Ahora registre el dll normalmente a través de: regsrvr32 xxx.dll
Finalmente encontré la solución simplemente ejecute CMD como administrador y luego escriba
cd /windows/syswow64
entonces escribe esto
regsvr32 c:/filename.dll
Espero que esa respuesta te ayude
Necesita ejecutar el cmd.exe
en c:/windows/system32/ by administrator
Comandos: para archivos * .dll de anulación de registro
regsvr32.exe /u C:/folder/folder/name.dll
Para registro * .dll archivos
regsvr32.exe C:/folder/folder/name.dll
Parte de la confusión con respecto a regsvr32 es que en las ventanas de 64 bits, el nombre y la ruta no han cambiado, pero ahora registra archivos DLL de 64 bits. El regsvr32 de 32 bits existe en SysWOW64, un nombre que parece representar aplicaciones de 64 bits. Sin embargo, el WOW64 en el nombre se refiere a Windows en Windows 64, o más explicity Windows de 32 bits en Windows de 64 bits. Cuando lo piensas de esta manera, el nombre tiene sentido a pesar de que es confuso en este contexto.
No puedo encontrar mi fuente original en un blog de MSDN, pero se hace referencia en este artículo de Wikipedia http://en.wikipedia.org/wiki/WoW64
Si el archivo DLL es de 32 bits:
- Copie la DLL a C: / Windows / SysWoW64 /
- En cmd elevado:% windir% / SysWoW64 / regsvr32.exe% windir% / SysWoW64 / namedll.dll
si el DLL es de 64 bits:
- Copie el archivo DLL a C: / Windows / System32 /
- En cmd elevado:% windir% / System32 / regsvr32.exe% windir% / System32 / namedll.dll
Si el archivo DLL es de 32 bits:
Copie la DLL a C: / Windows / SysWoW64 /
En un símbolo del sistema elevado : %windir%/SysWoW64/regsvr32.exe %windir%/SysWoW64/namedll.dll
si el DLL es de 64 bits:
Copie el archivo DLL a C: / Windows / System32 /
En un símbolo del sistema elevado : %windir%/System32/regsvr32.exe %windir%/System32/namedll.dll
Sé que parece ser el camino equivocado, pero así es como funciona. Ver:
http://support.microsoft.com/kb/249873
Cita: "Nota En una versión de 64 bits de un sistema operativo Windows, hay dos versiones del archivo Regsv32.exe:
La versión de 64 bits es% systemroot% / System32 / regsvr32.exe.
La versión de 32 bits es% systemroot% / SysWoW64 / regsvr32.exe.
"
Todo aquí estaba fallando como un camino equivocado. Entonces recordé un truco de los viejos días Win95. Abra la carpeta del programa donde reside el .dll, abra C: / Windows / System32 desplácese hacia abajo a regsvr32 y arrastre y suelte el dll de la carpeta del programa en rgsrver32. Boom, hecho.
Y al hacer esto, si obtiene el código de error 0x80040201, intente con la falla en la solución en DllRegisterServer con el código de error 0x80040201 , pero asegúrese de abrir el símbolo del sistema como Ejecutar como administrador .
Acabo de probar este método extremadamente simple y funciona perfectamente, pero utilizo la cuenta de administrador integrada, por lo que no tengo que pasar por aros para obtener privilegios elevados.
El siguiente archivo por lotes alivia al usuario de la necesidad de mover archivos dentro y fuera de las carpetas del sistema. También deja que Windows aplique la versión adecuada de Regsvr32
.
INSTRUCCIONES:
En la carpeta que contiene el archivo de la biblioteca (
-.dll
o-.ax
) que desea registrar, abra un nuevo archivo de texto y pegue en UNA de las siguientes rutinas:echo BEGIN DRAG-AND-DROP %n1 REGISTRAR FOR 64-BIT SYSTEMS copy %1 C:/Windows/System32 regsvr32 "%nx1" echo END BATCH FILE pause
echo BEGIN DRAG-AND-DROP %n1 REGISTRAR FOR 32-BIT SYSTEMS copy %1 C:/Windows/SysWOW64 regsvr32 "%nx1" echo END BATCH FILE pause
Guarde su nuevo archivo de texto como un archivo por lotes (
-.bat
); simplemente arrastre y suelte su archivo-.dll
o-.ax
encima del archivo por lotes.Si UAC no le da la oportunidad de ejecutar el archivo de proceso por lotes como administrador, es posible que deba elevar los privilegios manualmente (las instrucciones son para Windows 7):
- Haga clic derecho en el archivo por lotes;
- Seleccione
Create shortcut
; - Haga clic derecho en el atajo;
- Seleccionar
Properties
; - Haga clic en la pestaña
Compatibility
; - Marque la casilla etiquetada
Run this program as administrator
; - Arrastre y suelte su archivo
-.dll
o-.ax
encima del nuevo acceso directo en lugar del archivo por lotes.
Eso es todo . Elegí COPY
lugar de MOVE
para evitar el fracaso de cualquier intento de seguimiento relacionado con UAC. El registro exitoso debe ir seguido de la eliminación del archivo de la biblioteca original ( -.dll
o -.ax
).
No se preocupe por las copias realizadas en la carpeta del sistema ( C:/Windows/System32
o C:/Windows/SysWOW64
) mediante pases anteriores: se sobrescribirán cada vez que ejecute el archivo por lotes.
A menos que ejecute el archivo por lotes incorrecto , en ese caso probablemente desee eliminar la copia realizada en la carpeta del sistema incorrecta ( C:/Windows/System32
o C:/Windows/SysWOW64
) antes de ejecutar el archivo por lotes correcto, ... o...
Ayude a Windows a elegir el archivo de biblioteca correcto para registrarse al calificar completamente su ubicación de directorio.
- Del archivo por lotes correcto, copie la ruta de la carpeta del sistema
- Si es de 64 bits:
C:/Windows/System32
- Si es de 32 bits:
C:/Windows/SysWOW64
- Si es de 64 bits:
- Pégalo en la siguiente línea para que preceda a
%nx1
- Si es de 64 bits:
regsvr32 "C:/Windows/System32/%nx1"
- Si es de 32 bits:
regsvr32 "C:/Windows/SysWOW64/%nx1"
- Pegar ruta dentro de comillas
- Insertar barra invertida para separar
%nx1
de la ruta de la carpeta del sistema
- o ...
- Si es de 64 bits:
- Del archivo por lotes correcto, copie la ruta de la carpeta del sistema
Ejecute este archivo de lote de escopeta, que lo hará (en orden):
- Realizar la limpieza de los procesos de registro abortados
- Invierta cualquier proceso de registro completado por su archivo de biblioteca;
- Elimine cualquier copia de su archivo de biblioteca que se haya guardado en cualquiera de las carpetas del sistema;
- Haga una pausa para permitirle terminar el archivo por lotes en este punto (y ejecutar otro si lo desea).
- Intente la instalación de 64 bits en su archivo de biblioteca
- Copie su archivo de biblioteca a
C:/Windows/System32
; - Registre su archivo de biblioteca como un proceso de 64 bits;
- Haga una pausa para permitirle terminar el archivo por lotes en este punto.
- Copie su archivo de biblioteca a
- Deshacer la instalación de 64 bits
- Invierta cualquier registro de su archivo de biblioteca como un proceso de 64 bits;
- Elimine su archivo de biblioteca de
C:/Windows/System32
; - Haga una pausa para permitirle terminar el archivo por lotes en este punto (y ejecutar otro si lo desea).
- Intente la instalación de 32 bits en su archivo de biblioteca
- Copie su archivo de biblioteca a
C:/Windows/SystemWOW64
- Registre su archivo de biblioteca como un proceso de 32 bits;
- Haga una pausa para permitirle terminar el archivo por lotes en este punto.
- Copie su archivo de biblioteca a
- Eliminar original, copia no registrada del archivo de la biblioteca
- Realizar la limpieza de los procesos de registro abortados