Controlling The Search with Search Path Area

Started by Randem, September 14, 2006, 04:05:51 AM

Previous topic - Next topic

Randem

The version I posted also had that fix as well. I will however recheck it.

will_fastie

Thanks, that's great progress.
 
The remaining problem is that the executable itself, in this case oms.exe, is still not found.  I did not get around to trying the version you posted when I first mentioned this, so this is the first test I've done.  I pointed out that the path to the executable was mentioned in the VBP file (ExeName32= and Path32=).
 
Thanks.
Will

Randem

Will,
 
Here is a fix for the problem you have been having with the dep file.
 

Randem

I found what is causing the problem. I am looking into it. InnoScript ignores the multiple sections in a file. I will look into this to see if we will change this. For now just copy the crpe32.dll section to a new file named crpe32.dep. This will solve this problem for now.

Randem

InnoScript will look at both the Dep file and the file itself and the ocx/dll itself. So InnoScript would find it. Would it be possible to zip everything and upload them and I will test using your dep file.

will_fastie

I did not have to point InnoScript at c:windowssystem32 - it found that on its own.  When the run is complete, system32 is listed in the search path.  I included the pjt file in the package I uploaded, where this can be seen.
 
The u2/p2 files are not listed as missing.  There is no mention of them at all.  I included the log in the package I uploaded, where this can be seen.
 
I have copies of all the Crystal files in another folder.  As an experiment, I added that folder name to the search path.  It did not make a difference.
 
I am assuming that InnoScript parses the entire .dep file.  What is it about my CRYSTL32.dep file that stops InnoScript from seeing all the U2/P2 files in the CRPE32.dll section?
 
Out of curiousity, I used the Windows Dependency Walker to look at the dependencies for CRYSTL32.ocx and for CRPE32.dll.  It did not show the U2/P2 files, either.
 
Will

Randem

Did you point InnoScript to the folder where those files reside?
Are the files listed as missing?

will_fastie

I don't know what to say.  My .dep file does not look like yours.
 
The bottom line is this:  VB's P&D Wizard finds all the files after asking me to point it to the folder containing the files it discovers in CRYSTL32.dep (the U2s).  InnoScript does not pick up the Crystal dependicies.  Both are operating with the same .vbp file and the same CRYSTL32.dep file.
 
The Crystal files are not listed in the unsafe list.
 
To clarify one point, all the files I'm after (U2/P2 and others) are part of the Crystal 4.6 package from Visual Studio.  Contrary to my earlier note, none of the files relate to Crystal XI.
 
Will

Randem

This is what my CRPE32.dep file looks like:
 
;---------------------------------------------------------------------------------
; Note to developer:
;
; The crpe32.dep dependency file contains only the most often used runtime  
; files for Visual Basic.  The file can be modified to include any runtime file.    
; To include a file that is not being distributed when using this crpe32.dep file,  
; you may add the file to the Additional Runtime DLLs section.  NOTE:  you must
; continue a sequential order to the Uses=.
;
; Example:
;
; If you want to include the p2BACT.DLL, you must add it under the  
; Additional Runtime DLLs section.  At this time the last numbered  
; Uses= is:
;
; Uses46=program filesseagate softwaresschartSSCSDK32.DLL
;
; to add the p2BACT.DLL, the next line must exist as:
;
; Uses47=..crystalp2BACT.DLL
;
; Please Note : This is not an exhaustive list of ALL the runtime DLLs.  For more
; information please see the Runtime Help include with the Seagate Crystal Reports
; product.
;---------------------------------------------------------------------------------
;---------------------------------------------------------------------------------
; Dependency file for setup wizards.
 
[Version]
 
Version=8.0.0.371
; ------------------------------------------------------------------------------
; Dependencies for CRPE32.DLL
 
[CRPE32.DLL]
 
