diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/OverviewPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/OverviewPage.java
index c8b98b4..4054b22 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/OverviewPage.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/editor/product/OverviewPage.java
@@ -1,5 +1,5 @@
 /*******************************************************************************
- * Copyright (c) 2005, 2009 IBM Corporation and others.
+ * Copyright (c) 2005, 2015 IBM Corporation and others.
  * All rights reserved. This program and the accompanying materials
  * are made available under the terms of the Eclipse Public License v1.0
  * which accompanies this distribution, and is available at
@@ -11,10 +11,15 @@
  *******************************************************************************/
 package org.eclipse.pde.internal.ui.editor.product;
 
+import java.net.MalformedURLException;
+import java.net.URL;
 import org.eclipse.pde.internal.ui.*;
 import org.eclipse.pde.internal.ui.editor.*;
 import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.PartInitException;
 import org.eclipse.ui.PlatformUI;
+import org.eclipse.ui.browser.IWebBrowser;
+import org.eclipse.ui.browser.IWorkbenchBrowserSupport;
 import org.eclipse.ui.forms.IManagedForm;
 import org.eclipse.ui.forms.events.HyperlinkEvent;
 import org.eclipse.ui.forms.widgets.*;
@@ -89,10 +94,32 @@
 		} else if (href.equals("configuration")) { //$NON-NLS-1$
 			String pageId = ((ProductLauncherFormPageHelper) getLauncherHelper()).getProduct().useFeatures() ? DependenciesPage.FEATURE_ID : DependenciesPage.PLUGIN_ID;
 			getEditor().setActivePage(pageId);
+		} else if (href.equals("multi-platform-wiki")) { //$NON-NLS-1$
+			openBrowser("https://wiki.eclipse.org/Building#Cross-platform_build"); //$NON-NLS-1$
 		} else
 			super.linkActivated(e);
 	}
 
+	private static void openBrowser(String url) {
+		// Create the browser
+		IWorkbenchBrowserSupport support = PlatformUI.getWorkbench().getBrowserSupport();
+		IWebBrowser browser;
+		try {
+			browser = support.createBrowser(null);
+		} catch (PartInitException e) {
+			PDEPlugin.log(e);
+			return;
+		}
+
+		try {
+			browser.openURL(new URL(url));
+		} catch (PartInitException e) {
+			PDEPlugin.log(e);
+		} catch (MalformedURLException e) {
+			PDEPlugin.log(e);
+		}
+	}
+
 	protected ILauncherFormPageHelper getLauncherHelper() {
 		if (fLauncherHelper == null)
 			fLauncherHelper = new ProductLauncherFormPageHelper(getPDELauncherEditor());
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties
index ea54b8d..0531213 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties
@@ -1972,9 +1972,7 @@
 ProductFileWizadPage_basic=&Create a configuration file with basic settings
 Product_overview_exporting = <form>\
 <p>Use the <a href="action.export">Eclipse Product export wizard</a> to package and export the product defined in this configuration.</p><p></p>\
-<p>To export the product to multiple platforms:</p>\
-<li style="text" value="1." bindent="5">Install the RCP delta pack in the target platform.</li>\
-<li style="text" value="2." bindent="5">List all the required fragments on the <a href="configuration">Dependencies</a> page.</li>\
+<p>To export the product to multiple platforms see the <a href="multi-platform-wiki">Cross Platform Wiki Page</a>.</p>\
 </form>
 GeneralInfoSection_desc=This section describes general information about the product.
 ProductInfoSection_desc=This section describes the launching product extension identifier and application.
