|
|
#1 |
|
Junior Member
Join Date: Sep 2004
Posts: 1
|
UpgradeDLL vs makensis on linux
I'm building installers on the fly for my users using php and makensis on linux. This works great. I just added a shell extension to the mix, and I'm using the UpgradeDLL script to install it. This works fine on my Win32 machines, but does not work under linux. Specifically, I get this:
Error: GetDLLVersionLocal is disabled for non Win32 platforms. Is there anything I can do about that? Thanks, |
|
|
|
|
|
#2 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Your options are using Wine or helping to implement GetDLLVersionLocal for non Win32 platforms.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#3 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Implemented in latest CVS version. I've only tested it on Windows so please test it and let me know if it works (snapshot updated).
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#4 |
|
Guest
Posts: n/a
|
It does work on Linux but sometimes fails with smth. like "GetDLLVersionLocal: error reading version info from "tk83.dll": Unicode conversion failed". I've tested it with 'tcl83.dll' and 'tk83.dll' DLLs (Python's TCL/TK libs) so it works with 'tcl83.dll' but fails with 'tk83.dll'.
|
|
|
|
#5 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
Can you compile a debug version and tell me which line in ResourceEditor.cpp generates that exception?
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#6 |
|
Guest
Posts: n/a
|
There're just two lines which raise runtime_error('Unicode conversion failed') - 442 and 446. It seems that the 446 raises an exception when there're some global iconv problems, so I'd have a look at 442 (I checked it out, it is 442 indeed).
For the moment I replaced 424 from code: to code: (always set the name to entry's id) so it works for me. |
|
|
|
#7 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
I'll try to find out why it fails converting strings from tcl83.dll, but I think the solution will be keeping the strings in Unicode. The conversion in CResourceEditor is useless and lossy anyway.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
|
|
#8 |
|
Junior Member
|
Thanx a lot!
But most likely you won't find it out, because it fails with 'tk83.dll', not with 'tcl83.dll' )BTW about the new (in 2.01) 'Library.nsh': it looks fancy and more handy than UpgradeDll. Will it ever be implemented in Linux version as well? |
|
|
|
|
|
#9 |
|
M.I.A.
[NSIS Dev, Mod] Join Date: Oct 2001
Location: Israel
Posts: 11,343
|
I've fixed the problem in the latest CVS version. The lossy conversion, however, is still there. I have opened a bug report about it for easier tracking.
NSIS FAQ | NSIS Home Page | Donate $ "I hear and I forget. I see and I remember. I do and I understand." -- Confucius |
|
|
|
![]() |
|
|||||||
| Thread Tools | Search this Thread |
| Display Modes | |
|
|