<Include xmlns="http://schemas.microsoft.com/wix/2006/wi"
         xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">

<!--
   Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
   
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; version 2 of the License.
   
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
   
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-->
    <!-- Include shortcuts -->
    <DirectoryRef Id='INSTALLDIR'>
    <Directory Id="DesktopFolder"/>
    <Directory Id="ProgramMenuFolder">
      <Directory Id="MysqlProgramMenuFolder" Name="MySQL">
        <Directory Id="MysqlProductMenuFolder" Name="MySQL Server @MAJOR_VERSION@.@MINOR_VERSION@">
          <Component Id="MysqlProductMenuFolder" Guid="*" @WixWin64@>
            <!-- Include a shortcut to the mysql command line client -->
            <Shortcut Id="MysqlCommandLineShellShortcut"
                      Name="MySQL @MAJOR_VERSION@.@MINOR_VERSION@ Command Line Client"
                      Description="The MySQL Command Line Shell"
                      Icon="Icon.MysqlCmdShell"
                      Target="[D.bin]mysql.exe"
                      Arguments='"--defaults-file=[INSTALLDIR]my.ini" "-uroot" "-p"'
                      WorkingDirectory="D.bin"/>
            <?if "@MAJOR_VERSION@.@MINOR_VERSION@" != "5.5" ?>
            <!-- Include another shortcut to the mysql command line client with a different name -->
              <Shortcut Id="MysqlCommandLineShellShortcutUnicode"
                      Name="MySQL @MAJOR_VERSION@.@MINOR_VERSION@ Command Line Client - Unicode"
                      Description="The MySQL Command Line Shell in UTF8 Mode"
                      Icon="Icon.MysqlCmdShell"
                      Target="[D.bin]mysql.exe"
                      Arguments='"--defaults-file=[INSTALLDIR]my.ini" "-uroot" "-p" "--default-character-set=utf8"'
                      WorkingDirectory="D.bin"/>
            <!-- Write Console settings for applications with this name to the registry -->
              <RegistryKey Root="HKCU" 
                           Key="Console\MySQL @MAJOR_VERSION@.@MINOR_VERSION@ Command Line Client - Unicode"
                           Action="createAndRemoveOnUninstall">
                <RegistryValue Type="string" Name="FaceName" Value="Lucida Console"/>
                <RegistryValue Type="integer" Name="FontWeight" Value="400"/>
              </RegistryKey>
            <?endif ?>
            <!-- Make sure this gets deleted on uninstall -->
            <RemoveFolder Id="MysqlProductMenuFolder" Directory="MysqlProductMenuFolder" On="uninstall"/>
            <RemoveFolder Id="MysqlProgramMenuFolder" Directory="MysqlProgramMenuFolder" On="uninstall"/>
            <RegistryValue Root="HKCU" Key="Software\MySQL AB\MySQL Server @MAJOR_VERSION@.@MINOR_VERSION@" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
          </Component>
        </Directory>
      </Directory>
    </Directory>
    </DirectoryRef>
    <Feature Id="ProgramMenu" Level="1" Display="hidden" ConfigurableDirectory="INSTALLDIR">
    <ComponentRef Id="MysqlProductMenuFolder"/>
    </Feature>    
      
    <!-- Registry -->
    <!-- We still use "MySQL AB" because we don't want to break software that expects it -->
    <DirectoryRef Id='TARGETDIR'>
    <Component Id="RegKeys" Guid="*">
      <RegistryKey
        Id='MySQLKey'
        Root='HKLM'
        Key='SOFTWARE\MySQL AB\[ProductName]'
        Action='createAndRemoveOnUninstall'>
        <RegistryValue
          Type='string'
          Name='Location'
          Value='[INSTALLDIR]'/>
        <RegistryValue
          Type="string"
          Name="Version"
          Value="[ProductVersion]"/>
        <RegistryValue
          Type="string"
          Name="DataLocation"
          Value="[DATADIR]"/>
      </RegistryKey>
    </Component>
    </DirectoryRef>
    <Feature
    Id='RegKeys'
    Display='hidden'
    Level='1'>
    <ComponentRef Id='RegKeys'/>
    </Feature>

    <!-- Datafiles that installation will copy to CommonAppData (initial database)
    They are declared Permanent and NeverOverwrite since it is user data -->
    <DirectoryRef Id='TARGETDIR'>
    <Directory Id="CommonAppDataFolder">
      <Directory Id="datadir.mysql" Name="MySQL">
        <Directory Id="datadir.mysql.mysqlserver"
          Name="MySQL Server @MAJOR_VERSION@.@MINOR_VERSION@">
          <Directory Id="DATADIR" Name=".">
            <Component Id="component.datadir" Guid="d3491319-5dbc-4477-95f3-4f809ef1dd2d">
              <CreateFolder>
                <util:PermissionEx User="[LogonUser]" GenericAll="yes" />
              </CreateFolder>
            </Component>
            <Directory Id="datadir.mysql.mysqlserver.data" Name="data">
              <Component Id="component.datadir.data"
                Guid="1d9a385d-6edf-4fb7-8652-35973c399d0c"
                Permanent="yes" NeverOverwrite="yes">
                <CreateFolder>
                  <util:PermissionEx User="[LogonUser]" GenericAll="yes" />
                </CreateFolder>
                @DATADIR_FILES@
              </Component>                  
              <Directory Id="datadir.mysql.mysqlserver.data.mysql" Name="mysql">
                <Component Id="component.datadir.mysql"
                  Guid="19ec0f1f-1a7f-424e-a788-b09346c0a709"
                  Permanent="yes" NeverOverwrite="yes">
                  <CreateFolder>
                    <util:PermissionEx User="[LogonUser]" GenericAll="yes" />
                  </CreateFolder>
                  @DATADIR_MYSQL_FILES@
                </Component>
              </Directory>
              <Directory Id="datadir.mysql.mysqlserver.data.performance_schema"
                 Name="performance_schema">
                <Component Id="component.datadir.performance_schema"
                  Guid="af2a6776-2655-431f-a748-9e9f4645acc3"
                  Permanent="yes" NeverOverwrite="yes">
                  <CreateFolder>
                    <util:PermissionEx User="[LogonUser]" GenericAll="yes" />
                  </CreateFolder>
                  @DATADIR_PERFORMANCE_SCHEMA_FILES@
                </Component>
              </Directory>
              <Directory Id="datadir.mysql.mysqlserver.data.test" Name="test">
                <Component Id="component.datadir.test" Guid="52fa9f0a-fcd1-420a-b2ac-95a8f70ad20a">
                  <CreateFolder/>
                </Component>
              </Directory>
            </Directory>
          </Directory>
        </Directory>
      </Directory>
    </Directory>
    </DirectoryRef>

    <Feature Id='UserEditableDataFiles' 
       Title='Server data files'
       Description='Server data files'
       ConfigurableDirectory='DATADIR'
       Level='1'>
    <ComponentRef Id="component.datadir"/>
    <ComponentRef Id="component.datadir.data"/>
    <ComponentRef Id="component.datadir.mysql"/>
    <ComponentRef Id="component.datadir.performance_schema"/>
    <ComponentRef Id="component.datadir.test"/>
    </Feature>

</Include>



