Autor Tema: Duda sobre dependencias  (Leído 5169 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Abbet

  • Bytes
  • *
  • Mensajes: 22
  • Reputación: +0/-0
    • Ver Perfil
Duda sobre dependencias
« en: Agosto 14, 2010, 03:54:59 pm »
Buenas, me ha saltado una duda sobre las dependencias de un vb project.
Por ejemplo, el ocx del common controls tiene una dll, es necesaria esta dll? Me he fijado que en varios programas como setup factory por ejemplo, cuando analizan el vbp solo cogen ocx y dlls que usa el proyecto, ignorando por completo las dlls asociadas a ocx.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Duda sobre dependencias
« Respuesta #1 en: Agosto 15, 2010, 12:55:00 am »
Supongo que eso es porque esas dll ya las trae windows, igual me gustaría saber del tema.

Saludos.
Me encuentras en YAcosta.com

Abbet

  • Bytes
  • *
  • Mensajes: 22
  • Reputación: +0/-0
    • Ver Perfil
Re:Duda sobre dependencias
« Respuesta #2 en: Agosto 15, 2010, 01:36:43 pm »
Espero que alguien que sepa mas del tema nos pueda solucionar esta duda que es bastante interesante sobretodo si distribuimos instaladores de los projects.

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Duda sobre dependencias
« Respuesta #3 en: Agosto 15, 2010, 02:43:05 pm »
Por lo general, yo selecciono todas las ocx y dll que considero necesarias aunque el Setup Factory no me las muestre al momento de seleccionar el proyecto. Esto por la sencilla razon que evito que el aplicativo desarrollado me arroje algun problema por falta de alguna dll u ocx.
Miguel Núñez.

coco

  • Administrador
  • Terabyte
  • *****
  • Mensajes: 548
  • Reputación: +63/-3
    • Ver Perfil
Re:Duda sobre dependencias
« Respuesta #4 en: Agosto 15, 2010, 07:05:55 pm »
Para dejar en claro, los ocx pueden ser el control en si, o ser una especie de "puente" con el control real. Por ejemplo, el OCX de common controls es un puente con los controles reales que se crean mediante API. Si la DLL del common controls no existiera en el sistema, no habria controles en todo windows, apareciendo BSODs por todos lados. Es por eso que la dll del Common controls NO es necesaria de incluir en las instalaciones. Hay una sola forma de justificar agregarlas, por ejemplo una version relativamente vieja del common controls 6 tiene errores al usarlo con el toolbar subclass de leandro; entonces ahi uno agrega la version correcta (por si el sistema destino tiene la version vieja) y listo.


saludos
'-     coco
(No me cabe: Java, Python ni Pascal)
SQLite - PIC 16F y 18F - ARM STM32 - ESP32 - Linux Embebido - VB6 - Electronica - Sonido y Ambientacion

xkiz ™

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 283
  • Reputación: +30/-11
    • Ver Perfil
    • xkiz ™
Re:Duda sobre dependencias
« Respuesta #5 en: Agosto 15, 2010, 07:13:21 pm »
abran el archivo.vbp, se van a encontrar con un archivo de configuracion similar a un archivo.ini

Código: (ini) [Seleccionar]
Type=Exe
Form=Form1.frm
Reference=*\G{00020430-0000-0000-C000-000000000046}#2.0#0#C:\Windows\SysWOW64\stdole2.tlb#OLE Automation
Object={831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0; mscomctl.OCX
Object={3B7C8863-D78F-101B-B9B5-04021C009402}#1.2#0; richtx32.Ocx
Startup="Form1"
Command32=""
Name="Proyecto1"
HelpContextID="0"
CompatibleMode="0"
MajorVer=1
MinorVer=0
RevisionVer=0
AutoIncrementVer=0
'etc .....

como veran bajo [ ObjectReference ] se encuentran las referencias o dependencias referias al proyecto.
para encontrar el path correcto de cada archivo activex, desde regedit ir a la rama [HKEY_CLASSES_ROOT\TypeLib\] mas el valor {xxx-xxx-xxx} y bajar una rama por cada # y finalizando en Win32, ejemplo de mscomctl.OCX:
HKEY_CLASSES_ROOT\TypeLib\{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}\2.0\0\Win32

ovbiamente puede fallar, pero creo que es asi.

asi van a sacar todas las referencias que utilizaron en sus proyectos de Visual basic 6.0
y acuerdencen de que no todas tienen que ser incluidas en un instalador porque en Windows (desde XP) algunas ya vienen por defecto como:

msvbvm60.dll
oleaut32.dll
olepro32.dll
comcat.dll
asycfilt.dll
stdole2.tlb

pueden variar dependiendo del  SP de VB6 que utilizen.

Abbet

  • Bytes
  • *
  • Mensajes: 22
  • Reputación: +0/-0
    • Ver Perfil
Re:Duda sobre dependencias
« Respuesta #6 en: Agosto 16, 2010, 12:10:31 am »
Aham, entonces por lo que comentais:
msvbvm60.dll
oleaut32.dll
olepro32.dll
comcat.dll
asycfilt.dll
stdole2.tlb

ya vienen desde Xp como dice xkiz y sobre los ocx puente, por lo visto en caso de setup factory cuando coges el ocx del richtextbox te agrega la dll, así que tenes razon en cuanto a que algunas si vienen y otras.

Lo mejor creo que sería chequear si estan en el sistema desde el instalador antes de copiarlas, no les parece?

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Duda sobre dependencias
« Respuesta #7 en: Agosto 16, 2010, 12:40:50 am »
Y porque simplemente no pones todas en tu instalador? digo, porque que pasa si en alguna PC que vayas alguna de las que estaba preinstalada este dañada o alterada, no se.
Me encuentras en YAcosta.com

xkiz ™

  • Moderador Global
  • Gigabyte
  • *****
  • Mensajes: 283
  • Reputación: +30/-11
    • Ver Perfil
    • xkiz ™
Re:Duda sobre dependencias
« Respuesta #8 en: Agosto 16, 2010, 01:38:33 am »
a lo que me quise referir yo con los archivos que ya vienen por defecto en Win desde XP, no es solo para incluirlas en el instalador
que al fin y al cavo son unos 3.26MB, si no, para que no sean borradas y o desRegistradas al desinstalar el programa.

Abbet

  • Bytes
  • *
  • Mensajes: 22
  • Reputación: +0/-0
    • Ver Perfil
Re:Duda sobre dependencias
« Respuesta #9 en: Agosto 16, 2010, 04:57:49 pm »
Puedo dejarme de tontadas y añadirlas todas pero me gustaría no hacer grande el instalador.