I downloaded the no-installer version of ImageMagick (ImageMagick-6.8.6-8-Q16-x86-windows.zip) to use in a project, but it's quite big at 123MB.
I only need mogrify.exe
to do a simple image resize. I copied it to a separate directory, and it runs fine, but I'm not sure whether I already have some of the required DLLs (the user may not have these).
I ran Process Explorer on mogrify
, but it said there were no DLLs in use by the image.
Is this correct or do I also need to include any of these?
atl100.dll mfc100.dll msvcp100.dll msvcr100.dll vcomp100.dll X11.dll Xext.dll
(full list from the zip file)
I believe vcomp100.dll
is part of the Visual C++ redistributable, so I guess I should include this, in case that isn't installed on the user's machine?
On the flip-side, X11.dll
looks unnecessary.
Is there an easier way to figure this out, other than researching each individual DLL?
The vcomp100.dll
library is the only dependency for resizing within mogrify.exe
. For safety, you should re-distribute that DLL in the same directory as the executable.
Is there an easier way to figure this out, other than researching each individual DLL?
I can't answer what the easiest method would be (outside of reading each libraries documentation), but I would highly suggest authoring a unit test to ensure all the expect functionality of your requirements are meet. I was able to run a test suite on a vanilla install of XP (via VirtualBox), and confirmed that resizing of PNG, JPEG, and basic drawing work without additional dependencies.