Adding installer for OOPHM IE plugin.
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@6328 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/plugins/MissingBrowserPlugin.html b/plugins/MissingBrowserPlugin.html
index 433c374..a136e8e 100644
--- a/plugins/MissingBrowserPlugin.html
+++ b/plugins/MissingBrowserPlugin.html
@@ -1,60 +1,59 @@
-<html>
-<head>
-<title>Missing GWT Browser Plugin</title>
-<!-- TODO: add JS code to detect browser/platform and just show that link -->
-</head>
-<body>
-<h1>No GWT Browser Plugin Detected</h1>
-<!-- TODO: alter language for final naming decisions -->
-GWT Development Mode needs a browser plugin to operate. Please install the
-appropriate one for your browser.
-
-<ul>
- <li><b><font size="+1">Chrome</font></b>
- <br><font color="red"><b>Note: this is relatively untested, but appears to
- work.</b></font><br>
- If you are running the DevChannel version of Google Chrome on Windows x86
- (<a href="http://dev.chromium.org/getting-involved/dev-channel">instructions</a> for
- switching to DevChannel), you can install the
- <a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/npapi/prebuilt/gwtdmp.crx">GWT Chrome extension</a>.
- Note that performance is slower than the other
- browsers right now because the plugin runs in an isolated process, though
- we may be able to improve performance before the final release. Also, you
- may get a "plugin unresponsive" warning which is annoying but harmless.
- <p>
- <li><b><font size="+1">Firefox</font></b>
- <br>Install the appropriate Firefox plugin via the normal plugin install
- process.
- <ul>
- <li><a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff2.xpi">Version 1.5-2.0</a> (Mac PPC/x86, Linux x86/x86_64)
- <li><a
- href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff3.xpi">Version
- 3.0</a> (Win x86, Mac PPC/x86, Linux x86/x86_64)
- <br><i>note that some Linux
- distributions need a plugin built with alternate libraries which will be
- available soon</i>
- <!--
- <li><a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff3+.xpi">Version 3.0 alternate libraries</a> (try this if the one above doesn't work on Linux, known to be needed on Fedora Core 10))
- -->
- <li><a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff35.xpi">Version 3.5</a> (Win x86, Mac PPC/x86, Linux x86/x86_64)
- </ul>
- <br>
- <li><b><font size="+1">Safari 3/4 (Mac PPC/x86)</font></b>
- <ul>
- <li>Run the installer from this <a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/webkit/prebuilt/oophm.dmg">disk image</a>.
- <br><font color="red">Note that x86_64 is not yet supported, which means
- Safari on Snow Leopard is not yet supported.</font>
- </ul>
- <br>
- <li><b><font size="+1">Internet Explorer on Windows (32-bit IE)</font></b>
- <ul>
- <li>Download <a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/ie/prebuilt/oophm.dll">oophm.dll</a>
- to a safe location on local disk, then run regsvr32 oophm.dll and restart IE.
- </ul>
-</ul>
-
-<h2>Troubleshooting</h2>
-If you believe you have the plugin installed in your current browser (and
-profile, in the case of Firefox), see the <a href="http://code.google.com/p/google-web-toolkit/wiki/TroubleshootingOOPHM">TroubleshootingOOPHM</a> wiki page.
-</body>
-</html>
+<html>
+<head>
+<title>Missing GWT Browser Plugin</title>
+<!-- TODO: add JS code to detect browser/platform and just show that link -->
+</head>
+<body>
+<h1>No GWT Browser Plugin Detected</h1>
+<!-- TODO: alter language for final naming decisions -->
+GWT Development Mode needs a browser plugin to operate. Please install the
+appropriate one for your browser.
+
+<ul>
+ <li><b><font size="+1">Chrome</font></b>
+ <br><font color="red"><b>Note: this is relatively untested, but appears to
+ work.</b></font><br>
+ If you are running the DevChannel version of Google Chrome on Windows x86
+ (<a href="http://dev.chromium.org/getting-involved/dev-channel">instructions</a> for
+ switching to DevChannel), you can install the
+ <a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/npapi/prebuilt/gwtdmp.crx">GWT Chrome extension</a>.
+ Note that performance is slower than the other
+ browsers right now because the plugin runs in an isolated process, though
+ we may be able to improve performance before the final release. Also, you
+ may get a "plugin unresponsive" warning which is annoying but harmless.
+ <p>
+ <li><b><font size="+1">Firefox</font></b>
+ <br>Install the appropriate Firefox plugin via the normal plugin install
+ process.
+ <ul>
+ <li><a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff2.xpi">Version 1.5-2.0</a> (Mac PPC/x86, Linux x86/x86_64)
+ <li><a
+ href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff3.xpi">Version
+ 3.0</a> (Win x86, Mac PPC/x86, Linux x86/x86_64)
+ <br><i>note that some Linux
+ distributions need a plugin built with alternate libraries which will be
+ available soon</i>
+ <!--
+ <li><a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff3+.xpi">Version 3.0 alternate libraries</a> (try this if the one above doesn't work on Linux, known to be needed on Fedora Core 10))
+ -->
+ <li><a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/xpcom/prebuilt/gwt-dmp-ff35.xpi">Version 3.5</a> (Win x86, Mac PPC/x86, Linux x86/x86_64)
+ </ul>
+ <br>
+ <li><b><font size="+1">Safari 3/4 (Mac PPC/x86)</font></b>
+ <ul>
+ <li>Run the installer from this <a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/webkit/prebuilt/oophm.dmg">disk image</a>.
+ <br><font color="red">Note that x86_64 is not yet supported, which means
+ Safari on Snow Leopard is not yet supported.</font>
+ </ul>
+ <br>
+ <li><b><font size="+1">Internet Explorer on Windows (32-bit IE)</font></b>
+ <ul>
+ <li>Download and run the "<a href="http://google-web-toolkit.googlecode.com/svn/trunk/plugins/ie/installer/GwtDevModeIePluginInstaller.msi">GWT Dev Mode Plugin for IE</a>" installer.
+ </ul>
+</ul>
+
+<h2>Troubleshooting</h2>
+If you believe you have the plugin installed in your current browser (and
+profile, in the case of Firefox), see the <a href="http://code.google.com/p/google-web-toolkit/wiki/TroubleshootingOOPHM">TroubleshootingOOPHM</a> wiki page.
+</body>
+</html>
diff --git a/plugins/ie/installer/COPYING.rtf b/plugins/ie/installer/COPYING.rtf
new file mode 100644
index 0000000..fb850bc
--- /dev/null
+++ b/plugins/ie/installer/COPYING.rtf
Binary files differ
diff --git a/plugins/ie/installer/GwtBanner.bmp b/plugins/ie/installer/GwtBanner.bmp
new file mode 100644
index 0000000..5e85ba2
--- /dev/null
+++ b/plugins/ie/installer/GwtBanner.bmp
Binary files differ
diff --git a/plugins/ie/installer/GwtDevModeIePluginInstaller.msi b/plugins/ie/installer/GwtDevModeIePluginInstaller.msi
new file mode 100644
index 0000000..eac8e49
--- /dev/null
+++ b/plugins/ie/installer/GwtDevModeIePluginInstaller.msi
Binary files differ
diff --git a/plugins/ie/installer/GwtDialog.bmp b/plugins/ie/installer/GwtDialog.bmp
new file mode 100644
index 0000000..e60c1df
--- /dev/null
+++ b/plugins/ie/installer/GwtDialog.bmp
Binary files differ
diff --git a/plugins/ie/installer/README.txt b/plugins/ie/installer/README.txt
new file mode 100644
index 0000000..075533a
--- /dev/null
+++ b/plugins/ie/installer/README.txt
@@ -0,0 +1,19 @@
+This directory contains the source code for the Windows installer. A new installer should
+be built using the build script every time oophm.dll is replaced.
+
+The build script will only work on a Windows system with WIX installed:
+http://wix.sourceforge.net/
+
+
+Files contained in this directory:
+installer.wxs.xml - the WIX script used to generate the installer
+
+GwtDevModeIePluginInstaller.msi - the windows installer, which is replaced when the build script is executed
+
+GwtDialog.bmp - the image displayed on the first page of the installer
+
+GwtBanner.bmp - the image displayed at the top of every page other than the first in the installer
+
+COPYING.rtf - Our license agreement in RTF format
+
+build.xml - the ant build script
\ No newline at end of file
diff --git a/plugins/ie/installer/build.xml b/plugins/ie/installer/build.xml
new file mode 100644
index 0000000..8cd2220
--- /dev/null
+++ b/plugins/ie/installer/build.xml
@@ -0,0 +1,48 @@
+<!--
+ Build file for the Windows IE Plugin installer. This build should only be
+ run on a Windows system with WIX installed. You can download WIX at:
+ http://wix.sourceforge.net/
+-->
+<project name="ieInstaller" default="build" basedir=".">
+ <property name="gwt.root" location="../../../" />
+ <property name="project.tail" value="plugins/ie/installer" />
+ <import file="../../../common.ant.xml" />
+
+ <property name="wix.bin" location="C:/Program Files/Windows Installer XML v3/bin" />
+ <property name="wix.log" location="${project.build}/wix.log" />
+ <property name="gwt.oophmIeInstallerName" value="GwtDevModeIePluginInstaller.msi" />
+
+ <target name="build" description="Build the installer">
+ <mkdir dir="${project.build}" />
+
+ <echo message="Preparing WIX script for oophm.dll" />
+ <exec executable="${wix.bin}/heat.exe" failonerror="yes" output="${wix.log}">
+ <arg line="file ..\prebuilt\oophm.dll" />
+ <arg line="-out ${project.build}/oophm.wxs.xml" />
+ <arg line="-ag -g1" />
+ <arg line="-dr INSTALLDIR" />
+ <arg line="-cg oophmDll" />
+ <arg line="-var var.PluginIeDir" />
+ </exec>
+
+ <echo message="Compiling WIX scripts" />
+ <exec executable="${wix.bin}/candle.exe" failonerror="yes" output="${wix.log}" append="true">
+ <arg line="-out ${project.build}/" />
+ <arg line="-dPluginIeDir=..\\" />
+ <arg line="${project.build}/oophm.wxs.xml" />
+ <arg line="installer.wxs.xml" />
+ </exec>
+
+ <echo message="Generating Windows Installer" />
+ <exec executable="${wix.bin}/light.exe" failonerror="yes" output="${wix.log}" append="true">
+ <arg line="-o ${project.build}/${gwt.oophmIeInstallerName}" />
+ <arg line="-ext WixUIExtension" />
+ <arg line="${project.build}/oophm.wxs.wixobj" />
+ <arg line="${project.build}/installer.wxs.wixobj" />
+ </exec>
+
+ <echo message="Copying Windows Installer to installer directory" />
+ <copy file="${project.build}/${gwt.oophmIeInstallerName}" tofile="${gwt.oophmIeInstallerName}" />
+ </target>
+
+</project>
diff --git a/plugins/ie/installer/installer.wxs.xml b/plugins/ie/installer/installer.wxs.xml
new file mode 100644
index 0000000..54c9518
--- /dev/null
+++ b/plugins/ie/installer/installer.wxs.xml
@@ -0,0 +1,163 @@
+<?xml version='1.0' encoding='windows-1252'?>
+<Wix
+ xmlns='http://schemas.microsoft.com/wix/2006/wi'>
+
+ <!--
+ The main product to install. We generate a new GUID (*) on each
+ compile to ensure that windows installer completely removes the old
+ version and reinstalls the new version without complaining.
+ -->
+ <Product
+ Name='GWT Development Mode Plugin for IE'
+ Id='*'
+ UpgradeCode='9a5e649a-ec63-4c7d-99bf-75adb345e7e5'
+ Language='1033'
+ Codepage='1252'
+ Version='1.0.0'
+ Manufacturer='Google'>
+
+ <Package
+ Id='*'
+ Keywords='Installer'
+ Description='GWT Development Mode Plugin for IE Installer '
+ Manufacturer='Google'
+ InstallerVersion='100'
+ Languages='1033'
+ Compressed='yes'
+ SummaryCodepage='1252' />
+ <Media
+ Id='1'
+ Cabinet='product.cab'
+ EmbedCab='yes' />
+
+ <!-- Remove old version completely when upgrading. -->
+ <Upgrade
+ Id='9a5e649a-ec63-4c7d-99bf-75adb345e7e5'>
+ <UpgradeVersion
+ OnlyDetect='no'
+ Property='PREVIOUSFOUND'
+ Minimum='0.0.0'
+ IncludeMinimum='yes'
+ RemoveFeatures='all' />
+ </Upgrade>
+ <InstallExecuteSequence>
+ <LaunchConditions
+ After='AppSearch' />
+ <RemoveExistingProducts
+ After='InstallValidate' />
+ </InstallExecuteSequence>
+
+ <!-- Default to the old install directory if upgrading. -->
+ <Property
+ Id="INSTALLDIR">
+ <RegistrySearch
+ Id='OldInstallDirSarch'
+ Type='raw'
+ Root='HKLM'
+ Key='Software\Google\GwtDevModePluginIE\InstallDir' />
+ </Property>
+
+ <!-- Define the install directory. -->
+ <Directory
+ Id='TARGETDIR'
+ Name='SourceDir'>
+ <Directory
+ Id='ProgramFilesFolder'
+ Name='PFiles'>
+ <Directory
+ Id='Google'
+ Name='Google'>
+ <!-- INSTALLDIR is configurable by the user. -->
+ <Directory
+ Id='INSTALLDIR'
+ Name='GWT Dev Mode Plugin for IE' />
+ </Directory>
+ </Directory>
+ </Directory>
+
+ <!-- Add an uninstall shortcut to the install directory. -->
+ <DirectoryRef
+ Id="INSTALLDIR">
+ <Component
+ Id='uninstaller'
+ Guid='*'>
+ <!--
+ Save the install directory to the registry so we can reuse it
+ on upgrades.
+ -->
+ <RegistryKey
+ Root='HKLM'
+ Action='createAndRemoveOnUninstall'
+ Key='Software\Google\GwtDevModePluginIE\InstallDir'>
+ <RegistryValue
+ Value='[INSTALLDIR]'
+ Type='string' />
+ </RegistryKey>
+ <Shortcut
+ Id='UninstallShortcut'
+ Name='Uninstall GWT Plugin for IE'
+ Target='[System64Folder]msiexec.exe'
+ Arguments='/x [ProductCode]'
+ Description='Uninstalls GWT Development Mode Plugin for IE'
+ WorkingDirectory='SystemDir'
+ Directory='INSTALLDIR' />
+
+ <!-- Remove the shortcut and installation folder on uninstall. -->
+ <RemoveFile
+ Id='RemoveUninstallShortcut'
+ Name='Uninstall GWT Plugin for IE'
+ On='uninstall' />
+ <RemoveFolder
+ Id='RemoveInstallFolder'
+ On='uninstall' />
+ </Component>
+ </DirectoryRef>
+
+ <!-- Define the features to install. -->
+ <Feature
+ Id='CompleteFeature'
+ Title='IE Plugin'
+ Description='GWT Development Mode Plugin for IE.'
+ Display='expand'
+ Level='1'
+ Absent='disallow'>
+ <!--
+ Loaded from oophm.wxs.xml, which is generated by the build
+ script.
+ -->
+ <ComponentGroupRef
+ Id='oophmDll' />
+ <ComponentRef
+ Id='uninstaller' />
+ </Feature>
+
+ <!--
+ Setup the installation UI. WixUI_InstallDir is a simple UI that
+ let's the user choose the installation directory. WIXUI_INSTALLDIR
+ defines the property that contains the install directory.
+ -->
+ <Property
+ Id='WIXUI_INSTALLDIR'
+ Value='INSTALLDIR' />
+ <UIRef
+ Id='WixUI_InstallDir' />
+ <UIRef
+ Id='WixUI_ErrorProgressText' />
+
+ <!-- The license agreement in RTF format. -->
+ <WixVariable
+ Id='WixUILicenseRtf'
+ Value='COPYING.rtf' />
+
+ <!-- The image shown at the top of all pages but the first. -->
+ <WixVariable
+ Id='WixUIBannerBmp'
+ Value='GwtBanner.bmp' />
+
+ <!-- The image shown on the first page. -->
+ <WixVariable
+ Id='WixUIDialogBmp'
+ Value='GwtDialog.bmp' />
+
+ </Product>
+</Wix>
\ No newline at end of file