Pregunta

servidor COM registrado en asm reg ubicado en una carpeta de red no funciona correctamente. Cuando intenta crear el objeto recibe el error "Error de automatización". Todo funciona correctamente si el archivo DLL se encuentra en un disco local.

Información adicional:

  • COM biblioteca escrito en. Net 3.5

  • El acceso a la COM a través de la macro de VB

  • Biblioteca tiene un nombre seguro

¿Fue útil?

Solución

Poner servidores COM en un recurso compartido de red es buscar problemas. Se producirá un error al azar cuando la letra de unidad asignada ya no está asignada o asignado a otra parte. Usted por lo menos desea que la ruta UNC para el servidor (como \\machine\folder\etc), no tan seguro de que obtendrá esto fuera de Regasm.exe con la opción / código base. Verificar el valor de clave de registro HKLM \ Software \ Classes \ CLSID {GUID}. Hacer Compruebe que está utilizando / código base, esto no puede funcionar sin él.

La confianza puede ser un problema, Fuslogvw.exe uso para ver lo que está pasando. Tendrá que caspol.exe a la confianza de asignación.

Luego está DLL dependientes, ventanas ni el CLR podrán encontrarlos. Para ver lo que realmente está pasando utilidad ProcMon uso SysInternals'. Verás COM mirando a través de claves de registro y búsqueda de archivos DLL, reloj para las llamadas fallidas.

Otros consejos

Podría ser que el componente requiere plena confianza y de que no se están ejecutando .NET 4.0. En versiones anteriores, ubicaciones de red no se otorgan plena confianza a menos que cambie manualmente los conjuntos de permisos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top