Archive: More questions...


More questions...
1. I'm trying to set a branding image on the top of my nsis dialog, using the modern ui code.
I have this part, but it doesn't seem to be enough to get it working.
What would I need to add into my script to get this to work (without using modern ui - because my whole app is using custom pages)
Here's what I have so far:[code File "/oname=$TEMP\ddayupdater\logo.bmp" "${NSISDIR}\ddayupdater\logo.bmp"
SetBrandingImage /IMGID=1046 /RESIZETOFIT "$TEMP\ddayupdater\logo.bmp"[/code]

2. My app is going to download updates from a list on the web. Is it possible to get an exe file version? I want to be able to compare the version of an executable on their hdd to the version that will be in the web list.
Is the UpgradeDLL macro a good solution to this? I will need to get the dll version of the dll on the users' hard drive (and exe versions), and then compare them to the versions I have written into my web list (which I will have to update manually)

Thanks

-Stu


1) Use AddBrandingImage

2) You can find a plug-in in the archive


Whats the plugin called? I can't find one that will get an exe version.

Does UpgradeDLL only replace the dll if it is older than the dll that is going to be copied?

NM, UpgradeDLL isn't want I need. Just need to get the dll / exe versions now...

-Stu


Sysinfo


Is there an example of where AddBranding image is used.
I want to add an image just like on the NSIS Installer exe has - modern-header.bmp.
I want to get that image there without using Modern UI.

-Stu


Hmm. Sysinfo doesn't seem to output any of the versions. Some of them apparently have no version.
I'm even trying to get dll versions of system files (in the demo.nsi script) but it doesn't even print dll / file versions of them either.

Is there a problem?

-Stu


I just opened up the SysInfo.nsi script.
I'm using examples from the SysInfo.nsi script like so:

sysinfo::GetFileVersionValue 'FileVersion' 'C:\quake2\quake2.exe'
Pop $R0
DetailPrint $R0

It still doesn't print a file version. I'm also trying to get versions of some dll files in that directory, and all of them do not print any dll versions.

-Stu

Check the file properties in Windows. Do they have version numbers?


On WinXP, the version numbers for these dll's are printed below the file name, and also an extra 'file version' properties tab is there. The dll's I am using don't have these versions printed.

A friend says I need to register these dll's before I can get the dll versions. Is this what I need to do?

-Stu


That's not true. These DLL's don't have version info, you have to use the date or something else to identify them (use GetFileTime).


Ok thanks
I will use that function on the archive :)

-Stu


Hmm, looking at http://nsis.sourceforge.net/archive/...ances=0,11,211

Do you think it would be possible to modify this to get the files' creation date?
I think a custom function would be nice, just to get the creation date. I don't need the time or anything.
I have no-idea where to start though - I'm only good at string functions!

-Stu


Use GetFileTime and compare the output (higher = new file).


I can't get SysInfo because all of the downloads on the Archive are gone (?!?!?!) but afaik SysInfo is not such a new plug-in and might have even been created before the stack pushing order was revesred. Try:

sysinfo::GetFileVersionValue 'C:\quake2\quake2.exe' 'FileVersion'


That doesn't work either :(
I will have to use GetFileTime instead. With GetFileTime, should I get the high end and low end dwords and combine them into 1 string for a definate file identity?

-Stu


This thread should help: http://forums.winamp.com/showthread....ht=GetFileTime