Bettawrekonize
29th August 2001 22:12 UTC
CompareDLLVersions
Can someone please give me an example of how to use the CompareDLLVersions command? Lets say I want to move DLL Files into a directory (that already has DLL files), but I want to use the CompareDLLVersions command to check the versions of the files to make sure that newer files don't get replaced by oldier files. How would I do that? Please give me an example.
DuaneJeffers
30th August 2001 00:40 UTC
Section "CompareDLLs"
SetOutPath $SYSDIR
CompareDLLVersions /STOREFROM mydll1.dll mydllnew
Goto xxx
mydllnew:
File mydll1.dll
xxx:
SectionEnd
Hope this Helps, What this does is the CompareDllVersions will determine how new your dll is to the one on the computer you are installing this on to. If it is new, then it will extract the DLL to the System Directory and then be done with it. The Goto is in case the installer's DLL is newer than yours. This is how I interpret it.
Hope this Helps,
-Duane Jeffers
Bettawrekonize
2nd September 2001 16:49 UTC
Thanx
I haven't tried this yet, but thanks. I hope it works.
Bettawrekonize
2nd September 2001 17:27 UTC
Help
It still doesn't work right. Can you give me an example? Ok, as an example, lets say Dllupdate.nsi is in C:\test, and the file DXTMSFT.DLL is also in C:\test. Ok lets say that another version of DXTMSFT.DLL is in C:\test2, and I want to make an installation file that'll install DXTMSFT.DLL into C:\test2, but it'll first check to see if the DXTMSFT.DLL in C:\test2 is newer or oldier than the one that's in the installation file (to make sure that it won't install an oldier version into C:\test2). How will I do that?
This is what I tried
Section "CompareDLLs"
SetOutPath C:\test2
CompareDLLVersions /STOREFROM DXTMSFT.DLL DXTMSFT.DLL
Goto xxx
DXTMSFT.DLL:
File DXTMSFT.DLL.dll
xxx:
SectionEnd
Do you think you can help? I would appreciate it a lot if someone can help. Thanks.
prodangle
3rd September 2001 01:36 UTC
Here's how I got it going, ripped straight out of my .nsi so it should work. hope this helps :cool: :cool: :cool:
;DLL/OCX version checking stuff
SetOverwrite on
SetOutPath $SYSDIR
CompareDLLVersions /STOREFROM comdlg32.ocx $SYSDIR\comdlg32.ocx comdlg32_1newer comdlg32_2newer
comdlg32_1newer:
File comdlg32.ocx
RegDLL "$SYSDIR\comdlg32.ocx"
comdlg32_2newer:
Bettawrekonize
3rd September 2001 07:12 UTC
didn't work
It didn't work but thanks anyways. It says error on line 3. I'll try to figure it out, but if someone can tell me why it's not working I would appreciate it. Thanks.
prodangle
3rd September 2001 14:20 UTC
I assume you changed the $SYSDIR etc to the directories you actually want to use ($TEMP i think)
Anyway - line 3 sounds a bit too high up to be part of this code. Sounds like the problem is elsewhere in your script - post it up here and we'll take a look if you want
Bettawrekonize
3rd September 2001 20:21 UTC
I got it working
Thanks