mysql5/mysql-5.7.27/packaging/WiX/mysql_server_extra.wxs.in

167 lines
7.5 KiB
Plaintext

<Include xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<!--
Copyright (c) 2012, 2017, 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>