Error de script en Administración de impresión al abrir “Impresoras”: “El objeto no acepta la propiedad o el método 'SetPrinterName'”

ITETJL 5 Puntos de reputación
2026-09-19T00:22:14.5633333+00:00

Estoy documentando un problema que tuve con Administración de impresión (printmanagement.msc) en Windows.

La consola abría normalmente, pero al entrar en:

Servidores de impresión > [equipo local] > Impresoras

aparecía este error de script:

Línea: 40

Carácter: 21

Error: El objeto no acepta la propiedad o el método 'SetPrinterName'

Código: 0

Error de Script

Las impresoras funcionaban correctamente y Windows las enumeraba sin problema.

Durante el diagnóstico se identificó que el error ocurría al ejecutar:

printQueueView_queueOCX.SetPrinterName("", false)

El control COM implicado era PrinterQueueView:

CLSID:

{B021FF57-A928-459C-9D6C-14DED0C9BED2}

asociado a:

puiobj.dll

El objeto COM podía crearse correctamente, pero al intentar resolver o utilizar sus métodos devolvía:

0x8002801D - TYPE_E_LIBNOTREGISTERED

(Biblioteca no registrada)

También se identificó que puiobj.dll contiene esta TypeLib:

{438EDB38-282C-435D-8BE3-4AB90B83CEF5}

versión 1.0

nombre: PrintUIObjLib

En mi caso, el CLSID estaba registrado correctamente, pero la TypeLib no aparecía registrada.

Después de registrar correctamente la TypeLib para 32 y 64 bits, Administración de impresión volvió a mostrar la lista de impresoras sin el error.

Voy a publicar en una respuesta los comandos de comprobación y la solución exacta que funcionó en mi caso.

Windows para el hogar | Windows 11 | Dispositivos y controladores
0 comentarios No hay comentarios

2 respuestas

Ordenar por: Muy útil
  1. ITETJL 5 Puntos de reputación
    2026-09-19T00:29:16.51+00:00

    Solución en mi caso: faltaba el registro de la TypeLib PrintUIObjLib usada por puiobj.dll.

    El control COM devolvía:

    0x8002801D - TYPE_E_LIBNOTREGISTERED

    Primero confirmé que esta clave no existía:

    HKLM\SOFTWARE\Classes\TypeLib\{438EDB38-282C-435D-8BE3-4AB90B83CEF5}

    y que el CLSID {B021FF57-A928-459C-9D6C-14DED0C9BED2} sí estaba registrado y apuntaba a puiobj.dll.

    En ese caso concreto, registré la TypeLib 1.0:

    
    

    Después de esto, printmanagement.msc volvió a mostrar la lista de impresoras y desapareció el error SetPrinterName.

    No recomiendo aplicar estos valores sin comprobar antes que esa TypeLib realmente falta.

    ¿Le ha resultado útil esta respuesta?

    0 comentarios No hay comentarios

  2. Deleted

    Esta respuesta se ha eliminado debido a una infracción del Código de Conducta. La respuesta se informó o identificó manualmente a través de la detección automatizada antes de que se realizara la acción. Consulte nuestro Código de Conducta para obtener más información.


    Los comentarios se han desactivado. Más información

Su respuesta

Las respuestas pueden ser marcadas como "Aceptadas" por el autor de la pregunta y "Recomendadas" por los moderadores, lo que ayuda a los usuarios a saber que la respuesta ha resuelto el problema del autor.