Programación General > Visual Basic 6.0 e inferiores

 Mas Inno Setup

<< < (5/8) > >>

UserCode:
Unas preguntas...

Es malo si uno usa el wizard del Inno Setup?

Es cierto que windows busca primero las dependencias (dll, ocx, oca, etc) en la propia carpeta del programa y si no las consigue ahí, es que luego se va a System32 ??? es mejor dejar los archivos en System32 o en la propia carpeta del programa ?

Tengo el Inno Setup hace un par de dias y habia hecho un instaldor con el asistente, pero como que mejor recopilo toda la información que han expuesto y aqui y me hago un manualsito  :P

Para saber todos los archivos DLL y etc que necesita el programa hecho, yo lo que hacia era iniciar un instalador con el Empaquetador del Visual, solo hasta el punto donde me mostraba los archivos, los copiaba en el block de notas, y luego los buscaba para el Inno Setup, recientemente me entero de un archivo Setup.Lst o algo asi en donde sale dicha información, baje tu programa Sagutxo es tremendo  :)

¿Como sabe uno cuales DLL deben ser registradas y cuales no necesiaremente? ¿puede registrarse igual si está en System32 o en la carpeta del programa?

PD: Perdon por lo metio  :ph34r:

cpmario:
A mi criterio, lo mejor que puedes hacer es basarte en el el archivo SETUP.LST
Si aparece en el listado una instrucción 'DLLSelfRegister' debe registrarse.
Si el archivo DLL u OXC sabes que es exclusivo de tu aplicación y ninguna otra lo usará, puedes dejarlo en el fólder de tu programa.
Si el archivo aparece con la instrucción Shared, debe de ir en System32.
Existen sus excepciones en archivos muy especiales como por ejemplo:


--- Código: Text ---File31=@DAO350.DLL,&#036;(MSDAOPath),&#036;(DLLSelfRegister),&#036;(Shared),4/28/98 12:00:00 AM,570128,3.51.1608.0  
Ya que existe en un fólder especial (MSDAOPath) para este tipo de archivos en C:\Archivos de programa\Archivos comunes\Microsoft Shared\DAO y si no colocas el archivo en su lugar puede haber conficto entre las distintas versiones que existen.

 :comp:

UserCode:
que buen dato con lo de el archivo LST

pero me dejaste frio con eso ultimo  :blink:

significa que si hay un archivo muy especial como dices, tengo que crear en un ejemplo como el que indicas una carpeta con subcarpetas con esos nombres en Archivos de programa, solo para que la DLL funcione correctamente, y eso es porque tiene que tener esa ruta???   :huh:

cpmario:
Tanto el instalador del VB como Inno Setup colocan los archivos que antes te mencioné de manera autómatica.
El instalador de VB crea la instrucción que hace que los archivos como el DAO350.DLL se coloquen en un fólder especial. Por ejemplo, en Setup.lst aparece así:

En el Setup.Lst es como esto

--- Código: Text ---File31=@DAO350.DLL,&#036;(MSDAOPath),&#036;(DLLSelfRegister),&#036;(Shared),4/28/98 12:00:00 AM,570128,3.51.1608.0 En el Inno Setup aparece así:

--- Código: Text ---Source: dao350.dll; DestDir: {dao}; Flags:  regserver restartreplace sharedfile Afortunadamente no hay muchos tipos de esos archivos especiales. Si usas programas como el que elaboró Sagutxo o el InnoScript no tendrás dificultad ya que te trasforman el SETUP.LST a Inno Setup script sin problemas.

Por otro lado revisa las dos líneas anteriores, notas algunas similitudes. Por ejemplo MSDAOPath=DestDir: {dao} , DLLSelfRegister=regserver , Shared=sharedfile

 :)

UserCode:
Tengo unos serios problemas, aqui pongo lo del Inno Setup no sea que haya algo que no deberia estar como deberia:


