Problemas con el empaquetado y los componentes

Juan
19 de Agosto del 2003
Hola
Tengo un problema a la hora de empaquetar mi proyecto en un ejecutable, cuando lo voy a instalar me da el siguiente error: " El componente afcontrols.ocx o uno de sus archivos no está registrado correctamente : falta uno de sus archivos o no es válido."
Si alguien me pudiera dar un pista le estaria muy agradecido. El componente que cita es de un programa de Sistemas de Información Geográfica, en concreto del Arcview 8.2. Gracias de antemano.

Heber
19 de Agosto del 2003
Pienso que puedo ayudarte.
No tengo todos los datos necesarios, pero la solución es la siguiente:
Antes de elaborar el instalador, debes formar las dependencias del Proyecto.
Las dependencias de un Proyecto, son los datos que necesitará el instalador para agregar archivos o registrar componentes en el ejecutable final que tu estás elaborando. Por ejemplo:
Suponte que tu ejecutable final se llama MyProg.exe
MyProg.exe "funciona" con una MyProg.ocx elaborada por ti.
Tienes que "armar" un Proyecto de dependencias (no se si utilizas el instalador MSI o el que viene con el paquete de Visual Basic, pero la solución es la misma)
Al armar el Proyecto de dependencias, verás que el instalador dirá que MyProg.ocx utliza los siguientes módulos .... entre los cuáles figura el componente MyProg2.dll (por ejemplo)
Pues bien, para que MyProg.exe funcione bien, debes agregar en su instalación las dependencias de MyProg2.dll (por ejemplo) y si no lo haces se generará el error " El componente MyProg.ocx o uno de sus archivos no está registrado correctamente : falta uno de sus archivos o no es válido."
Cuando tu generes las dependencias de un Control OCX, debes colocar el archivo de dependencias en la misma carptea que el Proyecto final, de esa manera el instalador lo encontrará y agregará a tu Proyecto final.
El tema en síntesis es ese, por supuesto que podría profundizar mas, pero esta es una orientación para que tu te ubiques no solo en este problema, sino en los futuros problemas que encontrarás.
OTRA FORMA de resolver este problema es con el ejecutable y parámetro siguiente, en una ventana de DOS:

REGSVR32.EXE MyProg.OCX

Puede funcionarte, si la OCX es Pública (es decir que no forma parte de un Proyecto Privado, no autorizado por su programador al momento de ser compilada).

Si quieres saber algo más, busca en el Sitio de Microsoft la ayuda sobre el Instalador MSI y ese Instalador es el que te recomiendo, es infinitamente superior al que viene con el Visual Studio.
Suerte.