<?xml version='1.0' encoding='windows-1252'?>
<Wix
  xmlns='http://schemas.microsoft.com/wix/2006/wi'>

  <!-- Variables. -->
  <?define appName = "Google Web Toolkit Developer Plugin for IE" ?>
  <?define upgradeCode = "9a5e649a-ec63-4c7d-99bf-75adb345e7e5" ?>
  <?define updateRegKey = "SOFTWARE\Google\Update\Clients\{$(var.upgradeCode)}" ?>
  <?define gwtRegKey = "SOFTWARE\Google\Google Web Toolkit\Installer" ?>

  <!--
    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='$(var.appName)'
    Id='*'
    UpgradeCode='$(var.upgradeCode)'
    Language='1033'
    Codepage='1252'
    Version='$(var.version)'
    Manufacturer='Google'>

    <Package
      Id='*'
      Keywords='Installer'
      Description='$(var.appName) Installer'
      Manufacturer='Google'
      InstallPrivileges='limited'
      InstallerVersion='100'
      Languages='1033'
      Compressed='yes'
      SummaryCodepage='1252' />
    <Media
      Id='1'
      Cabinet='product.cab'
      EmbedCab='yes' />

    <!-- Suppress reboot prompts. -->
    <Property Id='REBOOT'>ReallySuppress</Property>

    <!-- Install for current user. -->
    <Property Id="ALLUSERS" Secure="yes" />

    <!-- Remove old version completely when upgrading.  -->
    <Upgrade
      Id='$(var.upgradeCode)'>
      <UpgradeVersion
        OnlyDetect='no'
        Property='PREVIOUSFOUND'
        Minimum='0.0.0.0'
        IncludeMinimum='yes'
        RemoveFeatures='all' />
    </Upgrade>
    <InstallExecuteSequence>
      <LaunchConditions
        After='AppSearch' />
      <RemoveExistingProducts
        After='InstallValidate' />
    </InstallExecuteSequence>

    <!-- Define the install directory. -->
    <Directory
      Id='TARGETDIR'
      Name='SourceDir'>
      <Directory
        Id='LocalAppDataFolder'
        Name='AppData'>
        <Directory
          Id='GoogleDir'
          Name='Google'>
          <Component Id="RemoveGoogleDir" Guid="*" DiskId="1">
            <CreateFolder/>
            <RemoveFolder Id="RemoveGoogleDirFolder" On="uninstall" />
            <RegistryKey Root="HKCU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
              <RegistryValue Name="RemoveGoogleDirFolder" Value="" Type="string" KeyPath="yes"/>
            </RegistryKey>
          </Component>
          <Directory
            Id='GoogleWebToolkitDir'
            Name='Google Web Toolkit'>
            <Component Id="RemoveGoogleWebToolkitDir" Guid="*" DiskId="1">
              <CreateFolder/>
              <RemoveFolder Id="RemoveGoogleWebToolkitDirFolder" On="uninstall" />
              <RegistryKey Root="HKCU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
                <RegistryValue Name="RemoveGoogleWebToolkitDirFolder" Value="" Type="string" KeyPath="yes"/>
              </RegistryKey>
            </Component>
            <Directory
              Id='DeveloperPluginDir'
              Name='Developer Plugin'>
              <Component Id="RemoveDeveloperPluginDir" Guid="*" DiskId="1">
                <CreateFolder/>
                <RemoveFolder Id="RemoveDeveloperPluginDirFolder" On="uninstall" />
                <RegistryKey Root="HKCU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
                  <RegistryValue Name="RemoveDeveloperPluginDirFolder" Value="" Type="string" KeyPath="yes"/>
                </RegistryKey>
              </Component>
              <Directory
                Id='INSTALLDIR'
                Name='IE'>
                <Component Id="RemoveInstallDir" Guid="*" DiskId="1">
                  <CreateFolder/>
                  <RemoveFolder Id="RemoveInstallerDirFolder" On="uninstall" />
                  <RegistryKey Root="HKCU" Key="$(var.gwtRegKey)" Action="createAndRemoveOnUninstall">
                    <RegistryValue Name="RemoveInstallerDirFolder" Value="" Type="string" KeyPath="yes"/>
                  </RegistryKey>
                </Component>
              </Directory>
            </Directory>
          </Directory>
        </Directory>
      </Directory>
    </Directory>

    <!-- Set some registry values. -->
    <Component
      Id='registryValues'
      Directory='INSTALLDIR'
      Guid='*'>
      <RegistryKey
        Root='HKCU'
        Action='createAndRemoveOnUninstall'
        Key='$(var.updateRegKey)'>
        <RegistryValue
          Name='pv'
          Value='$(var.version)'
          Type='string' />
        <RegistryValue
          Name='name'
          Value='$(var.appName)'
          Type='string' />
        <RegistryValue
          Name='lang'
          Value='en'
          Type='string' />
      </RegistryKey>
    </Component>

    <!-- Define the features to install. -->
    <Feature
      Id='CompleteFeature'
      Display='expand'
      Level='1'
      Absent='disallow'>
      <!--
        Loaded from oophm.wxs.xml, which is generated by the build
        script.
      -->
      <ComponentRef
        Id='RemoveGoogleDir' />
      <ComponentRef
        Id='RemoveGoogleWebToolkitDir' />
      <ComponentRef
        Id='RemoveDeveloperPluginDir' />
      <ComponentRef
        Id='RemoveInstallDir' />
      <ComponentGroupRef
        Id='oophmDll' />
      <ComponentRef
        Id='registryValues' />
    </Feature>

  </Product>
</Wix>
