From: SourceForge.net <no...@so...> - 2010-10-01 17:22:20
|
Bugs item #1616267, was opened at 2006-12-15 11:22 Message generated for change (Comment added) made by zeboxx You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373085&aid=1616267&group_id=22049 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Plugin Group: 2.0 Series Status: Closed Resolution: Fixed Priority: 5 Private: No Submitted By: Andrea Mazzoleni (amadvance) Assigned to: Amir Szekely (kichik) Summary: System plugin crash with parenthesis in filename Initial Comment: NSIS version 2.22 The System plugin "Call" instruction crash in Windows Vista if you use the complete path of a DLL which resides in Program Files. The problem happen because the "Program Files" directory for 32 bit applications in Windows Vista 64 bit is usually called "Program Files (x86)" and the open bracket is incorrectly interpreted like an argument declaration of the DLL function. For example the call: System::Call '$INSTDIR\mydll::myfunc() i.r0' is expanded like: System::Call 'C:\Program Files (x86)\MySoft\mydll::myfunc() i.r0' and the plugin make a invalid DLL call usually ending in an installer crash. A workaround is to set the directory with "SetOutPath" before calling the DLL. ---------------------------------------------------------------------- Comment By: ZeBoxx (zeboxx) Date: 2010-10-01 19:22 Message: The provided work-around may not work in every case - as noted in... http://forums.winamp.com/showthread.php?t=322837 Winamp Forums > Developer Center > NSIS Discussion > How to call System::Call with an absolute DLL path Ideally the system plugin would not treat parentheses before the :: as anything other than the path to a DLL. In the mean time, another work-around may be to load the library yourself using kernel32::LoadLibrary, get the exported function using kernel32::GetProcAddress, and then use the "::$procAddress(etc.)" syntax to call the function. ---------------------------------------------------------------------- Comment By: Amir Szekely (kichik) Date: 2006-12-15 12:53 Message: Logged In: YES user_id=584402 Originator: NO Thanks, fixed the crash. The parenthesis in path issue is problematic as they are part of the call syntax. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=373085&aid=1616267&group_id=22049 |