--- Citar ---[Files]
Source: "C:\Archivos de programa\DGUIAS\Exe\DGUIAS.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Archivos de programa\DGUIAS\BaseDatos97.mdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Archivos de programa\DGUIAS\RepVerde.rpt"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Archivos de programa\DGUIAS\RepRoja.rpt"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Archivos de programa\DGUIAS\RepVentas.rpt"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Archivos de programa\DGUIAS\Lib\Crystl32.dep"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\STDOLE2.TLB"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\Crystl32.OCX"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\MSCOMCTL.OCX"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\Crystl32.oca"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\ADVPACK.DLL"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\ASYCFILT.DLL"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\COMCAT.DLL"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\Crpaig80.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\crpe32.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\crypt32.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\cryptdll.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\crystalwizard.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\dao350.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\expsrv.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\Implode.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\mfc42.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\msjet35.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\Msjint35.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\msjter35.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\msrd2x35.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\msrepl35.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\MSVBVM60.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\MSVCRT40.DLL"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\msvcrt.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\OLEAUT32.DLL"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\OLEPRO32.DLL"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\P2smon.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\pg32conv.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\scrrnes.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\scrrun.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\sscsdk80.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\Vb5db.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\VB6ES.DLL"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\VB6STKIT.DLL"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\vbajet32.dll"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\W95INF16.DLL"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\W95INF32.DLL"; DestDir: "{sys}"; Flags: restartreplace uninsneveruninstall regserver
Source: "C:\Archivos de programa\DGUIAS\Lib\vbrun60.inf"; DestDir: "{sys}"; Flags: uninsneveruninstall regserver
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\DGUIAS"; Filename: "{app}\DGUIAS.exe"
Name: "{userdesktop}\DGUIAS"; Filename: "{app}\DGUIAS.exe"; Tasks: desktopicon

[Run]
Filename: "{app}\DGUIAS.exe"; Description: "{cm:LaunchProgram,DGUIAS}"; Flags: nowait postinstall skipifsilent

--- Fin de la cita ---

En mi WinXP hice el instalador el cual ejecute en una PC virtual usando el Virtual PC en un Win2000 y en el proceso de instalación me arrojo todos estos errores:


--- Citar -------------------------------------------------------------------------------------
Todos estos archivos sacaron el siguiente aviso:
C:\WINNT\System32\ADVPACK.DLL
C:\WINNT\System32\ASYCFILT.DLL
C:\WINNT\System32\Crpaig80.dll
C:\WINNT\System32\crypt32.dll
C:\WINNT\System32\cryptdll.dll
C:\WINNT\System32\expsrv.dll
C:\WINNT\System32\Implode.dll
C:\WINNT\System32\Msjint35.dll
C:\WINNT\System32\msjter35.dll
C:\WINNT\System32\msrepl35.dll
C:\WINNT\System32\MSVCRT40.DLL
C:\WINNT\System32\msvcrt.dll
C:\WINNT\System32\P2smon.dll
C:\WINNT\System32\pg32conv.dll
C:\WINNT\System32\scrrnes.dll
C:\WINNT\System32\sscsdk80.dll
C:\WINNT\System32\Vb5db.dll
C:\WINNT\System32\VB6ES.DLL
C:\WINNT\System32\VB6STKIT.DLL
C:\WINNT\System32\vbajet32.dll

Unable to register the DLL/OCX:
GetProcAddress failed; code 127.
No se encontró el proceso especificado.

----------------------------------------------------------------------------------

OTROS ARCHIVOS SACARON ESTE AVISO:

C:\WINNT\System32\Crystl32.OCX
C:\WINNT\System32\crpe32.dll

Unable to register the DLL/OCX:
LoadLibrary failed; code 126.
No se puede encontrar el módulo especificado.

----------------------------------------------------------------------------------

Y OTROS ERRORES SACARON ESTO:

C:\WINNT\System32\Crystl32.oca
C:\WINNT\System32\W95INF16.DLL
C:\WINNT\System32\vbrun60.inf

Unable to register the DLL/OCX: LoadLibrary failed;
code 193.
%1 no es una aplicación Win32 válida.

----------------------------------------------------------------------------------

Y OTROS ESTO:

No se encuentra la biblioteca de vinculos dinámicos
MSVCP60.dll en la ruta especificada.

La aplicación o DLL C:\WINNT\System32\Crystl32.oca no
es una imagen válida de Windows. Compruebe esto contra
su disquete de instalación.

La aplicación o DLL C:\WINNT\System32\vbrun60.inf no
es una imagen válida de Windows.  Compruebe esto
contra su disquete de instalación.

No se encuentra el punto de entrada del procedimiento
SUnMapLS_IP_EBP_16 en la biblioteca de vínculos
dinámicos KERNEL32.dll

La aplicación o DLL C:\WINNT\System32\W95INF16.DLL no
es una imagen válida de Windows.  Compruebe esto
contra si disquete de instalación.

LUEGO DE TERMINAR LA INSTALACION, AL EJECUTAR EL PROGRAMA:

El componente 'Crystl32.OCX' o uno de sus archivos
dependientes no está registrado correctamente: falta
un archivo o no es válido.


--- Fin de la cita ---

A alguien le ha sacado el instalador problemas parecidos a estos ? :(

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa