GraphicsMagick For Windows

> This page provides information specific to GraphicsMagick installed via a "setup.exe" style installation wizard under Microsoft Windows. It applies only to the pre-built "binaries" package, and not to versions compiled from source code. If you would like to install GraphicsMagick from source code, then please refer to the GraphicsMagick installation guide for Windows .

Normal Installation

#### Prerequisites

While multiple versions of GraphicsMagick may be installed at one time, if your intention is to replace a prior installation of GraphicsMagick with a newer version, then it may be wise to uninstall the existing GraphicsMagick (see uninstall procedure) prior to installing the newer version.
While it is not a requirement, it is strongly recommended that the Ghostscript package (GraphicsMagick is tested with version 8.50) be installed. GraphicsMagick uses Ghostscript to render Postscript and PDF files, as well as formats where a translator to Postscript is available. GraphicsMagick will also use the fonts delivered with Ghostscript to support the standard set of Adobe Postscript fonts like "Helvetica" and "Times Roman" if these fonts are not available as TrueType fonts.
The installation package includes the GraphicsMagick Perl extension ( PerlMagick) as an installation option. If you would like to use this extension, then you must install ActiveState ActivePerl prior to commencing with installation of GraphicsMagick.

#### Retrieve Install Package

Retrieve the GraphicsMagick Windows binary install package from a one of the ftp sites listed at the GraphicsMagick Download Sites page. The available install packages are as follows

Windows Dynamic-Multithread (DLL-based) install package with utilities, PerlMagick, ImageMagickObject COM object, API headers, DLLs, link libraries, and web pages.

        GraphicsMagick-1.1.12-Q8-windows-dll.exe
        GraphicsMagick-1.1.12-Q16-windows-dll.exe

Windows Static-Multithread package including the utilities (gm.exe, gmdisplay.exe, and MagickCMD.exe), the ImageMagickObject COM object, and the GraphicsMagick web pages. This package does not include PerlMagick.

        GraphicsMagick-1.1.12-Q8-windows-static.exe
        GraphicsMagick-1.1.12-Q16-windows-static.exe

Note that the QuantumDepth=8 version (Q8) which provides industry standard 24/32 bit pixels consumes half the memory and about 30% less CPU than the QuantumDepth=16 version (Q16) which provides 48/64 bit pixels for high-resolution color. A Q8 version is fine for processing typical photos. If you are dealing with film, scientific, or medical images or deal with images that have limited contrast, then the Q16 version is recommended. It is also possible to build a Q32 version which has enough resolution to deal with the latest reconnaissance images. Please let us know if there is any demand for the Q32 versions.

#### Start Installation Wizard

Execute the downloaded file from your browser or by double-clicking on the filename from within Windows Explorer. The GraphicsMagick Setup Wizard will appear. Click on “Next>” to continue.

#### Read Installation Information

An informational screen is presented which provides a summary of things you should know before you proceed. Please take care to read this information. Once you have finished, Click on “Next>” to continue.

#### Select Destination Directory

Specify what drive and directory to install GraphicsMagick into. Approximately 15MB of free disk space is required to install all of GraphicsMagick (you may choose to install a subset to save space). A message at the bottom of the screen will tell you exactly how much space is required to install the complete package. The default installation directory is similar to “C:\Program Files\GraphicsMagick-1.1.12-Q8”. Once you have entered the desired installation directory, then select “Next>” to continue.

#### Select Start Menu Folder

Select the folder where you would like the program's shortcuts to appear. The default should normally be satisfactory. Click on “Next>” to continue.

#### Select Additional Tasks

A screen is displayed which presents most (or all) of the following options:

- Create a desktop icon

- Update executable search path

- Associate supported file extensions with GraphicsMagick

- Install development headers and libraries for C and C++

- Install PerlMagick for ActiveState Perl v5.8.7 build 815

- Install ImageMagickObject OLE Control for VBscript, Visual Basic, and WSH.

"Creating a desktop icon" and "Update the executable search path" are selected by default. The remaining options default to un-selected. Select the options you prefer. Note that ActiveState Perl packages are intended to be binary compatible across a build series (i.e. 800 series builds should be binary compatible).

Think twice before selecting "Associate supported file extensions with GraphicsMagick" since this will set up approximately fifty file associations, including common formats like JPEG, GIF, PNG, TIFF, and PDF. These file associations will be to the 'gmdisplay' program which is suitable for displaying images, but currently offers little more than that. Windows XP seems to handle the file associations pretty well, allowing you to choose from a list of programs, but older systems like Windows NT 4.0 and Windows '98 only support a single association per format, which can be quite annoying. Associations for GraphicsMagick's native formats (such as MIFF) will always be made.

