Cómo solucionar el error 1928 "Error registrando aplicación COM +"

Resumen

Este artículo describe cómo solucionar el error 1928 "Error registrar COM + application". Puede recibir este mensaje de error al ejecutar un archivo .msi (que se crea al exportar una aplicación COM +) en un equipo cliente u otro servidor.

Más información

La causa de este mensaje de error se divide generalmente en dos áreas diferenciadas:
  • Problemas de dependencia
  • Problemas de permisos

Problemas de dependencia

Los pasos para solucionar problemas de dependencia varían dependiendo de cómo exportó la aplicación. Puede exportar una aplicación COM + de dos maneras diferentes:
  • Proxy de la aplicación
  • Aplicación de servidor

Exportar como un proxy de aplicación

Si exportó la aplicación COM + como un proxy de aplicación, siga estos pasos para solucionar el error 1928.

Nota: Para crear a un proxy de aplicación en Microsoft Windows Server 2003 o en Microsoft Windows XP que se instala en un equipo basado en Microsoft Windows 2000, debe hacer clic para activar la casilla de verificación Guardar la aplicación en formato COM + 1.0 .
  1. Para descartar un problema de dependencia, exporte simplemente los archivos de (.tlb o typelib) de la biblioteca de tipos en lugar de las bibliotecas de vínculos dinámicos (DLL).
    • Si sus componentes se crearon con Microsoft Visual Basic, no se crea automáticamente un typelib independiente para usted. Para obtener más información acerca de cómo crear un typelib independiente para su DLL, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
      153569 cómo obtener un archivo de biblioteca de tipos (.tlb) para un servidor OLE de Visual Basic

    • Si todos los equipos cliente ejecutan Microsoft Windows 2000, compruebe que tiene al menos Windows 2000 Service Pack 2 (SP2) instalado en el servidor de COM +.
    • Si algunos de los equipos cliente ejecutan Microsoft Windows NT 4.0, Microsoft Windows 98, o Microsoft Windows 95, compruebe que también dispone de menos de Windows 2000 posteriores al Service Pack 2 COM + Hotfix Rollup 9 instalado en el servidor COM +.

      Nota: Para comprobar qué hotfix están instalados en el servidor, ver las subclaves bajo la siguiente clave del registro:
      HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\HotFix
    Al exportar las bibliotecas typelibs para su aplicación COM +, no sólo se eliminan problemas de dependencia potenciales, que también minimiza el número de archivos que se instalan en el equipo cliente. Dado que el objeto se crea en el servidor, el equipo cliente sólo necesita las definiciones de interfaz (que es todo lo que es una biblioteca de tipos) y no la implementación completa de la DLL.

    Para instalar una biblioteca de tipos en una aplicación COM +, siga estos pasos:
    1. En el menú Inicio , seleccione programas, seleccione Herramientas administrativasy, a continuación, haga clic en Servicios de componentes para abrir Servicios de componentes de Microsoft Management Console (MMC) y cree su nueva aplicación COM +.
    2. En servicios de componentes, haga clic para expandir los Servicios de componentes, equipos, Mi PCy nodos de Aplicaciones COM + .
    3. Haga clic para expandir su nueva aplicación COM +.
    4. Haga clic derecho en la carpeta componentes , seleccione nuevoy, a continuación, haga clic en componente.
    5. En el Asistente para instalación de componentes COM, haga clic en siguiente.
    6. En la segunda página del asistente, haga clic en instalar nuevos componentes.
    7. Cuando el asistente le pida que seleccione su componente, seleccione tanto el archivo .dll archivo y el archivo .tlb. Observe que no puede ver el archivo .tlb en el complemento MMC Servicios de componentes; sólo puede ver el archivo DLL.
    8. Después de instalar el componente, exporte su aplicación COM + como un proxy de aplicación.
  2. Al exportar las bibliotecas typelibs para su aplicación COM +, no sólo se eliminan problemas de dependencia potenciales, que también minimiza el número de archivos que se instalan en el equipo cliente. Dado que el objeto se crea en el servidor, el equipo cliente sólo necesita las definiciones de interfaz (que es todo lo que es una biblioteca de tipos) y no la implementación completa de la DLL. Ejecute el archivo .msi en el equipo cliente. Si se produce el error 1928 debido a un problema de dependencia, el archivo .msi debe funcionar suavemente en el equipo cliente. Buscar en el sistema de archivos del equipo cliente y observe que se ha instalado sólo el archivo .tlb para su componente.
  3. Si sigue recibiendo el error 1928 al ejecutar el archivo .msi en el equipo cliente, es muy probable que tengan un problema de permisos en el equipo cliente.

Exportar como una aplicación de servidor

Nota: Para crear a un proxy de aplicación en Microsoft Windows Server 2003 o en Microsoft Windows XP que se instala en un equipo basado en Microsoft Windows 2000, debe hacer clic para activar la casilla de verificación Guardar la aplicación en formato COM + 1.0 .

Al exportar su aplicación COM + como una aplicación de servidor, no se puede exportar únicamente la biblioteca de tipos porque el servidor requiere la implementación completa de la DLL.

Si la DLL de la aplicación COM + contienen dependencias que no están presentes en el nuevo destino de servidor de Microsoft Windows XP o Microsoft Windows 2000 Server, debe asegurarse de que estos archivos DLL se registran adecuadamente en el servidor de destino antes de ejecutar el archivo .msi en el servidor de destino.
Si las dependencias no son archivos DLL del modelo de objetos componentes (COM), asegúrese de que estén instalados en el
windircarpeta de \WINNT\System32 del servidor de destino antes de ejecutar el archivo .msi.

Si sigue recibiendo el error 1928 tras probar estos métodos de solución de problemas, siga estos pasos en el equipo de destino (el equipo desde el que se ejecuta el archivo .msi) para obtener información de error más útil:
  1. Abra el complemento MMC de servicios de componente.
  2. Haga clic para expandir los nodos Servicios de componentes, equiposy Mi PC .
  3. Haga clic en y, a continuación, haga clic en Aplicaciones COM +, seleccione nuevoy, a continuación, haga clic en aplicación.
  4. En el Asistente para instalación de aplicación COM, haga clic en siguiente.
  5. En la segunda página del asistente, haga clic en instalar una aplicación pregenerada.
  6. Cuando el asistente le pide que elija un directorio predeterminado o en un directorio específico, elija directorio predeterminadoy, a continuación, complete los pasos del asistente.
  7. El asistente genera dos cuadros de diálogo de mensaje de error. En el segundo cuadro de diálogo de mensaje de error, haga clic en Detalles para obtener información más detallada del error. Esta información de error puede proporcionar una mejor aproximación sobre la causa del problema.

Problemas de permisos

Los pasos para solucionar un problema de permisos no dependen necesariamente de cómo exportó la aplicación COM +. Para solucionar un problema de permisos, el objetivo principal es asegurarse de que el usuario que ha iniciado sesión en el equipo cliente tiene los permisos necesarios para ejecutar el archivo .msi.

Por ejemplo, el usuario debe tener permisos de lectura y escritura para el subárbol HKEY_CLASSES_ROOT del registro. Las utilidades Regmon y Filemon (que están disponibles en
SysInternals) pueden servir de ayuda.

Nota: Se conoce el instalar Crystal Reports 8.0 altera los permisos de ciertas claves del registro.
Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
266621 error "Biblioteca no registrada" con Crystal Reports 8.0

Propiedades

Id. de artículo: 308940 - Última revisión: 22 ene. 2017 - Revisión: 2

Comentarios