When starting the new GimpPortable2.2.12en_us I get the following popup window message:
Title: gimp-2.2.exe - Application Error
WindowMsg: The application failed to initialize properly (0xc0000142). Click on OK to terminate the application.
After clicking the OK button this message goes away and PortableGimp fails to start.
I think, based on other items in this forum, that this is most likely caused by a gtk conflict on my machine as Acer Arcade is known to use xmlparse.dll and xmltok.dll. These files were not located in the windows or system directory, nor were they stored anywhere within the path of this computer:
Windows XP SP2
I went ahead and uninstalled Acer Arcade anyway...
After uninstalling Acer Arcade and verifying that the other versions of xmlparse and xmltok were no longer stored anywhere on the computer I attempted to start PortableGimp again. Same error message, gimp failed to launch.
I thought perhaps there was continuing conflict with some version of gtk on my system regardless of the fact that nothing, aside from the actual operating system, is now installed on the computer. Yes, I realize that some files may not have been deleted with the uninstall of Acer Arcade.
I did a search of the hard drive for other copies/versions of the files in PortableGimp/gtk/bin.
I did find a different version of iconv.dll stored in the c:\windows directory. This version is 852kb in size, where the version in PortableGimp/gtk/bin is 619kb in size.
I renamed the larger version of the file to icon~.dl~ and attempted to run PortableGimp again. This time PortableGimp2.2.12 was able to launch, with no apparent problems.
I'm not sure exactly what the iconv.dll which was already on my computer was being used for, as it appears to be part of the some gnu library when I do a search for it on the net. I'm going to leave it renamed for now and check out the rest of the system. However I would very much like to be able to use this program on machines for which I do not have the user rights to edit/rename files in the c:\windows folder. I'm afraid I don't know enough about how applications use the dll's to do this myself though.
Does anyone out there know how a specific application gets usage out of these files? Does the program make some kind of call to windows and then trust windows to know whether or not it is indeed the file which the program is looking for? I know that dll's are typically used by many programs and that conflicts occasionally do occur. What I am wondering is why an application which calls for the dll could not make a more specific call, perhaps either for a specific version, or even perform some kind of size or hash check to make sure that the file being called is in fact the one that's going to be compatible.
It was my understanding that windows xp was capable of keeping several different versions of the same files in it's system specifically because of this problem. At least that's what I was led to believe by the MS guys at one of their XP PreRelease conferences.
Found some good information on just this here:
http://setiathome.berkeley.edu/forum_thread.php?id=29085&nowrap=true#268657
It would be useful if something like this could be done. I'm not sure the hardcoded paths mentioned in this thread are able to be relative or if they must be absolute, but it would be nice (this being a portable version of an open source program) if this could be done. This (on my system anyway) appears to be the only file that has this specific problem, and I'm not sure how the hardcoded paths (provided they can be relative) would affect the application. But it seems to me for a portable version of open source software this would be what one would want to do anyway.
Just my $.02 and I hope it helps anyone who is having a similar problem, or helps anyone who is looking to increase this application's portability.
Thanks
SpcHtr