Once you have made your selections, click on “Next>” to continue.

#### Ready to Install

A screen is displayed which displays the selected options. If you are not satisfied with a selected option, then click on “<Back” to go back to a previous screen so that the option may be adjusted. If you are satisfied with the options and are ready to install, then select “Install”. To abort the installation entirely, select “Cancel”.

#### Installation Progress

While the install program is performing the installation, it will display what it is doing in an installation progress window.

#### Final Information

A summary of post-install steps is provided. These steps include some commands you can execute to make sure that GraphicsMagick is working, as well as some notes about what has been installed on your system, and where to find additional information. Once you have read this information, click on “Next>” to continue.

#### Finishing Up

By default “View GraphicsMagick.html” is check-marked. This causes the GraphicsMagick web pages to be displayed in your web browser when “Finish” is selected. If you do not want to view the web pages, then de-select “View GraphicsMagick.html”. Select “Finish” to exit the installation program.
Under Windows '95 and Windows '98 it will be necessary to reboot the system in order for some settings to take effect (such as executable search path) since these are set in autoexec.bat. Please verify that autoexec.bat is updated correctly. We have received some reports that the path in autoexec.bat is not always updated correctly.

#### Testing The Installation

Select “Command Prompt” from the Windows Start menu. Within the window type

gm convert logo: logo.miff
gmdisplay logo.miff

and the GraphicsMagick logo should be displayed in a window.

Advanced Installation

[ The following is transcribed from the Inno Setup documentation. Inno Setup is used to create the binary install package. This information may be of value if the GraphicsMagick installation must be automated (e.g. If it is installed as part of another package). ]

The Setup program accepts optional command line parameters. These can be useful to system administrators, and to other programs calling the Setup program.

#### /SP

Disables the "This will install... Do you wish to continue?" prompt at the beginning of Setup. Of course, this will have no effect if the DisableStartupPrompt [Setup] section directive was set to yes.

#### /SILENT, /VERYSILENT

