# Windows Installation

> - Requirements
> - Installation
> - Memory
> - 64-bit Systems
> - Upgrading
> - Drag and Drop
> - Appearance
> - Known Problems
> - Compiling Plugins
> - Adding a JAR File
> - Upgrading to Java 1.6
> - About the Installer

> ### Requirements

> ImageJ requires Windows 95 or later. It runs on a machine with 64MB but it runs better with 256MB or more, particularly when working with large images and/or stacks.

> ### Installation

> The Windows version of ImageJ is available with or without Java. Both versions include ImageJ.exe, a Windows program contributed by George Silva that launches ImageJ (ij.jar). ImageJ.exe supports file-associations, drag and drop, auto-configuration and command line operation. If the jre folder (the Java runtime) is missing, ImageJ.exe detects the latest installed Java, generates the configuration file (ImageJ.cfg) and sets the memory limit to 2/3 of installed memory or 640MB, whichever is lower. Refer to the README for more information.

> ### Memory

> Use the Edit/Options/Memory command to make more than the default 128MB available to ImageJ. Note that setting the "Maximum Memory" value to more than about 75% of real RAM may result in poor perfomance due to virtual memory "thrashing". The maximum amount of memory that can be allocated on 32-bit systems is ~1.7GB.

> This command modifies the third line in the ImageJ.cfg file in the ImageJ folder, which must be writable. This is what ImageJ.cfg looks like with "Maximum Memory" set to 700MB:

>         .
>         jre\bin\javaw.exe
>         -Xmx700m -cp ij.jar ij.ImageJ

> Note that this only works when you run ImageJ by double clicking on ImageJ.exe. No more than 64MB is available when you run ImageJ by double clicking on ij.jar.

> ### 64-bit Systems

> To use more than ~1.7GB of memory you need a 64-bit CPU (AMD64, Intel Core 2 Duo, etc.), a 64-bit OS (Windows 2003 x64, Window XP x64 or Windows Vista x64) and a 64-bit version of Java. To install 64-bit Java:
> - Download and install the latest 64-bit Windows JDK (e.g., jdk-6u1-windows-amd64.exe) from java.sun.com/javase/downloads/.
> - Go to the ImageJ folder and delete any jre folder.
> - Delete any ImageJ.cfg file.
> - Restart ImageJ and the launcher (ImageJ.exe) will generate a new ImageJ.cfg that uses the JDK you just installed.
> - Use the Edit>Options>Memory command to make more than the default amount of memory available to Image.
> Some users have reported an issue with "Out Of Memory" errors being generated before the memory limit set in Edit>Options>Memory is reached. To fix this problem, add "-XX:+AggressiveHeap" to the the third line of the ImageJ.cfg file. It should look something like this:

>         .
>         C:\Program Files\Java\jdk1.6.0_01\jre\bin\javaw.exe
>         -Xmx3500m -XX:+AggressiveHeap -cp ij.jar ij.ImageJ

> This example allocates 3.5GB for ImageJ. To prevent swapping, you should leave at least 0.5MB for the OS and other programs.

> ### Upgrading

> To upgrade to the latest version of ImageJ, replace the ij.jar file in the ImageJ folder with a newer one from http://rsb.info.nih.gov/ij/upgrade/.

> ### Drag and Drop

> The Windows version of ImageJ opens images, text files, ROIs and LUTs dropped on the "ImageJ" window. On Windows 2000/XP, it also opens files dropped on the ImageJ icon.

> ### Appearance

> On Windows XP, Activate Clear Type to improve the quality of text displayed in menus, dialog boxes, text windows, and in the status bar. To use a larger menu font, choose "Large Fonts" or "Extra Large Fonts" in the "Font Size:" drop down menu in the Appearance tab of the Display Properties control panel. Check "Antialiased Tool Icons" in ImageJ's Edit/Options/Misc dialog to improve the appearance of the tool icons.

> Here is what ImageJ looks like with Clear Type enabled, "Extra Large Fonts" and antialiased tool icons.

> ### Known Problems

> 1. Java 1.4.2 crashes when running ImageJ. This bug has been reported to Sun and is fixed in Java 1.5 (aka Java 5.0).
> 2. On 32-bit systems, ImageJ cannot use more than about 1.7GB of memory, regardless of how much RAM is installed.
> 3. With Java 1.3.1, File/Print does not correctly print large line drawings (e.g., the plots generated by Analyze/Gels/Plot lanes).
> 4. The text cursor is sometimes used instead of the cross hair. As a work around, check "Use Pointer Cursor" in Edit/Options/Misc or change the Windows XP cursor scheme in Control Panel/Mouse/Pointers to "(None)".
> 5. With Java 1.3.1, menu fonts are very small and there does not appear to be a way to make them larger. With Java 1.5 (aka 5.0), they can be made larger by right-clicking on the desktop and setting "Font Size" in Display Properties/ Appearance to "Large Fonts" or "Extra Large Fonts". This screen shot illustrates the problem.
> 6. JFileChooser, used by the getDirectory() macro function, does not work with Java 1.5 on Vista. To work around this problem, upgrade to Java 1.6

> ### Compiling Plugins

> The Plugins/Compile and Run command uses the javac compiler contained in the tools.jar file included with Sun's Java Development Kit (JDK). Compile and Run works with the version of ImageJ bundled with Java because it includes a copy of tools.jar in ImageJ/jre/lib/ext. It does not work if you use the version that is not bundled with Java and you have not installed the JDK. To fix this problem, uninstall the Java Runtime Environment (JRE), download and install the JDK, delete the Image\ImageJ.cfg file, and restart ImageJ. Compile and Run will not work if you launch ImageJ by double clicking on ij.jar.

> ### Upgrading to Java 1.6

> This is what you need to do to upgrade to Java 1.6:
> - Download and install the latest JDK from java.sun.com/javase/downloads/
> - Go to the ImageJ folder and delete or rename the jre folder
> - Delete the ImageJ.cfg file
> - Restart ImageJ and the launcher (ImageJ.exe) will generate a new ImageJ.cfg that uses Java 1.6
> This method requires an ImageJ 1.35 or later distribution (ImageJ folder) that includes George Silva's auto-configuring launcher (ImageJ.exe).

> ### Adding a JAR File

> Some plugins require adding a JAR file to ImageJ. In ImageJ 1.31 or later, this is done by copying the JAR file into the plugins folder or an immediate subfolder of the plugins folder, then restarting ImageJ. To compile a plugin that uses a JAR file, copy the JAR file to the Java extensions folder, ImageJ\jre\lib\ext.

> ### About the Installer

> The ImageJ Windows installer is created using the Inno Setup installer generator.