Dest=$(WinSysPath)
Version=8.0.0.371
Uses1=IMPLODE.DLL
Uses2=CRPAIG80.DLL
Uses3=MSVCRT.DLL
Uses4=MFC42.DLL
;Open location with no file specified (no prompt generated)
Uses5=..crystal
Uses6=..crystalCRXLAT32.DLL
; Database dlls
Uses7=..crystalp2BBDE.DLL
Uses8=..crystalp2BBND.DLL
;Uses9=..crystalp2BBTRV.DLL
Uses10=p2BDAO.DLL
Uses11=..crystalp2BXBSE.DLL
;Uses12=..crystalp2CTBTRV.DLL
Uses13=p2CTDAO.DLL
Uses14=p2IRDAO.DLL
Uses15=..crystalp2SIFMX.DLL
Uses16=p2SMON.DLL
Uses17=p2SODBC.DLL
Uses18=..crystalp2SORA7.DLL
Uses19=..crystalp2SSQL.DLL
Uses20=..crystalp2SSYB10.DLL
Uses21=..crystalp2soledb.dll
; Export destination dlls
Uses22=..crystalu2DDISK.DLL
Uses23=..crystalu2DMAPI.DLL
Uses24=..crystalu2DNOTES.DLL
Uses25=..crystalu2DPOST.DLL
Uses26=..crystalu2DVIM.DLL
Uses27=..crystalu2dapp.dll
; Export format dlls
Uses28=..crystalu2FCR.DLL
Uses29=..crystalu2FHTML.DLL
Uses30=..crystalu2FODBC.DLL
Uses31=..crystalu2FREC.DLL
Uses32=..crystalu2FRTF.DLL
Uses33=..crystalu2FSEPV.DLL
Uses34=..crystalu2FTEXT.DLL
Uses35=..crystalu2FWKS.DLL
Uses36=..crystalu2FWORDW.DLL
Uses37=..crystalu2FXLS.DLL
; User defined functions
Uses38=..crystalu25DTS.DLL
Uses39=..crystalu25STORE.DLL
Uses40=..crystalu25TOTAL.DLL
Uses41=..crystalu2L2000.DLL
Uses42=..crystalu2LBAR.DLL
Uses43=..crystalu2LCOM.DLL
Uses44=..crystalu2LDTS.DLL
Uses45=..crystalu2LSAMP1.DLL
Uses46=..crystalu252000.dll
; Additional Runtime DLLs
Uses47=program filesseagate softwaresharedSSCSDK80.DLL
;Uses?=program filesseagate softwareshareds2sqlprs.dll
;Uses?=program filesseagate softwaresharedrule1.dfa
;Uses?=program filesseagate softwaresharedrule1.llr
; Additional Database DLLS
;Uses?=..crystalp2BACT.DLL
;Uses?=..crystalp2IRACT.DLL
;Uses?=..crystalp2IXBSE.DLL
;Uses?=..crystalp2LODBC.DLL
;Uses?=..crystalp2OESBSE.DLL
;Uses?=..crystalp2SACL.DLL
;Uses?=..crystalp2SDB2.DLL
;Uses?=..crystalp2SEVT.DLL
;Uses?=..crystalp2SEXSR.DLL
;Uses?=..crystalp2SMAPI.DLL
;Uses?=..crystalp2SOUTLK.DLL
;Uses?=..crystalp2SREPL.DLL
;Uses?=..crystalp2STRACK.DLL
;Uses?=..crystalp2SWBLG.DLL
;Uses?=..crystalp2bact3.dll
;Uses?=..crystalp2iract3.dll
;Uses?=..crystalp2molap.dll
;Uses?=..crystalp2sfs.dll
;Uses?=..crystalp2smcube.dll
;Uses?=..crystalp2solap.dll
; Additional Export Format DLLs
;Uses?=..crystalu2FDIF.DLL
;Uses?=..crystalu2FRDEF.DLL
; Additional User defined functions
;Uses?=..crystalu2LESBSE.DLL
;Uses?=..crystalu2LEXCH.DLL
;Uses?=..crystalu2LFINRA.DLL
 
