No se encuentra SetDefaultDllDirectories en Kernel32.dll

Se produce el siguiente error cuando se intenta ejecutar determinados programas en versiones de Windows anteriores a Windows 8 y Windows Server 2012:

No se encuentra el punto de entrada del procedimiento SetDefaultDllDirectories en la biblioteca de vínculos dinámicos Kernel32.dll.

A veces el mensaje menciona AddDllDirectory o RemoveDllDirectory en lugar de SetDefaultDllDirectories. En Windows Vista, Windows Server 2008, Windows 7 y Windows Server 2008 R2 se resuelve mediante actualizaciones. No hay solución para los Windows anteriores a Vista, como XP y Server 2003.

Las funciones AddDllDirectory, RemoveDllDirectory y SetDefaultDllDirectories se introdujeron en la actualización KB2533623 publicada en julio de 2011, “Aviso de seguridad de Microsoft: la carga de una biblioteca no segura podría permitir la ejecución remota de código”. Estas funciones permiten limitar las rutas de búsqueda de bibliotecas para combatir vulnerabilidades relacionadas con la suplantación de ficheros DLL (DLL hijacking). Windows 8, Windows Server 2012 y siguientes ya las incluyen.

Si los programas han de ser compatibles con las versiones anteriores de Windows, Microsoft sugiere a los desarrolladores no invocar las funciones de forma directa, sino obtener sus direcciones durante la ejecución mediante GetProcAddress. Dos ejemplos de programas que no lo cumplen son el ejecutable con el que Sony empaqueta Xperia Companion y el instalador de la versión 0.298 de la aplicación de chat para videojuegos Discord.

La solución más directa para el mensaje de error consiste en instalar a mano el paquete KB2533623, aunque la recomendación es aplicar todas las actualizaciones importantes que ofrezca Windows Update y, en particular para Windows 7 y Windows Server 2008 R2, el paquete mensual de seguridad y calidad más reciente posible.

Los paquetes de Windows Vista requieren al menos el Service Pack 1, aunque se aconsejaría tener el Service Pack 2. No hay ninguna condición especial en Windows 7 pero se recomienda el Service Pack 1 para seguir recibiendo actualizaciones importantes. Existen páginas de descarga específicas para Windows Server 2008 y Windows Server 2008 R2, pero los paquetes MSU y los requisitos son idénticos a los de sus versiones clientes equivalentes. La única diferencia es que Windows Server 2008 continúa con soporte técnico y nuevas actualizaciones a pesar de que el ciclo de vida de Windows Vista finalizó hace varios meses.

Las versiones mínimas de Kernelbase.dll (Windows 7 y Windows Server 2008 R2) y Kernel32.dll que implementan las funciones AddDllDirectory, RemoveDllDirectory y SetDefaultDllDirectories se resumen en la tabla siguiente.

Windows Vista y Windows Server 2008 Service Pack 1
GDR 6.0.6001.18631
LDR 6.0.6001.22898
Service Pack 2
GDR 6.0.6002.18449
LDR 6.0.6002.22625
Windows 7 y Windows Server 2008 R2 RTM
GDR 6.1.7600.16816
LDR 6.1.7600.20978
Service Pack 1
GDR 6.1.7601.17617
LDR 6.1.7601.21728

51 thoughts on “No se encuentra SetDefaultDllDirectories en Kernel32.dll

  1. tengo el mismo error
    descarge la actualizacion y el momento de intentar instalar dice
    «el instalador encontro un error: 0xc8000247»
    quiero instalar los drivers pero no me deja instalar nada

    1. Ante este tipo de errores yo hago lo siguiente:
      Tengo una antena wifi y sus driver en un pendrive
      La instalo y ya puedo instalar todas las actualizaciones de Windows update

    2. Me aparece el mismo error 0xc8000247 y cuando intento instalar el KB 2018 me aparece lo mismo ayudaaa

  2. Amigo, muchisimas gracias. Con la instalación de esa actualización ya pude instalar los drivers de una Optiplex 3020 con Windows 7.

  3. Tengo el office 2007 y ahora que quise instalar el office 365 versión 32bits me dejó descargarlo, pero no me permite instalarlo, me marcó el error que no se encuentra el punto de entrada del procedimiento.

  4. Tengo instalado el office 2007, descargué el office 365, pero no me deja instalarlo me marca: no se encuentra el punto de entrada del procedimiento. ¿qué debo hacer para que pueda instalar el office 365?

    1. No, Windows XP es demasiado antiguo. Es posible que ese software de impresora ya no sea compatible con XP y que el error de SetDefaultDllDirectories sea tan solo una manifestación de ello.

    1. El error 0x80070424 (ERROR_SERVICE_DOES_NOT_EXIST) indica que las entradas de configuración de alguno de los servicios necesarios para la búsqueda, descarga o instalación de actualizaciones no existe, como el instalador de módulos de Windows, el servicio de transferencia inteligente en segundo plano o el servicio de Windows Update. Ciertos ejemplares de software malicioso, acciones de configuración o mantenimiento inadecuadas, o fallos de hardware pueden inducir este problema. Sin embargo, debido a su complejidad, la asistencia para la resolución del mismo queda fuera del ámbito del blog, por lo que se aconseja buscar ayuda en los foros:
      https://social.technet.microsoft.com/Forums/es-es/home
      https://answers.microsoft.com/es-es

  5. Buenas noches! Favor apoyo con alguna solución Para instalar WhatsApp en mi PC con win7 con 32bits: «No se encuentra el punto del procedimiento SetDefaultDllDirectories en la biblioteca de vinculos dinamicos KERNEL32.DLL.»

    1. Aunque el sitio web de WhatsApp informa de que el programa de escritorio para Windows solo funciona de Windows 8 en adelante, se comprueba que también se puede usar en Windows 7, quizá con algunas limitaciones. El mensaje de error acerca de SetDefaultDllDirectories ocurre en los Windows 7 que no están actualizados y la solución se describe en el artículo. Sin embargo, solamente el instalador WhatsAppSetup.exe presenta este inconveniente. Con el descompresor 7-Zip se puede abrir el paquete con extensión .nupkg y, dentro de él, extraer los ficheros y subcarpetas de la ruta lib\net45. Se trata tan solo de una solución temporal, un apaño. La instalación oficial permite que la aplicación de escritorio se actualice de forma automática cuando sea preciso. También está disponible la opción de WhatsApp Web (https://web.whatsapp.com) en los navegadores compatibles.

      Se recuerda además que cesó el soporte oficial de Windows 7 en enero de 2020. Existe un alto riesgo de seguridad asociado a mantener activo un Windows 7 sin actualizar. Solo las empresas que hayan adquirido de Microsoft las correspondientes claves están autorizadas a aplicar las actualizaciones que se han publicado posteriormente, en tramos anuales hasta 2023. Existen técnicas y herramientas que afirman evadir los controles impuestos para permitir de este modo la instalación de estas actualizaciones en sistemas y ediciones de Windows no aptos, pero su fiabilidad no está garantizada.

    1. La actualización se aplica a todas las ediciones de Windows 7, sin distinción. Se debe seleccionar correctamente entre x86 y x64. Las páginas y los enlaces de descarga aún son válidos.

  6. Hola, tengo windows XP quiero abrir excell o word y me aparece: no se encuentra el punto de entrada del procedimiento getjinalpathnameBy HandleW en la biblioteca de vínculos dinámicos KERNEL32.dll.
    Se puede solucionar ??

  7. (No se encuentra SetDefaultDllDirectories en Kernel32.dll )
    tengo este problema en mi windows 7
    descargue esta actualización ….
    Actualización KB2533623 para Windows 7 x64
    antes de la instalación muestra este mensaje: ‘la actualización no es aplicable al equipo’ que puede hacer al respecto ?? gracias…

    1. En teoría la actualización KB2533623 no presenta requisitos especiales, aunque tendría que comprobarlo de nuevo. Tampoco debería influir si el sistema lleva Service Pack 1 o no.
      ¿Se trata realmente de un Windows 7 x64 (64 bits)? ¿Está recién instalado o tiene ya algunas actualizaciones? ¿Es un Windows 7 original? ¿Qué número de versión tienen Kernel32.dll y Kernelbase.dll en \Windows\System32?

  8. si tengo instalado el windows 7 ultimate 64bits (6.1 compilacion 7601)
    tiene actualizaciones de seguridad e importantes de windows (KB958488) (KB2685811)
    – El windows no es original.
    version de kernel32.dll es — 6.1.7601
    version del kernelbase.dll es — 6.1.7601

    1. Los números de versión están incompletos, les falta el último valor; simplemente 6.1.7601 no me dice nada que no supiera ya. Además, ¿en qué sentido no es Windows original? Si se trata de alguna variante de las que circulan por ahí manipuladas especialmente para prescindir de algunos componentes o eludir los mecanismos de activación, no hay garantías de poder instalar todas las actualizaciones de forma correcta.

Responder a Geovanni Cabrera Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *