Требуется ли команде ImageMagick resize (mogrify) какие-либо библиотеки DLL?
Я загрузил версию ImageMagick без установки ( http://www.imagemagick.org/download/binaries/ImageMagick-6.8.6-8-Q16-x86-windows.zip) для использования в проекте, но она довольно велика и составляет 123 МБ.
Мне нужно только mogrify.exe
сделать простое изменение размера изображения. Я скопировал его в отдельный каталог, и он работает нормально, но я не уверен, что у меня уже есть некоторые необходимые библиотеки DLL (возможно, у пользователя их нет).
Я запустил Process Explorer на mogrify
, но он сказал, что не было никаких DLL, используемых в образе.
Это правильно или мне тоже нужно включить что-нибудь из этого?
atl100.dll mfc100.dll msvcp100.dll msvcr100.dll vcomp100.dll X11.dll Xext.dll
(полный список из zip-файла)
я верю vcomp100.dll
является частью распространяемого Visual C++, так что, я думаю, мне следует включить его, если он не установлен на компьютере пользователя?
С другой стороны, X11.dll
выглядит ненужным.
Есть ли более простой способ выяснить это, кроме исследования каждой отдельной DLL?
2 ответа
vcomp100.dll
библиотека является единственной зависимостью для изменения размера в mogrify.exe
, В целях безопасности вам следует перераспределить эту DLL в том же каталоге, что и исполняемый файл.
Есть ли более простой способ выяснить это, кроме исследования каждой отдельной DLL?
Я не могу ответить, каким будет самый простой способ (кроме чтения документации по каждой библиотеке), но я настоятельно рекомендую создать модульный тест, чтобы убедиться, что все ожидаемые функциональные возможности ваших требований соответствуют. Я смог запустить набор тестов на стандартной установке XP (через VirtualBox) и подтвердил, что изменение размера PNG, JPEG и базового рисования работает без дополнительных зависимостей.
Для обнаружения исполняемых файлов и dll-зависимостей в Windows вы можете использовать DependencyWalker (бесплатный инструмент). ProcessExplorer только сообщает вам, какие DLL загружены процессом в конкретный момент, когда вы проверяете его. DLL может быть загружена по требованию или не загружаться вообще, в зависимости от потребностей исполняемого файла, поэтому DependencyWalker может помочь вам в большем количестве случаев.