Hi,
I have a toolbox of software (about 4GB and almost 100% open source) on my USB-stick and today I wanted to integrate Image Magick. Unfortunately the attempt failed.
What I did:
I took ImageMagick-6.3.6-2-Q16-windows-dll.exe and installed it on a Windows2000-VirtualMachine, and then copied the im-directory onto the stick. Since I cannot change the registry on the machines I use and so I have a batch-script which sets environment variables. For IM I set MAGICK_HOME and PATH. Then I installed PerlMagick into my perl, which also resides on the stick and succeded without any complaints by ppm.
But it does not work, nor from perl neither the command line tools, IM provides. If I run
$ identify -list format
I get
Format Module Mode Description
-------------------------------------------------------------------------------
* native blob support
In the meanwhile I found out, that the windows version does not honour the environment variables - why such a weired limitation on windows, when those information are honoured by IM on almost any other platform. All applications I use on the stick find their dlls, if they are at least in PATH. Why not IM? Here is a very small list of windows versions of unix applications, which work without problems from the stick and which load quite a few dlls: Apache, Perl (which includes almost all packages you find in the PPM-repository at ActiveState), Gimp, OpenOffice.
Since I would use IM mainly from perl I cannot use the static version, which comes without perl support - and I do not know nothing about compiling C-applications on windows.
So what can I do to use IM on Windows? Is there another source of a more friendly binary version of IM?
Regards
zaphodbb
I need a dynamic Windows-version of IM for my USB-Stick
Re: I need a dynamic Windows-version of IM for my USB-Stick
ImageMagick has an "installed" version that relies on the Window registry to find its DLL's, configuration files, and delegate programs. The ImageMagick Windows binaries are "installed". ImageMagick also supports an "uninstalled" version which respects the environment variables such as MAGICK_HOME. This version is not available in binary form and you must compile it yourself. Why the two versions? For security purposes. If someone installs an "installed" version, ImageMagick only looks in pre-approved paths for its dependent files making it less likely a rogue DLL, configuration file, or delegate program is used by ImageMagick. In general the pre-approved fixed paths are secure. Under Unix, for example, ImageMagick looks in /usr/local/lib/ImageMagick-6.3.6. Normally this path is not writable by the general user so rogue files are unlikely to be loaded/read/used/etc. by ImageMagick. With an increasing emphasis on computer security it is likely other software packages will adopt a similar security model in the near future.
Re: I need a dynamic Windows-version of IM for my USB-Stick
OK, I see the point. Though I cannot quite understand, why a registry setting should be more secure than an environment variable.
But where is the problem to provide an "uninstalled" binary version too. Windows does not come with a C-compiler, so this would be of some help for people, who need such a version of ImageMagick.
Thanks for the quick answer.
zaphodbb
But where is the problem to provide an "uninstalled" binary version too. Windows does not come with a C-compiler, so this would be of some help for people, who need such a version of ImageMagick.
Thanks for the quick answer.
zaphodbb
Re: I need a dynamic Windows-version of IM for my USB-Stick
The problem is simple. ImageMagick is built by a community of unpaid volunteers and the community is quite small. We're stretched to the limit and are unable to support additional binary formats at this time.
Re: I need a dynamic Windows-version of IM for my USB-Stick
OK, thank you for your quick response.
zaphodbb
zaphodbb