mirror of
https://github.com/MariaDB/server.git
synced 2025-02-01 03:21:53 +01:00
4af85875de
Cross-upgrades between GPL and commercial versions should be allowed by the MSI package even when both packages are the same version. Fixed by allowing upgrades to the same numeric version.
184 lines
6.9 KiB
Text
184 lines
6.9 KiB
Text
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
|
|
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
|
|
|
<!--
|
|
Copyright (c) 2010, 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
|
|
-->
|
|
|
|
<Product
|
|
Id="*"
|
|
UpgradeCode="49EB7A6A-1CEF-4A1E-9E89-B9A4993963E3"
|
|
Name="MySQL Server @MAJOR_VERSION@.@MINOR_VERSION@"
|
|
Version="@MAJOR_VERSION@.@MINOR_VERSION@.@PATCH_VERSION@"
|
|
Language="1033"
|
|
Manufacturer="@MANUFACTURER@">
|
|
|
|
<Package Id='*'
|
|
Keywords='Installer'
|
|
Description="MySQL Database Server"
|
|
Manufacturer='@MANUFACTURER@'
|
|
InstallerVersion='200'
|
|
Languages='1033'
|
|
Compressed='yes'
|
|
SummaryCodepage='1252'
|
|
Platform='@Platform@'
|
|
InstallScope="perMachine"/>
|
|
|
|
<Media Id='1' Cabinet='product.cab' EmbedCab='yes' />
|
|
|
|
<!-- Upgrade -->
|
|
<Upgrade Id="49EB7A6A-1CEF-4A1E-9E89-B9A4993963E3">
|
|
<UpgradeVersion
|
|
Minimum="@MAJOR_VERSION@.@MINOR_VERSION@.0"
|
|
IncludeMinimum="yes"
|
|
Maximum="@MAJOR_VERSION@.@MINOR_VERSION@.@PATCH_VERSION@"
|
|
IncludeMaximum="yes"
|
|
Property="OLDERVERSIONBEINGUPGRADED"
|
|
MigrateFeatures="yes"
|
|
/>
|
|
<UpgradeVersion
|
|
Minimum="@MAJOR_VERSION@.@MINOR_VERSION@.@PATCH_VERSION@"
|
|
IncludeMinimum="no"
|
|
OnlyDetect="yes"
|
|
Property="NEWERVERSIONDETECTED" />
|
|
</Upgrade>
|
|
<Condition Message="A later version of [ProductName] is already installed. Setup will now exit.">
|
|
NOT NEWERVERSIONDETECTED OR Installed
|
|
</Condition>
|
|
<InstallExecuteSequence>
|
|
<RemoveExistingProducts After="InstallInitialize"/>
|
|
</InstallExecuteSequence>
|
|
|
|
<!-- Save/restore install location -->
|
|
<CustomAction Id="SaveTargetDir" Property="ARPINSTALLLOCATION" Value="[INSTALLDIR]" />
|
|
<InstallExecuteSequence>
|
|
<Custom Action="SaveTargetDir" After="InstallValidate">
|
|
NOT
|
|
Installed
|
|
</Custom>
|
|
</InstallExecuteSequence>
|
|
<InstallUISequence>
|
|
<!-- App search is what does FindInstallLocation, and it is dependent on FindRelatedProducts -->
|
|
<AppSearch After="FindRelatedProducts"/>
|
|
</InstallUISequence>
|
|
|
|
<!-- Find previous installation -->
|
|
<Property Id="INSTALLDIR">
|
|
<RegistrySearch Id="FindInstallLocation"
|
|
Root="HKLM"
|
|
Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\[OLDERVERSIONBEINGUPGRADED]"
|
|
Name="InstallLocation"
|
|
Type="raw" />
|
|
</Property>
|
|
<Property Id="OLDERVERSION">
|
|
<RegistrySearch Id="FindOlderVersion"
|
|
Root="HKLM"
|
|
Key="Software\Microsoft\Windows\CurrentVersion\Uninstall\[OLDERVERSIONBEINGUPGRADED]"
|
|
Name="DisplayVersion"
|
|
Type="raw" />
|
|
</Property>
|
|
<Property Id="DATADIR">
|
|
<RegistrySearch Id="FindDataDir"
|
|
Root="HKLM"
|
|
Key="SOFTWARE\MySQL AB\[ProductName]"
|
|
Name="DataLocation"
|
|
Type="raw" />
|
|
</Property>
|
|
<Property Id="INSTALLDIR2">
|
|
<RegistrySearch Id="FindInstallLocation2"
|
|
Root="HKLM"
|
|
Key="SOFTWARE\MySQL AB\[ProductName]"
|
|
Name="Location"
|
|
Type="raw" />
|
|
</Property>
|
|
<CustomAction Id="SetInstallDir2" Property="INSTALLDIR" Value="[INSTALLDIR2]" />
|
|
<InstallUISequence>
|
|
<Custom Action="SetInstallDir2" After="AppSearch">INSTALLDIR2</Custom>
|
|
</InstallUISequence>
|
|
|
|
|
|
<!-- UI -->
|
|
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"></Property>
|
|
<UIRef Id="@CPACK_WIX_UI@" />
|
|
<UIRef Id="WixUI_ErrorProgressText" />
|
|
<WixVariable
|
|
Id="WixUIBannerBmp"
|
|
Value="@CMAKE_CURRENT_SOURCE_DIR@/AdminHeader.jpg" />
|
|
<WixVariable
|
|
Id="WixUIDialogBmp"
|
|
Value="@CMAKE_CURRENT_SOURCE_DIR@/AdminBackground.jpg" />
|
|
<Icon
|
|
Id="icon.ico"
|
|
SourceFile="@CMAKE_CURRENT_SOURCE_DIR@/MySQLServer.ico"/>
|
|
<Property
|
|
Id="ARPPRODUCTICON"
|
|
Value="icon.ico" />
|
|
|
|
<!-- License -->
|
|
<WixVariable
|
|
Id="WixUILicenseRtf"
|
|
Value="@COPYING_RTF@"/>
|
|
|
|
<!-- How to remove the service on uninstall -->
|
|
<Binary Id='wixca.dll' SourceFile='@WIXCA_LOCATION@' />
|
|
<CustomAction Id="UnregisterProperty" Property="UnregisterService" Value="[INSTALLDIR]" Return="check" />
|
|
<CustomAction Id="UnregisterPropertySilent" Property="UnregisterServiceSilently" Value="[INSTALLDIR]" Return="check" />
|
|
<CustomAction Id="UnregisterService"
|
|
BinaryKey="wixca.dll"
|
|
DllEntry="RemoveService"
|
|
Execute="deferred"
|
|
Impersonate="no"
|
|
Return="check" />
|
|
<CustomAction Id="UnregisterServiceSilently"
|
|
BinaryKey="wixca.dll"
|
|
DllEntry="RemoveServiceNoninteractive"
|
|
Execute="deferred"
|
|
Impersonate="no"
|
|
Return="check" />
|
|
<InstallExecuteSequence>
|
|
<Custom Action="UnregisterProperty" After="InstallInitialize">Installed And Not UPGRADINGPRODUCTCODE And REMOVE="ALL"</Custom>
|
|
<Custom Action="UnregisterPropertySilent" After="InstallInitialize">Installed And Not UPGRADINGPRODUCTCODE And REMOVE="ALL"</Custom>
|
|
<Custom Action="UnregisterService" After="UnregisterProperty">Installed And Not UPGRADINGPRODUCTCODE And REMOVE="ALL" And UILevel>4</Custom>
|
|
<Custom Action="UnregisterServiceSilently" After="UnregisterPropertySilent">Installed And Not UPGRADINGPRODUCTCODE And REMOVE="ALL" And UILevel<=4</Custom>
|
|
</InstallExecuteSequence>
|
|
|
|
<!-- Installation root-->
|
|
<Directory Id='TARGETDIR' Name='SourceDir'>
|
|
<Directory Id='@PlatformProgramFilesFolder@'>
|
|
<Directory Id='directory.MySQL' Name='MySQL'>
|
|
<Directory Id='INSTALLDIR' Name='MySQL Server @MAJOR_VERSION@.@MINOR_VERSION@'>
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
</Directory>
|
|
|
|
<!-- CPACK_WIX_FEATURES -->
|
|
@CPACK_WIX_FEATURES@
|
|
|
|
<!-- CPACK_WIX_DIRECTORIES -->
|
|
@CPACK_WIX_DIRECTORIES@
|
|
|
|
<!--CPACK_WIX_COMPONENTS-->
|
|
@CPACK_WIX_COMPONENTS@
|
|
|
|
<!--CPACK_WIX_COMPONENTS_GROUPS -->
|
|
@CPACK_WIX_COMPONENT_GROUPS@
|
|
|
|
<!--CPACK_WIX_INCLUDES -->
|
|
@CPACK_WIX_INCLUDES@
|
|
</Product>
|
|
|
|
</Wix>
|