[468880] eclipse-installer shows an unfriendly error when the Browser widget is not available

https://bugs.eclipse.org/bugs/show_bug.cgi?id=468880
diff --git a/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/SimpleVariablePage.java b/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/SimpleVariablePage.java
index faae890..cf94b7f 100644
--- a/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/SimpleVariablePage.java
+++ b/plugins/org.eclipse.oomph.setup.installer/src/org/eclipse/oomph/setup/internal/installer/SimpleVariablePage.java
@@ -849,18 +849,21 @@
     Installation installation = setupContext.getInstallation();
     final User user = setupContext.getUser();
 
-    UIUtil.syncExec(new Runnable()
+    if (UIUtil.isBrowserAvailable())
     {
-      public void run()
+      UIUtil.syncExec(new Runnable()
       {
-        EList<LicenseInfo> licenses = LicensePrePrompter.execute(getShell(), user);
-        if (licenses != null)
+        public void run()
         {
-          user.getAcceptedLicenses().addAll(licenses);
-          BaseUtil.saveEObject(user);
+          EList<LicenseInfo> licenses = LicensePrePrompter.execute(getShell(), user);
+          if (licenses != null)
+          {
+            user.getAcceptedLicenses().addAll(licenses);
+            BaseUtil.saveEObject(user);
+          }
         }
-      }
-    });
+      });
+    }
 
     UserAdjuster userAdjuster = new UserAdjuster();
     userAdjuster.adjust(user, installFolder);
diff --git a/plugins/org.eclipse.oomph.setup.ui/src/org/eclipse/oomph/setup/ui/wizards/ProgressPage.java b/plugins/org.eclipse.oomph.setup.ui/src/org/eclipse/oomph/setup/ui/wizards/ProgressPage.java
index 023d670..2a55d06 100644
--- a/plugins/org.eclipse.oomph.setup.ui/src/org/eclipse/oomph/setup/ui/wizards/ProgressPage.java
+++ b/plugins/org.eclipse.oomph.setup.ui/src/org/eclipse/oomph/setup/ui/wizards/ProgressPage.java
@@ -350,8 +350,8 @@
     }
     else
     {
-      launchButton = addCheckButton("Restart automatically if needed", "Restart the current product if the installation has been changed by setup tasks",
-          false, "restartIfNeeded");
+      launchButton = addCheckButton("Restart automatically if needed", "Restart the current product if the installation has been changed by setup tasks", false,
+          "restartIfNeeded");
     }
 
     launchAutomatically = launchButton.getSelection();
@@ -482,13 +482,16 @@
           }
         }
 
-        EList<LicenseInfo> licenses = LicensePrePrompter.execute(getShell(), performerUser);
-        if (licenses != null)
+        if (UIUtil.isBrowserAvailable())
         {
-          ResourceSet resourceSet = SetupCoreUtil.createResourceSet();
-          User user = SetupContext.createUserOnly(resourceSet).getUser();
-          user.getAcceptedLicenses().addAll(licenses);
-          BaseUtil.saveEObject(user);
+          EList<LicenseInfo> licenses = LicensePrePrompter.execute(getShell(), performerUser);
+          if (licenses != null)
+          {
+            ResourceSet resourceSet = SetupCoreUtil.createResourceSet();
+            User user = SetupContext.createUserOnly(resourceSet).getUser();
+            user.getAcceptedLicenses().addAll(licenses);
+            BaseUtil.saveEObject(user);
+          }
         }
       }
 
@@ -839,8 +842,7 @@
                     {
                       if (restart)
                       {
-                        setMessage(
-                            "Task execution has successfully completed but requires a restart.  Press Finish to restart now or Cancel to restart later.",
+                        setMessage("Task execution has successfully completed but requires a restart.  Press Finish to restart now or Cancel to restart later.",
                             IMessageProvider.WARNING);
                         setButtonState(IDialogConstants.CANCEL_ID, true);
 
@@ -855,8 +857,8 @@
                           setButtonState(IDialogConstants.CANCEL_ID, false);
                         }
 
-                        shell.setData(PROGRESS_STATUS, new Status(IStatus.OK, SetupEditPlugin.INSTANCE.getSymbolicName(),
-                            "Task execution has successfully completed"));
+                        shell.setData(PROGRESS_STATUS,
+                            new Status(IStatus.OK, SetupEditPlugin.INSTANCE.getSymbolicName(), "Task execution has successfully completed"));
                       }
                     }
                     else