Index: AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 631)
+++ AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties	(revision 632)
@@ -1,2 +1,2 @@
 appname=AE Installer 2
-appversion=0.90
+appversion=0.91
Index: AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 631)
+++ AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.java	(revision 632)
@@ -3,4 +3,5 @@
 import java.awt.BorderLayout;
 import java.awt.Desktop;
+import java.awt.GridLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ItemEvent;
@@ -203,30 +204,45 @@
 						.getUpdatableTools();
 				int size = 0;
-				String strMods = "";
-				for (Mod m : mods) {
+				JPanel panPackages = new JPanel(new GridLayout(0, 1));
+				execUpdates = new TreeSet<Mod>();
+				execUpdates.addAll(mods);
+				execUpdates.addAll(tools);
+				for (final Mod m : mods) {
 					size += m.getZipSize();
-					if (strMods.length() > 0)
-						strMods += "<br>";
-					strMods += " - " + m.getName();
-				}
-				String strTools = "";
-				for (Mod m : tools) {
+					JCheckBox check = new JCheckBox("Mod: " + m.getName());
+					check.setSelected(true);
+					check.addItemListener(new ItemListener() {
+						@Override
+						public void itemStateChanged(ItemEvent e) {
+							if (e.getStateChange() == ItemEvent.SELECTED)
+								execUpdates.add(m);
+							else
+								execUpdates.remove(m);
+						}
+					});
+					panPackages.add(check);
+				}
+				for (final Mod m : tools) {
 					size += m.getZipSize();
-					if (strTools.length() > 0)
-						strTools += "<br>";
-					strTools += " - " + m.getName();
+					JCheckBox check = new JCheckBox("Tool: " + m.getName());
+					check.setSelected(true);
+					panPackages.add(check);
 				}
 				if (size > 0) {
 					// Build info dialog content
-					String message = "<html>";
-					message += String.format(
-							bundle.getString("updatesAvailable.text"), strMods,
-							strTools, SizeFormatter.format(size, 3));
-					message += "</html>";
-
-					JPanel pan = new JPanel();
-					pan.setLayout(new BorderLayout(0, 20));
-					JLabel lab = new JLabel(message);
-					pan.add(lab, BorderLayout.CENTER);
+					JPanel packages = new JPanel(new BorderLayout(0, 7));
+					JLabel lblIntro = new JLabel("<html>"
+							+ bundle.getString("updatesAvailable.text")
+							+ "</html>");
+					JLabel lblSize = new JLabel("<html>"
+							+ String.format(bundle
+									.getString("updatesAvailableSize.text"),
+									SizeFormatter.format(size, 3)) + "</html>");
+					packages.add(lblIntro, BorderLayout.NORTH);
+					packages.add(panPackages, BorderLayout.CENTER);
+					packages.add(lblSize, BorderLayout.SOUTH);
+
+					JPanel pan = new JPanel(new BorderLayout(0, 25));
+					pan.add(packages, BorderLayout.CENTER);
 					JCheckBox checkFutureUpdates = new JCheckBox(
 							bundle.getString("checkOnStartup.text"));
@@ -247,8 +263,6 @@
 							JOptionPane.YES_NO_OPTION,
 							JOptionPane.QUESTION_MESSAGE);
-					if (res == JOptionPane.YES_OPTION) {
-						execUpdates = new TreeSet<Mod>();
-						execUpdates.addAll(mods);
-						execUpdates.addAll(tools);
+					if (res == JOptionPane.NO_OPTION) {
+						execUpdates = null;
 					}
 				}
@@ -259,5 +273,5 @@
 	@SuppressWarnings("unused")
 	private void doUpdate() {
-		if (execUpdates != null) {
+		if (execUpdates != null && execUpdates.size() > 0) {
 			Downloader dl = new Downloader(execUpdates);
 			try {
Index: AE/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties
===================================================================
--- AE/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties	(revision 631)
+++ AE/installer2/src/net/oni2/aeinstaller/localization/MainWin.properties	(revision 632)
@@ -58,5 +58,6 @@
 offlineMode.text=AEI is running in offline mode.\nNo updates or downloads of new mods are possible.\nPlease restart AEI when you have internet connection to update or download new packages.
 updatesAvailable.title=Updates available
-updatesAvailable.text=The following mods and tools have newer versions on the Depot.<br>Mods:<br>%s<br>Tools:<br>%s<br><br>Size of files to download is %s.<br>Update now?
+updatesAvailable.text=The following mods and tools have newer versions on the Depot.<br>Check the packages you want to be updated.
+updatesAvailableSize.text=Size of files to download is %s.<br>Update now?
 checkOnStartup.text=Check for updates at startup
 
