NTDLL.DLL load failures in Windows 7 for legacy 32 bit application
Colleagues - we have a legacy 32 bit application that connects to a database. This application works as advertised under Windows XP.<P> However, we have failures either loading or at some point in runtime with this application on SOME windows 7 installations.<P> I have taken an application core dump and reviewed it in Windbg (32). It appears that System32\NTDLL.DLL is attempting to load SysWow64\NTDLL.DLL as a dependency, and is failing. There may well be other cross 32/64 DLL loads failing as well, related to later runtime errors. However, when I launch the application from the user's computer under my account privaledges, it runs without issue. If you have experienced this as well, please chime in. If there is a fix, please let me know. thanks in advance. John Lopez
April 18th, 2012 5:37pm

1. Have you install this application in compatibility mode? http://www.ampercent.com/run-install-programs-in-windows-7-compatibilitymode/7960/ 2. If you write SOME, does it means that there are computers without issues and other computer suffer regularly? If this is true, what is the difference between these group? 3. Have you consider XP mode? 4. For detailed troubleshooting I would recommend Process Monitor (Sysinternals) Regards Milos
Free Windows Admin Tool Kit Click here and download it now
April 19th, 2012 5:16am

Hi, I notice the application runs without issue under your account privileges. There could be a permission issue. Please right click the application and select run as administrator to check the result. Niki Han TechNet Community Support
April 20th, 2012 4:20am

Hi Niki - sorry it took this long to get back. Yes, some computer run fine, and the ones that have issues seem to work fine if I run the application with escalated privaledge (myself). So I suspect it is privalege related. It also seems that there is an increasing number of win 7 installs that are having issues. One other test was interesting: user logged into windowsI (via remote control Dameware) connect to the PCI launch CMD shell and runas /user:me "cmd /k"from the elevated CMD shell, I launch the appl and exitthen the user launches the appl as themselves, without issue It appears that the my runtime loads the DLL without issue. Once it is resident in memory, the user can launch the appl, see the loaded DLL and reference it without a problem. The appl is a 32-bit legacy thick client connection to a DB. It is not registered. Further, for ease of administration, we install (place appl dir) on a network mount. The only thing "installed" at the client PC is a shortcut to a CMD script to config the environment and an INI file in the local windows folder, which the above script updates. So, the option to "install in compatibility mode" really isn't there. I could attempt a local load of the appl and set compatibility mode on the appl EXE. We have tried running the shortcut as "administrator" which does not make a difference. Only thought was to preload the SysWOW64/ntdll.dll at boot time using rundll32.exe. Would this be advisable? would it make a difference? thanks for your help.Regards, John Lopez
Free Windows Admin Tool Kit Click here and download it now
May 7th, 2012 8:14am

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics