Запуск процесса ImageMagick в Windows server с ошибкой "указанный модуль не найден."

Я использую ImageMagick для преобразования PDF-файлов в PNG. Запуск процесса из моего проекта Web API локально работает, пока я запускаю Visual Studio как администратор. При перемещении решения на сервер процесс ImageMagick завершается со следующей ошибкой

преобразовать.exe: невозможно загрузить модуль `C:Program ФайлыImageMagick-6.9.0-Q16модуликодерыIM_MOD_RL_PNG_.dll': не удалось найти указанный модуль.

У меня есть ghostscript и ImageMagick установлены так, как они должны быть на сервере. Что может быть причиной этого? Я могу проверить, что модуль действительно существует на сервере.

6 ответов


решением этой проблемы в моей ситуации было установить переменную среды для ImageMagick непосредственно в коде, где я вызывал процесс.

System.Environment.SetEnvironmentVariable("Path", @"C:\Program Files\ImageMagick-6.9.0-Q16");

по-видимому, даже если переменная среды установлена на сервере, она может не найти ее из-за того, что среда выполнения отличается.


в моем случае, после новой установки Imagemagick, я получил ошибку simillar (не удалось загрузить модуль). Что помогло было просто:

перезагрузить систему

это, вероятно, потому, что системная переменная PATH или что-то подобное должно вступить в силу.


в моем случае я смог решить эту проблему с помощью портативной версии, поэтому ей не нужно ничего находить, поскольку все это встроено в exe.


Если вы только что установили ImageMagick и пытаетесь запустить его из командной строки, вам нужно будет открыть новое окно командной строки с обновленной переменной среды %PATH%.

вы можете попробовать что-то с SETX, но открытие нового окна командной строки кажется намного проще.


перезапустите Visual Studio или любую IDE (даже ваши командные подсказки, закройте и откройте их снова).

путь система не обновляется, вызывает эту ошибку в моей ситуации.


можно ли использовать Imagemagick для поиска libpng? Он действительно установлен? Вы вызываете преобразование ImageMagick.exe или преобразование Windows.exe?

convert.exe -version

должен ли png отображаться в списке делегатов? Что вы узнали из этой команды?