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