Archive: UpgradeDLL macro : fails to get version info for VB6 files


UpgradeDLL macro : fails to get version info for VB6 files
Hi:
I'm new to NSIS. Have installed MakeNSIS v2.0b3 & have included the code from Appendix C in the Modern UI example to distribute a VB6 program. Have installed the latest UpgradeDLL macro & modified the App. C example to use the temp directory accordingly. The compiler fails with the msg "GetDLLVersionLocal: error reading version info from ..." on whichever DLL file I put first in the list (file exists for program to reach GetDLLVersionLocal). The files I'm checking are newly loaded from MS VB6SP5 & I'm compiling on a W2K system. Can't find any info on GetDLLVersionLocal in the NSIS files or a search of the forum. Any info or comment appreciated.
Cheers,
JimG


OK, probelm was that the files were in a different directory & then I needed to use GetDllVersion, not GetDLLversionLocal. There is still an incompatibility with UpgradeDLL & the version of NSIS because GetTempFile fails, with an error of "too many parameters". I suspect that this is also easily fixed & will check the source code tomorrow. Learning, learning ...
Cheers,
JimG


The online GetTempFile is for the latest CVS version, in which GetTempFile does support more parameters. The new UpgradeDLL that uses this new GetTempFile prevents a possible faliure on Windows 9x where rename on reboot doesn't work across different drives.


I have located this topic as I have exactly the same problem. Does anyone have a script that deals with the problem?


I think that all you need to do is update your copy of NSIS to the latest version.

Vytautas


The first parameter is the location of the VB files on your system. Make sure that is correct.


Sound advice guys.

I found I was confusing when I could use things like $SYSDIR and when not - or rather - when I was describing the location of a file on my machine and when I was describing where it should go on the target machine. Running before I could walk.

If anyone has a fight with a VB style installation in the future I am happy to share any scripts I have up and running - albeit they might as yet be imperfect.


See the Users Manual for a complete example of VB6 runtime installation.


With respect,

The example only covers (albeit expertly) the simplest case. Adding DAO (for instance) adds to the number and type of DLL's to be added - with the DAO dll not being placed in the system directory. There are OCX files to consider as well...

I have seen the ActiveE.exe sample script but have yet to combine that with the rest of a VB distribution.

Lots to try.


I'm talking about the VB6 runtimes, which are required for every application.

If you need other components or libraries you will also have to install them, but that is different for every application.