Instructs Setup to be silent or very silent. When Setup is silent the wizard and the background window are not displayed but the installation progress window is. When a setup is very silent this installation progress window is not displayed. Everything else is normal so for example error messages during installation are displayed and the startup prompt is (if you haven't disabled it with DisableStartupPrompt or the '/SP-' command line option explained above)

If a restart is necessary and the '/NORESTART' command isn't used (see below) and Setup is silent, it will display a Reboot now? messagebox. If it's very silent it will reboot without asking.

#### /NORESTART

Instructs Setup not to reboot even if it's necessary.

#### /LOADINF="filename"

Instructs Setup to load the settings from the specified file after having checked the command line. This file can be prepared using the '/SAVEINF=' command as explained below. Don't forget to use quotes if the filename contains spaces.

#### /SAVEINF="filename"

Instructs Setup to save installation settings to the specified file. Don't forget to use quotes if the filename contains spaces.

#### /DIR=“x:\dirname”

Overrides the default directory name displayed on the Select Destination Directory wizard page. A fully qualified pathname must be specified. If the [Setup] section directive DisableDirPage was set to yes, this command line parameter is ignored.

#### /GROUP="folder name"

Overrides the default folder name displayed on the Select Start Menu Folder wizard page. If the [Setup] section directive DisableProgramGroupPage was set to yes, this command line parameter is ignored.

#### /NOICONS

Instructs Setup to initially disable the Don't create any icons check box on the Select Start Menu Folder wizard page.

#### /COMPONENTS="comma separated list of component names"

Overrides the default components settings. Using this command line parameter causes Setup to automatically select a custom type.

Uninstall

The GraphicsMagick package incorporates its own uninstall functionality. Always remove an installed GraphicsMagick via its uninstall function since manually removing it (such as by removing its installation directory) will leave behind the registry entries and path settings established at install time.

Under Windows '95 and Windows '98, use the “Uninstall” entry in the GraphicsMagick portion of the Windows start menu to initiate the uninstall.

On NT 4.0 and 5.X -based systems, GraphicsMagick should be removed via the “Add or Remove Programs” area of the Windows Control Panel. Select the GraphicsMagick package from the list, and click on “Change/Remove” to uninstall it.

Use From Another Package or Program

The GraphicsMagick gm utility may be executed as a sub-process by other programs. If gm utility is not in the systems executable search path (it should be since the GraphicsMagick install extends the path), then the utility should be executed via the complete path to the executable.

A COM object included with the "utils" package and known as ImageMagickObject may be used to execute the gm sub-functions (e.g. "convert") without spawning a new process.

A package which is linked against the GraphicsMagick core DLLs may use the DLLs from an installed DLL-based GraphicsMagick, provided that the GraphicsMagick release versions are identical, and the value of QuantumDepth matches the value used when building the package. One way to ensure this is to include a matching GraphicsMagick installation package along with your own package.

In order to facilitate building C and C++ programs that use GraphicsMagick without requiring building GraphicsMagick from source code, the header files and link libraries required to build programs using Visual C++ 7.0 are provided in “include” and “lib” subdirectories under the installation directory. Using these headers and libraries to build your dependent application ensures that they will be compatible with the release DLLs.

Note that the DLLs and libraries are built using Visual C++ 7.0 (.net). In order to use Magick++, you must either use the same compiler version used to build the distribution, or download the Windows source package and build everything yourself. While it should be possible to use the free MinGW gcc compiler with the CORE_RL_magick_.dll (GraphicsMagick C library), it will certainly not be possible to use it with CORE_RL_Magick++_.dll (GraphicsMagick C++ library) due to name mangling differences.

The following project build options (change “C:\GraphicsMagick” to wherever you have chosen to install) should ensure compatibility with the headers and libraries as delivered:

Key Name | Key Type
Preprocessor Definitions | NDEBUG,WIN32,_CONSOLE,_VISUALC_,NeedFunctionPrototypes,_DLL,_MAGICKMOD_
Compilation Options | /nologo /MD /W3 /GX /Zi /O2 /I "." /I "C:\\GraphicsMagick\include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "_VISUALC_" /D "NeedFunctionPrototypes" /D "_DLL" /D "_MAGICKMOD_" /FD /c
Linker Options | CORE_RL_magick_.lib CORE_RL_Magick++_.lib X11.lib kernel32.lib user32.lib gdi32.lib odbc32.lib odbccp32.lib ole32.lib oleaut32.lib winmm.lib dxguid.lib wsock32.lib advapi32.lib /nologo /subsystem:console /incremental:no /debug /machine:I386 /libpath:"C:\GraphicsMagick\lib\"
Resource Options | /l 0x409 /d "NDEBUG"

When GraphicsMagick is installed, entries are added to the Windows Registry so that other programs may obtain information regarding the most recently installed GraphicsMagick. These entries are available under the registry path

HKEY_LOCAL_MACHINE\SOFTWARE\GraphicsMagick\Current

These keys are currently available:

Key Name | Key Type | Description
BinPath | REG_SZ | Directory where GraphicsMagick executables are installed
ConfigurePath | REG_SZ | Directory where configuration files are installed
LibPath | REG_SZ | Directory where GraphicsMagick core DLLs are installed
CoderModulesPath | REG_SZ | Directory where GraphicsMagick loadable coder modules are installed
FilterModulesPath | REG_SZ | Directory where GraphicsMagick loadable filter modules are installed
QuantumDepth | REG_DWORD | Number of bits in a pixel quantum. A pixel quantum is used to store part of a color (e.g. red component)
Version | REG_SZ | GraphicsMagick version

In addition to registry entries which provide information on the most recently installed GraphicsMagick (which is not necessarily the newest version installed), registry entries are available for specific versions of installed GraphicsMagick packages. These registry entries are available under a registry path of the form:

HKEY_LOCAL_MACHINE\SOFTWARE\GraphicsMagick\VERSION\Q:DEPTH

where VERSION represents the GraphicsMagick version and DEPTH (which may have the values 8, 16, or 32) represents the number of bits per pixel quantum. Packages which require a particular version of GraphicsMagick built with a specific QuantumDepth may find a matching installation via these registry entries.

These keys are currently available:

Key Name | Key Type | Description
BinPath | REG_SZ | Directory where GraphicsMagick executables are installed
ConfigurePath | REG_SZ | Directory where configuration files are installed
LibPath | REG_SZ | Directory where GraphicsMagick core DLLs are installed
CoderModulesPath | REG_SZ | Directory where GraphicsMagick loadable coder modules are installed
FilterModulesPath | REG_SZ | Directory where GraphicsMagick loadable filter modules are installed
SharePath | REG_SZ | Directory where configuration files are installed

Copyright © GraphicsMagick Group 2002 - 2008