<?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>