Pregunta

Estoy escribiendo una aplicación que necesita usar un control OCX terceros. En mi guión Inno Setup incluyo la línea:

Source: C:\aPath\aControl.ocx; DestDir: {app}; Flags: restartreplace sharedfile regserver

Parece que se ha registrado en el control, pero la aplicación instalada me da EOleSysErrors que el control no está registrada cuando se trabaja en Win2000. ¿Alguna idea sobre lo que está pasando aquí, o cómo solucionarlo?

Gracias, como siempre!

p.s. Estoy trabajando con control de nivel de administrador. Asumo que esto siempre se requiere al registrar un control ActiveX. (¿Es correcto eso?)

¿Fue útil?

Solución

Si el problema se produce sólo en Windows 2000, pero no en versiones posteriores del sistema operativo Esto podría ser causado por las dependencias que faltan, como DLL u otros archivos OCX que no forman parte de la instalación estándar de Windows 2000. Las versiones de la biblioteca de tiempo de ejecución de Microsoft C vienen a la mente. Para localizar a este tipo de problemas debe utilizar el Dependency Walker . Copiarlo en la máquina problemática y lo utilizan para abrir el archivo OCX, a continuación, se mostrarán todos los puntos de entrada de la biblioteca o bibliotecas que faltan.

También puede utilizar la herramienta como un depurador para ejecutar su aplicación bajo. Se mostrará una gran cantidad de información acerca de los módulos cargados y cosas similares que pueden ayudar a identificar el problema.

Y sí, para registrar un OCX necesita una cuenta de administrador o usuario avanzado.

Otros consejos

La razón más probable es que puedo pensar de esto es porque no ha instalado VCRedist_x86.exe en la máquina.

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