[IMPLODE.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[CRPAIG80.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[MSVCRT.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[MFC42.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[CRXLAT32.DLL]
 
Dest=$(WinSysPath)
Uses1=
; Database dlls
 
[P2BACT.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2BBDE.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2BBND.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2BBTRV.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2BDAO.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2BXBSE.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2CTBTRV.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2CTDAO.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2IRACT.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2IRDAO.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2IXBSE.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2LODBC.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2OESBSE.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SACL.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SDB2.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SEVT.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SEXSR.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SIFMX.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SMAPI.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SMON.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SODBC.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SORA7.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SOUTLK.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SREPL.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SSQL.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SSYB10.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2STRACK.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[P2SWBLG.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[p2bact3.dll]
 
Dest=$(WinSysPath)
Uses1=
 
[p2iract3.dll]
 
Dest=$(WinSysPath)
Uses1=
 
[p2molap.dll]
 
Dest=$(WinSysPath)
Uses1=
 
[p2sfs.dll]
 
Dest=$(WinSysPath)
Uses1=
 
[p2smcube.dll]
 
Dest=$(WinSysPath)
Uses1=
 
[p2solap.dll]
 
Dest=$(WinSysPath)
Uses1=
 
[p2soledb.dll]
 
Dest=$(WinSysPath)
Uses1=
; Export destination dlls
 
[U2DDISK.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2DMAPI.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2DNOTES.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2DPOST.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2DVIM.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[u2dapp.dll]
 
Dest=$(WinSysPath)
Uses1=
; Export format dlls
 
[U2FCR.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2FDIF.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2FHTML.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2FODBC.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2FRDEF.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2FREC.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2FRTF.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2FSEPV.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2FTEXT.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2FWKS.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2FWORDW.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2FXLS.DLL]
 
Dest=$(WinSysPath)
Uses1=
; User defined functions
 
[U25DTS.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U25STORE.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U25TOTAL.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2L2000.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2LBAR.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2LCOM.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2LDTS.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2LESBSE.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2LEXCH.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2LFINRA.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[U2LSAMP1.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[u252000.dll]
 
Dest=$(WinSysPath)
Uses1=
; Additional CRPE32 Runtime
 
[SSCSDK80.DLL]
 
Dest=$(WinSysPath)
Uses1=
 
[s2sqlprs.dll]
 
Dest=program filesseagate softwareshared
Register=$(DLLSelfRegister)
Uses1=
 
[rule1.dfa]
 
Dest=program filesseagate softwareshared
Uses1=
 
[rule1.llr]
 
Dest=program filesseagate softwareshared
Uses1=

admin

InnoScript will search for everything in the .dep file. Did you check the files that were removed as unsafe? Is there a path in the search path area that will tell innoScript where those files are. I find all the p2/u2 files listed in the .dep file on my system.
 
Here is what I find:
 
; InnoScript Version 5.3  Build 9
; Randem Systems, Inc.
; Copyright 2003-2006
; website:  https://randemsystems.com
; support:  https://randemsystems.support
 
; Date: September 22, 2006
 
;              VB Runtime Files Folder:   C:\Program Files\Randem Systems\InnoScript\InnoScript 5.3\VB 6 Redist Files\
;     Visual Basic Project File (.vbp):   C:\Work\Will\FastieInnoScriptTest\OMS.vbp
; Inno Setup Script Output File (.iss):   C:\Work\Will\FastieInnoScriptTest\Scripts\OMS 1.92 Test.iss
 
; ------------------------
;        References
; ------------------------
 
; Visual Basic runtime objects and procedures - (MSVBVM60.DLL)
; Standard OLE Types - (OLEPRO32.DLL)
; OLE Automation - (STDOLE2.TLB)
; Microsoft DAO 3.0 Object Library - (DAO350.DLL)
; Microsoft Shell Controls And Automation - (SHELL32.dll)
 
 
; --------------------------
;        Components
; --------------------------
 
; Microsoft Common Dialog Control 6.0 (SP6) - (comdlg32.ocx)
; Microsoft Tabbed Dialog Control 6.0 (SP5) - (TABCTL32.OCX)
; Microsoft Rich Textbox Control 6.0 (SP6) - (richtx32.ocx)
; Microsoft Windows Common Controls 6.0 (SP6) - (MSCOMCTL.OCX)
; Microsoft Data Bound List Controls 6.0 (SP6) - (DBLIST32.OCX)
; Microsoft Masked Edit Control 6.0 (SP3) - (MSMASK32.OCX)
; Crystal Report Control - (crystl32.ocx)
; Microsoft Windows Common Controls-2 6.0 (SP4) - (MSCOMCT2.OCX)
 
 
[Setup]
AppName=OMS
AppVerName=OMS 1.92.38
AppPublisher=Will Fastie
AppVersion=1.92.38
VersionInfoVersion=1.92.38
AllowNoIcons=no
DefaultGroupName=Ruxton Design Order Management System (OMS)
DefaultDirName={pf}\OMS
AppCopyright=Copyright

will_fastie

Here is the beginning of the CRYSTL32.dep on my system (and it is in the same folder with the .ocx and .oca).  Note the version information to which I previously referred.
 
; Dependency file for setup wizards.
 
[Version]
 
Version=5.0.37.14
; Dependencies for CRYSTL32.OCX
; Default Dependencies ------------------------------------------------------
 
[CRYSTL32.ocx]
 
Dest=$(WinSysPath)
Register=$(DLLSelfRegister)
Version=4.6.37.14
Uses1=CRPE32.DLL
Uses2=ComCat.dll
CABFileName=CRYSTL32.cab
CABDefaultURL=http://activex.microsoft.com/controls/vb5
CABINFFile=CRYSTL32.inf
 
[ComCat.dll]
 
Dest=$(WinSysPathSysFile)
Register=$(DLLSelfRegister)
Uses1=
 
[CRPE32.DLL]
 
Dest=$(WinSysPath)
Uses1=IMPLODE.DLL

...etc.
 
I am running this test in unsafe mode at the moment.  All the files mentioned in CRYSTL32.dep are in \windows\system32.  C:\windows\system32 is listed in the search path, as shown in the .pjt file I uploaded in the package.  InnoScript is obviously searching in ..\system32 because it finds CRYSTL32.ocx, crpe32.dll, and co2c40en.dll.  It just doesn't continue to find the U2/P2 files, along with a few others.
 
I realize that I have only one dependency file for two versions of Crystal.  Neither of us can do anything about that.  But InnoScript should err on the cautious side by hunting down all the files listed in the dependency file for the CRYSTL32 control, even if some of them are not necessary.  It is much worse to find none of them and leave the project in an un-runnable state after installation.  It doesn't hurt anything if newer files are installed, especially as they will eventually be needed.
 
I appreciate all your efforts on this, whoever you are.
 
Will

admin

InnoScript will find all those files automatically if the search path area has the folders present. You mean the CRYSTL32.ocx file correct the CRYSTL32.dep file can't have a version number.
 
The problem with having two versions of CR on your system is that the .dep files get overlayed in the System32 folder. BTW: the .dep file should be in the same folder as the .ocx/dll file.

will_fastie

I have two versions of Crystal on my system, version 4.6 that is part of Visual Studio 6 and the much newer Crystal Reports 11.  In the OMS project only the old version is referenced, although this will change soon.
 
The test package I uploaded includes a copy of CRYSTL32.DEP (marked version 5.0.37.14) as it exists on my system.  It contains a section listing dependencies for CRPE32.DLL followed by individual sections for each of the files mentioned in the CRPE32 section.  These are mostly the U2 and P2 files.  This is what the CRPE section looks like in my file:
 
[CRPE32.DLL]
Dest=$(WinSysPath)
Uses1=IMPLODE.DLL
Uses2=PG32.DLL
Uses3=CO2C40EN.DLL
Uses4=CRXLAT32.DLL
; database dlls
Uses5=P2BBND.DLL
Uses6=P2BDAO.DLL
Uses7=P2CTDAO.DLL
Uses8=P2IRDAO.DLL
Uses9=P2SODBC.DLL
; export destination dlls
Uses10=U2DDISK.DLL
Uses11=U2DMAPI.DLL
; export format dlls
Uses12=U2FCR.DLL
Uses13=U2FDIF.DLL
Uses14=U2FHTML.DLL
Uses15=U2FREC.DLL
Uses16=U2FRTF.DLL
Uses17=U2FSEPV.DLL
Uses18=U2FTEXT.DLL
Uses19=U2FWKS.DLL
Uses20=U2FWORDW.DLL
Uses21=U2FXLS.DLL
Uses22=
CABFileName=CRYSTL32.cab
CABDefaultURL=http://activex.microsoft.com/controls/vb5
CABINFFile=CRYSTL32.inf
 
I neglected to include PDW's SETUP.LST file in the uploaded package; it is attached to this post.  You will note that PDW finds all the U2/P2 files as well as several other files that are needed by Crystal 4.6.  However, PDW does not do so automatically.  It prompts me that it can't find one of the files and when I point to the folder, it then collects them all.
 
I will try the update to InnoScript later today.
 
Will

admin

Will,
 
You must be using a version of Crystal Report later than Version 8.5 correct? I return alot more files for CR than you do. If so that is the case.

admin

Will,
 
Here is an update that handles the Path32= VBP Parameter.
 
Mahalo,