Cómo detener y desregistrar un archivo DLL en Windows (regsvr32 /u)
Los archivos DLL (Dynamic Link Library) son bibliotecas de código compartido. A veces una DLL defectuosa, mal registrada o maliciosa causa errores. Para dejar de usarla, hay que desregistrarla (quitar entradas del Registro) y opcionalmente borrarla/renombrarla.
⚠️ Riesgo alto
Desregistrar DLLs de sistema (shell32.dll, kernel32.dll, user32.dll, comctl32.dll, etc.) rompe Windows. Solo toca DLLs de terceros identificadas como problemáticas (ej: toolbar, codec, plugin, malware). Crea punto de restauración antes.
Pasos
Paso 1: Identificar la DLL exacta y su ruta completa
- Visor de eventos (eventvwr.msc) → Windows Logs → Application / System → busca «Faulting module name: xyz.dll».
- Process Explorer (Sysinternals) → Ctrl+F → nombre DLL → ver ruta completa.
- Autoruns (Sysinternals) → pestaña «DLLs» → busca entradas sospechosas (sin editor, ruta rara, sin firma).
Paso 2: Abrir Símbolo del sistema como Administrador
Win → escribe cmd → Ctrl+Shift+Enter (o clic derecho → «Ejecutar como administrador»).
Paso 3: Desregistrar la DLL
regsvr32 /u "C:\Ruta\Completa\archivo.dll"
Ejemplo: regsvr32 /u "C:\Program Files\BarraHerramientas\TBHelper.dll"
/u= Unregister (desregistrar).- Comillas obligatorias si ruta tiene espacios.
- Debe salir «DllUnregisterServer en C:\...\archivo.dll succeeded».
Paso 4: Verificar / Renombrar / Borrar
- Si éxito: renombra
archivo.dll → archivo.dll.bako muévelo. Así no se recarga. - Reinicia PC. Verifica si el error desaparece.
Paso 5: Si falla «LoadLibrary failed» / «Module not found»
- La DLL no está registrada (no hay entrada en Registro). Solo renombra/borra.
- O la DLL es de 32 bits en Windows 64 bits: usa
%windir%\SysWOW64\regsvr32.exe /u "C:\Ruta\archivo.dll". - O la DLL tiene dependencias faltantes: Dependency Walker (depends.exe) para verlas.
Herramientas recomendadas
- Autoruns (Sysinternals) — ve todas las DLLs registradas (pestaña DLLs), desmarca para deshabilitar, botón derecho → «Jump to entry» → Regedit → borra clave CLSID/ProgID.
- Process Explorer — ver qué proceso carga qué DLL.
- ListDLLs (Sysinternals CLI) —
listdlls -r nombre_dll.
Restaurar si algo falla
Punto de restauración → «Recuperación» → «Abrir Restaurar sistema» → elige punto previo. O renombra .bak → .dll y regsvr32 "ruta\archivo.dll" (sin /u).
- ·Cómo combinar archivos GPX
- ·Cómo reemplazar archivos DLL
- ·Cómo descomprimir (abrir) archivos ZIP en Windows y Mac
- ·Cómo descomprimir archivos TGZ (tar.gz) en Windows, Linux y Unix
- ·Cómo eliminar un archivo DLL correctamente
- ·Cómo leer archivos cifrados en Windows
- ·Cómo convertir archivos WFM
- ·Cómo actualizar archivos DLL
- Cómo reparar archivos corruptos
- Cómo combinar (fusionar) varios archivos PDF en uno solo
- Cómo instalar archivos DLL
- Cómo instalar archivos MSI en Windows 7 con permisos de administrador
- Cómo recuperar archivos temporales (.tmp) de Word, Excel, PowerPoint...
- Cómo crear archivos binarios (.bin) en C# / .NET
