[cvsnt] Re: Control Panel shortcut needs "Start In" directory

Luigi D. Sandon cp at sandon.it
Sat Sep 24 14:48:08 BST 2005


Community technical support mailing list was retired 2010 and replaced with a professional technical support team. For assistance please contact: Pre-sales Technical support via email to sales@march-hare.com.


Maybe I tracked it down. It could be a "DLL hell" problem. Here is part of a
trace of the loaded DLL I got using SysInternal (excellent) FileMon:

15.28.03 rundll32.exe:864 QUERY INFORMATION C:\WINNT\system32\iconv.dll NOT
FOUND Attributes: Error
15.28.03 rundll32.exe:864 QUERY INFORMATION D:\iconv.dll NOT FOUND
Attributes: Error
15.28.03 rundll32.exe:864 QUERY INFORMATION C:\WINNT\system32\iconv.dll NOT
FOUND Attributes: Error
15.28.03 rundll32.exe:864 QUERY INFORMATION C:\WINNT\system\iconv.dll NOT
FOUND Attributes: Error
15.28.03 rundll32.exe:864 QUERY INFORMATION C:\WINNT\iconv.dll NOT FOUND
Attributes: Error
15.28.03 rundll32.exe:864 QUERY INFORMATION C:\WINNT\system32\iconv.dll NOT
FOUND Attributes: Error
15.28.03 rundll32.exe:864 QUERY INFORMATION C:\WINNT\iconv.dll NOT FOUND
Attributes: Error
15.28.03 rundll32.exe:864 QUERY INFORMATION C:\WINNT\System32\Wbem\iconv.dll
NOT FOUND Attributes: Error
15.28.03 rundll32.exe:864 QUERY INFORMATION D:\Apps\Perl\bin\iconv.dll NOT
FOUND Attributes: Error
15.28.03 rundll32.exe:864 QUERY INFORMATION D:\Apps\Python23\iconv.dll NOT
FOUND Attributes: Error
15.28.03 rundll32.exe:864 QUERY INFORMATION D:\Apps\Tcl\bin\iconv.dll
SUCCESS Attributes: A
15.28.03 rundll32.exe:864 OPEN D:\Apps\Tcl\bin\iconv.dll SUCCESS Options:
Open  Access: Execute
15.28.03 rundll32.exe:864 CLOSE D:\Apps\Tcl\bin\iconv.dll SUCCESS
15.28.03 rundll32.exe:864 CLOSE D:\ SUCCESS
15.28.13 control.exe:1620 CLOSE D:\ SUCCESS

It is loading the ICONV.DLL from the Tcl folder, not CVSNT!!!! I gave a look
those DLL with Dependency Walker (from the MS SDK) and they are different.
Soon after that DLL is loaded, rundll32.exe e control.exe exit. The Tcl path
was *before* the CVSNT path, therefore the wrong DLL was loaded, this
explains why it works when run from CVSNT folder. Rundll32.exe is coded so
bad it does not give any error when it fails to load a DLL.

The DLL loading order can be different in XP and 2003:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/dynamic-link_library_search_order.asp

I would suggest to check if an App Paths registry key would help to solve
this problem without relying on the path environment variable, I am not
sure.

-- 
LDS





More information about the cvsnt mailing list
Download the latest CVSNT, TortosieCVS, WinCVS etc. for Windows 8 etc.
@CVSNT on Twitter   CVSNT on Facebook