Dolemite50 Posted March 12, 2007 Share Posted March 12, 2007 Take this with a grain of salt because I'm still a greenhorn. I recently switched back to XP from Vista (clean format) and when I attempted to re-open a form I created in Koda it gave me an object error which ended up being from only having FlashPlayer8 installed and trying to open a form created with 9. I resolved that error by downloading the latest version of FlashPlayer, but then I started getting errors regarding getProcessImageNameW not being found in psapi.dll. I searched my C: drive to make sure that I had the dll and managed to find three of them, one in Win\Sys32, one in AutoIt, and one in my Dreamweaver folder. I renamed the AutoIt entry and all seems to be working fine again, but the fact that it was about 15-20k bigger than the others makes me worry that I'll run into more trouble or miss some functionality. My only guess is that my global path somehow got changed but I can't find anything related to AutoIt in the environmental variables. Whadaya think? Reinstall AutoIt or just let it ride? Thanks Link to comment Share on other sites More sharing options...
Confuzzled Posted March 24, 2007 Share Posted March 24, 2007 Take this with a grain of salt because I'm still a greenhorn. I recently switched back to XP from Vista (clean format) and when I attempted to re-open a form I created in Koda it gave me an object error which ended up being from only having FlashPlayer8 installed and trying to open a form created with 9. I resolved that error by downloading the latest version of FlashPlayer, but then I started getting errors regarding getProcessImageNameW not being found in psapi.dll. I searched my C: drive to make sure that I had the dll and managed to find three of them, one in Win\Sys32, one in AutoIt, and one in my Dreamweaver folder. I renamed the AutoIt entry and all seems to be working fine again, but the fact that it was about 15-20k bigger than the others makes me worry that I'll run into more trouble or miss some functionality.My only guess is that my global path somehow got changed but I can't find anything related to AutoIt in the environmental variables. Whadaya think? Reinstall AutoIt or just let it ride?ThanksWelcome to Microsoft DLL hell. Ahead Software (makers of Nero Burning ROM) are good examples of what not to do here. This is what lazy programmers do: When in doubt, add your own 'standard' system DLLs to your program files folder during installation and if your program is the first since Windows bootup to call that DLL (dynamic link library), it will be loaded into memory and the requested subroutine executed. It will be retained in memory until flushed. Another program calling the same DLL name will have the one in memory served to it by Windows, and if the first one that was loaded is the older one and doesn't have a valid subroutine the other program needs, then BAM! When you find that you have multiple copies of a DLL on your system, look for the latest version and make sure it is the only one that can be accessed from the usual Windows system folders and not from the Program Files folder. Rename the others and see if things stabilise. The version number of the DLL is often a better guide, where careful programmers add extra functionality to an existing DLL while retaining the existing features. Often overwriting the older versions with a copy of the latest version will fix stability errors. Ugly, but something that you should not have to worry about in an ideal world.In your case, depending on which version of the psapi.dll DLL gets called first and loaded into system memory as to whether all of the programs that need the embedded getProcessImageNameW subroutine will work well. Link to comment Share on other sites More sharing options...
MHz Posted March 24, 2007 Share Posted March 24, 2007 I searched my C: drive to make sure that I had the dll and managed to find three of them, one in Win\Sys32, one in AutoIt, and one in my Dreamweaver folder.Delete the one in the AutoIt folder if you have not got Win NT. It is within the installer only for Win NT (and perhaps Win 95?) which does not have psapi.dll as a system file. Link to comment Share on other sites More sharing options...
Richard Robertson Posted March 24, 2007 Share Posted March 24, 2007 Too bad Windows doesn't allow explicit path linkage. Like, "I want to use the shell32.dll in my program's folder," and things of that nature. Link to comment Share on other sites More sharing options...
EdT Posted March 30, 2007 Share Posted March 30, 2007 Too bad Windows doesn't allow explicit path linkage. Like, "I want to use the shell32.dll in my program's folder," and things of that nature.Yes it does - it's called isolation and works either by using the .local method where a zero byte file with the same name as the main.exe is created, but with an additional .local extension - eg main.exe.localThis works on XP and above and I believe on W2K also. The registration information is still pulled from the registry, and is probably derived from a DLL of the same name in the System32 folder. As long as that DLL is the same or a newer version then your local DLL should work fine as the entry points in the registry should all be there.The second method is isolation by manifest, and requires XP minimum. I will leave you to do your own further research on that method. Link to comment Share on other sites More sharing options...
Richard Robertson Posted March 30, 2007 Share Posted March 30, 2007 (edited) The manifest files confuse me because I've seen them but never any documentation on them. Edited April 24, 2007 by Mr Icekirby Link to comment Share on other sites More sharing options...
Dolemite50 Posted April 24, 2007 Author Share Posted April 24, 2007 Thanks for all the good info. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now