mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 03:52:35 +01:00
839 lines
44 KiB
XML
839 lines
44 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
|
|
<Fragment>
|
|
<!--
|
|
Check, if upgrade wizard was built
|
|
It currently requires MFC, which is not in SDK
|
|
neither in express edítions of VS.
|
|
-->
|
|
<?ifndef HaveUpgradeWizard ?>
|
|
<?define HaveUpgradeWizard="1"?>
|
|
<?endif?>
|
|
|
|
<!-- If Innodb is compiled in, enable "optimize for transactions" checkbox -->
|
|
<?ifndef HaveInnodb ?>
|
|
<?define HaveInnodb="1"?>
|
|
<?endif?>
|
|
|
|
<Property Id="PortTemplate" Value="#####" />
|
|
<?if $(var.HaveInnodb) = "1" ?>
|
|
<Property Id="BufferPoolSizeTemplate" Value="#######" />
|
|
<?endif?>
|
|
<!--
|
|
Installation parameters that can be passed via msiexec command line
|
|
For "booleans" (like skip networking), just providing any value means property set to "yes".
|
|
-->
|
|
<!-- instalation directory (default under program files)-->
|
|
<!--- (defined elsewhere) <Property Id="INSTALLDIR" Secure="yes" /> -->
|
|
|
|
<!-- Database data directory (default under INSTALLDIR\data) -->
|
|
<!--- (defined elsewhere) <Property Id="DATADIR" Secure="yes"/> -->
|
|
|
|
<!-- Service name of database instanced (default MySQL in GUI, nothing with command line) -->
|
|
<!-- (defined elsewhere) <Property Id="SERVICENAME" Secure="yes" /> -->
|
|
|
|
<!-- Root password -->
|
|
<Property Id="PASSWORD" Hidden="yes" Secure="yes" />
|
|
<Property Id="ESCAPEDPASSWORD" Hidden="yes" Secure="yes" />
|
|
<!-- Database port -->
|
|
<Property Id="PORT" Value="3306" Secure="yes"/>
|
|
<!-- Whether to allow remote access for root user -->
|
|
<Property Id="ALLOWREMOTEROOTACCESS" Secure="yes" />
|
|
<!-- Skip networking. This will switch configuration to use named pipe-->
|
|
<Property Id="SKIPNETWORKING" Secure="yes"/>
|
|
<!-- Whether to keep default (unauthenticated) user. Default is no-->
|
|
<Property Id="DEFAULTUSER" Secure="yes"/>
|
|
<!-- Set server character set to UTF8 -->
|
|
<Property Id="UTF8" Secure="yes"/>
|
|
<!-- Whether to data on uninstall (default yes, after asking user consent) -->
|
|
<Property Id="CLEANUPDATA" Secure="yes" Value="1"/>
|
|
<!-- Force per machine installation -->
|
|
<Property Id="ALLUSERS" Secure="yes" Value="1"/>
|
|
<!-- Disable advertised shortcuts weirdness -->
|
|
<Property Id="DISABLEADVTSHORTCUTS" Secure="yes" Value="1"/>
|
|
|
|
<!-- Quick configuration : set default storage engine to innodb, use strict sql_mode -->
|
|
<Property Id="STDCONFIG" Secure="yes" Value="1"/>
|
|
|
|
<!-- Innodb Buffer pool size in MB-->
|
|
<Property Id="BUFFERPOOLSIZE" Secure="yes"/>
|
|
<!-- Innodb page size -->
|
|
<Property Id="PAGESIZE" Secure="yes" Value="16K"/>
|
|
|
|
<CustomAction Id="LaunchUrl" BinaryKey="WixCA" DllEntry="WixShellExec" Execute="immediate" Return="check" Impersonate="yes" />
|
|
|
|
|
|
|
|
<!--
|
|
User interface dialogs
|
|
-->
|
|
<WixVariable Id='WixUIBannerBmp' Value='@SRCDIR@\WixUIBannerBmp.jpg' />
|
|
<WixVariable Id='WixUIDialogBmp' Value='@SRCDIR@\WixUIDialogBmp.jpg' />
|
|
<UI>
|
|
|
|
<!-- Dialog on uninstall of the database -->
|
|
<Dialog Id="ConfirmDataCleanupDlg" Width="370" Height="270" Title="[ProductName] Setup" NoMinimize="yes">
|
|
|
|
<!--<Control Id="CleanupDataCheckBox" Type="CheckBox" X="20" Y="100" Height="30" Property="CLEANUPDATA" Width="300" CheckBoxValue="1"
|
|
Text="{\Font1}Remove default database directory 
'[DATADIR]'"/>
|
|
-->
|
|
<Control Id="RemoveDatadirButton" Type="PushButton" X="40" Y="65" Width="80" Height="18"
|
|
Text="Remove data">
|
|
<Publish Property="CLEANUPDATA" Value="1">1</Publish>
|
|
<Publish Event="NewDialog" Value="VerifyReadyDlg">WixUI_InstallMode</Publish>
|
|
<Publish Event="EndDialog" Value="Return">NOT WixUI_InstallMode</Publish>
|
|
|
|
</Control>
|
|
<Control Id="RemoveDatadirText" Type="Text" X="60" Y="85" Width="280" Height="30">
|
|
<Text>Remove [DATADIR]. Ensures proper cleanup on uninstall.</Text>
|
|
</Control>
|
|
|
|
<Control Id="KeepDatadirButton" Type="PushButton" X="40" Y="128" Width="80" Height="18"
|
|
Text="Keep data">
|
|
<Publish Property="CLEANUPDATA">1</Publish>
|
|
<Publish Event="NewDialog" Value="VerifyReadyDlg">WixUI_InstallMode</Publish>
|
|
<Publish Event="EndDialog" Value="Return">NOT WixUI_InstallMode</Publish>
|
|
</Control>
|
|
<Control Id="KeepDataDirText" Type="Text" X="60" Y="148" Width="280" Height="70" >
|
|
<Text>Do not remove [DATADIR]. Choose this option if you intend to use data in the future</Text>
|
|
</Control>
|
|
|
|
|
|
<!-- Navigation buttons-->
|
|
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="&Back">
|
|
<Publish Event="NewDialog" Value="CustomizeDlg">WixUI_InstallMode="Change"</Publish>
|
|
<Condition Action="disable">NOT WixUI_InstallMode</Condition>
|
|
</Control>
|
|
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Disabled="yes" Text="&Next">
|
|
<Publish Event="NewDialog" Value="VerifyReadyDlg">WixUI_InstallMode</Publish>
|
|
<Publish Event="EndDialog" Value="Return">NOT WixUI_InstallMode</Publish>
|
|
</Control>
|
|
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
|
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
|
</Control>
|
|
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="WixUI_Bmp_Banner" />
|
|
<Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
|
|
<Text>Remove default [ProductName] database</Text>
|
|
</Control>
|
|
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
|
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
|
|
<Text>{\WixUI_Font_Title}Default instance properties</Text>
|
|
</Control>
|
|
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
|
</Dialog>
|
|
|
|
<!-- Dialog new or upgrade instance -->
|
|
|
|
<Property Id="CreateOrUpgradeChoice" Value="Create"/>
|
|
|
|
<Dialog Id="NewOrUpgradeInstanceDlg" Width="370" Height="270" Title="[ProductName] Setup" NoMinimize="yes">
|
|
<Control Id="Text" Type="Text" X="40" Y="65" Width="270" Height="30">
|
|
<Text>Setup found existing database instances that can be upgraded to [ProductName].You can create a new instance and/or upgrade existing one.
|
|
</Text>
|
|
</Control>
|
|
|
|
<Control Id="CreateOrUpgradeButton"
|
|
Type="RadioButtonGroup" X="40" Y="100" Width="300" Height="70"
|
|
Property="CreateOrUpgradeChoice" Text="Specify what to do">
|
|
<RadioButtonGroup Property="CreateOrUpgradeChoice">
|
|
<RadioButton Value="Create" X="0" Y="0" Width="300" Height="25"
|
|
Text="{\Font1}Create new database instance."/>
|
|
<RadioButton Value="Upgrade" X="0" Y="30" Width="300" Height="25"
|
|
Text="{\Font1}Do not create a new database. Optionally upgrade existing instances." />
|
|
</RadioButtonGroup>
|
|
</Control>
|
|
|
|
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="&Back">
|
|
<Publish Event="NewDialog" Value="LicenseAgreementDlg">1</Publish>
|
|
</Control>
|
|
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Text="&Next">
|
|
<Publish Event="Remove" Value="DBInstance">CreateOrUpgradeChoice = "Upgrade" </Publish>
|
|
<Publish Event="AddLocal" Value="DBInstance">CreateOrUpgradeChoice = "Create"</Publish>
|
|
<Publish Property="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="[NonExistentProperty]">CreateOrUpgradeChoice = "Create"</Publish>
|
|
<Publish Property="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="[NonExistentProperty]">CreateOrUpgradeChoice = "Create"</Publish>
|
|
<Publish Property="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1">CreateOrUpgradeChoice = "Upgrade"</Publish>
|
|
<Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>
|
|
</Control>
|
|
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
|
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
|
</Control>
|
|
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="WixUI_Bmp_Banner" />
|
|
<Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
|
|
<Text>Create or upgrade database instance</Text>
|
|
</Control>
|
|
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
|
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
|
|
<Text>{\WixUI_Font_Title}[ProductName] setup</Text>
|
|
</Control>
|
|
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
|
</Dialog>
|
|
|
|
<!-- Error popup dialog -->
|
|
<Dialog Id="WarningDlg" Width="320" Height="85" Title="[ProductName] Setup" NoMinimize="yes">
|
|
<Control Id="Icon" Type="Icon" X="15" Y="15" Width="24" Height="24"
|
|
ToolTip="Information icon" FixedSize="yes" IconSize="32" Text="WixUI_Ico_Info" />
|
|
<Control Id="Ok" Type="PushButton" X="132" Y="57" Width="56" Height="17"
|
|
Default="yes" Cancel="yes" Text="OK">
|
|
<Publish Property="WarningText">1</Publish>
|
|
<Publish Event="EndDialog" Value="Return">1</Publish>
|
|
</Control>
|
|
<Control Id="Text" Type="Text" X="48" Y="15" Width="260" Height="30">
|
|
<Text>[WarningText]</Text>
|
|
</Control>
|
|
</Dialog>
|
|
|
|
|
|
<Property Id="ModifyRootPassword" Value="1"/>
|
|
<TextStyle Id="Font1" FaceName="Tahoma" Size="8" Red="0" Green="0" Blue="0" Bold="yes" />
|
|
|
|
<!-- Root password plus default user dialog -->
|
|
<Dialog Id="UserSettingsDlg" X="50" Y="50" Width="370" Height="270" Title="User settings">
|
|
<Control Id="EditRootPassword" Type="Edit" X="104" Y="82" Width="91" Height="15" Property="PASSWORD" Password="yes" TabSkip="no">
|
|
<Text>{100}</Text>
|
|
<Condition Action="enable">ModifyRootPassword</Condition>
|
|
<Condition Action="disable">NOT ModifyRootPassword</Condition>
|
|
</Control>
|
|
<Control Id="EditRootPasswordConfirm" Type="Edit" X="104" Y="103" Width="91" Height="15" Property="RootPasswordConfirm" Password="yes" TabSkip="no">
|
|
<Text>{100}</Text>
|
|
<Condition Action="enable">ModifyRootPassword</Condition>
|
|
<Condition Action="disable">NOT ModifyRootPassword</Condition>
|
|
</Control>
|
|
|
|
<Control Id="CheckBoxModifyRootPassword" Type="CheckBox" X="8" Y="62" Width="222" Height="18" Property="ModifyRootPassword" CheckBoxValue="1" TabSkip="no">
|
|
<Text>{\Font1}Modify password for database user 'root'</Text>
|
|
<Publish Property="PASSWORD" >NOT ModifyRootPassword</Publish>
|
|
<Publish Property="RootPasswordConfirm">NOT ModifyRootPassword</Publish>
|
|
<Publish Property="ALLOWREMOTEROOTACCESS">NOT ModifyRootPassword</Publish>
|
|
<Publish Property="ALLOWREMOTEROOTACCESS" Value="1">ModifyRootPassword</Publish>
|
|
</Control>
|
|
|
|
<Control Id="Text5" Type="Text" X="23" Y="82" Width="77" Height="14" TabSkip="yes">
|
|
<Text>New root password:</Text>
|
|
</Control>
|
|
<Control Id="Text6" Type="Text" X="201" Y="85" Width="100" Height="17" TabSkip="yes">
|
|
<Text>Enter new root password</Text>
|
|
</Control>
|
|
<Control Id="Text8" Type="Text" X="23" Y="105" Width="75" Height="17" TabSkip="yes">
|
|
<Text>Confirm:</Text>
|
|
</Control>
|
|
|
|
<Control Id="Text10" Type="Text" X="201" Y="104" Width="100" Height="17" TabSkip="yes">
|
|
<Text>Retype the password</Text>
|
|
</Control>
|
|
<Control Id="CheckBoxALLOWREMOTEROOTACCESS" Type="CheckBox" X="23" Y="122" Width="196" Height="18" Property="ALLOWREMOTEROOTACCESS"
|
|
CheckBoxValue="--allow-remote-root-access" TabSkip="no">
|
|
<Text>{\Font1}Enable access from remote machines for 'root' user</Text>
|
|
<Condition Action="enable">ModifyRootPassword</Condition>
|
|
<Condition Action="disable">NOT ModifyRootPassword</Condition>
|
|
</Control>
|
|
|
|
<Control Id="CheckBoxUTF8" Type="CheckBox" X="8" Y="154" Width="250" Height="18" Property="UTF8" CheckBoxValue="1" TabSkip="no">
|
|
<Text>{\Font1}Use UTF8 as default server's character set</Text>
|
|
</Control>
|
|
<Control Type="Text" Id="Text11" Width="67" Height="17" X="8" Y="190" Text="{\Font1}Data directory" />
|
|
<Control Type="PathEdit" Id="TxtDir" Width="175" Height="18" X="80" Y="190" Property="DATADIR">
|
|
</Control>
|
|
<Control Id="btnDirBrowse" Type="PushButton" Width="56" Height="17" X="278" Y="190" Text="Browse...">
|
|
<Publish Property="_BrowseProperty" Value="DATADIR" Order="1">1</Publish>
|
|
<Publish Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish>
|
|
</Control>
|
|
<!-- Navigation buttons-->
|
|
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="&Back">
|
|
<Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>
|
|
</Control>
|
|
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="&Next">
|
|
<Publish Event="DoAction" Value="CheckDataDirectory">1</Publish>
|
|
<Publish Property="WarningText" Value="Invalid data directory, choose a different one. Error: [DATADIRERROR]">
|
|
DATADIRERROR
|
|
</Publish>
|
|
<Publish Property="WarningText" Value="Passwords do not match."><![CDATA[PASSWORD <> RootPasswordConfirm]]></Publish>
|
|
<Publish Event="SpawnDialog" Value="WarningDlg"><![CDATA[WarningText <>""]]></Publish>
|
|
<Publish Property="SERVICENAME" Value="MariaDB">NOT SERVICENAME AND NOT WarningText</Publish>
|
|
<Publish Event="NewDialog" Value="ServicePortDlg"><![CDATA[WarningText=""]]></Publish>
|
|
<Condition Action="enable"><![CDATA[NOT ModifyRootPassword OR PASSWORD]]> </Condition>
|
|
<Condition Action="disable"><![CDATA[ModifyRootPassword AND (NOT PASSWORD)]]> </Condition>
|
|
</Control>
|
|
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
|
|
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
|
</Control>
|
|
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="WixUI_Bmp_Banner" />
|
|
<Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
|
|
<Text> [ProductName] database configuration</Text>
|
|
</Control>
|
|
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
|
|
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
|
|
<Text>{\WixUI_Font_Title}Default instance properties</Text>
|
|
</Control>
|
|
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="0" />
|
|
</Dialog>
|
|
|
|
<Property Id="InstallService" Value="1"/>
|
|
<Property Id="EnableNetworking" Value="1"/>
|
|
|
|
<!-- Service and port configuration -->
|
|
<Dialog Id="ServicePortDlg" Width="370" Height="270" Title="Database settings">
|
|
<Control Id="InstallAsService" Type="CheckBox" X="9" Y="61" Width="222" Height="19" Property="InstallService" CheckBoxValue="1" TabSkip="no">
|
|
<Text>{\Font1}Install as service</Text>
|
|
</Control>
|
|
<Control Id="EditServiceName" Type="Edit" X="104" Y="82" Width="91" Height="15" Property="SERVICENAME" TabSkip="no">
|
|
<Text>{20}</Text>
|
|
<Condition Action="enable">InstallService</Condition>
|
|
<Condition Action="disable">Not InstallService</Condition>
|
|
</Control>
|
|
<Control Id="Text5" Type="Text" X="25" Y="82" Width="77" Height="14" TabSkip="yes">
|
|
<Text>Service Name:</Text>
|
|
</Control>
|
|
<Control Id="CheckBoxEnableNetworking" Type="CheckBox" Height="18" Width="102" X="9" Y="117" Property="EnableNetworking" CheckBoxValue="1">
|
|
<Text>{\Font1}Enable networking</Text>
|
|
<!--<Publish Property="PORT">NOT EnableNetworking</Publish>-->
|
|
<Publish Property="SKIPNETWORKING" Value="--skip-networking">NOT EnableNetworking</Publish>
|
|
<Publish Property="SKIPNETWORKING">EnableNetworking</Publish>
|
|
</Control>
|
|
<Control Id="LabelTCPPort" Type="Text" Height="17" Width="75" X="25" Y="142" Text="TCP port:" />
|
|
<Control Id="Port" Type="MaskedEdit" X="104" Y="140" Width="28" Height="15" Property="PORT" Sunken="yes" Text="[PortTemplate]">
|
|
<Condition Action="enable" >EnableNetworking</Condition>
|
|
<Condition Action="disable">Not EnableNetworking</Condition>
|
|
</Control>
|
|
|
|
<Control Id="LabelInnodbSettings" Type="Text" Height="18" Width="220" X="25" Y="171" >
|
|
<Text>{\Font1}Innodb engine settings</Text>
|
|
</Control>
|
|
<Control Id="LabelInnodbBufferpool" Type="Text" Height="17" Width="77" X="25" Y="190" Text="Buffer pool size:" />
|
|
<Control Id="BPSize" Type="MaskedEdit" X="104" Y="188" Width="40" Height="15" Property="BUFFERPOOLSIZE" Sunken="yes" Text="[BufferPoolSizeTemplate]"/>
|
|
<Control Id="LabelMB" Type="Text" Height="17" Width="15" X="150" Y="190" Text="MB" />
|
|
<Control Id="LabelInnodbPageSize" Type="Text" Height="17" Width="77" X="25" Y="208" Text="Page size:" />
|
|
<Control Id="LabelKB" Type="Text" Height="17" Width="15" X="150" Y="210" Text="KB" />
|
|
<Control Id="ComboBoxInnodbPageSize" Type="ComboBox" X="104" Y="208" Width="30" Height="17" ComboList="yes" Sorted="yes" Property="PAGESIZE" >
|
|
<ComboBox Property="PAGESIZE">
|
|
<ListItem Text=" 4" Value="4K"/>
|
|
<ListItem Text=" 8" Value="8K"/>
|
|
<ListItem Text="16" Value="16K"/>
|
|
<ListItem Text="32" Value="32K"/>
|
|
<ListItem Text="64" Value="64K"/>
|
|
</ComboBox>
|
|
</Control>
|
|
|
|
<!-- Navigation buttons-->
|
|
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="&Back">
|
|
<Publish Event="NewDialog" Value="UserSettingsDlg">1</Publish>
|
|
</Control>
|
|
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="no" Text="&Next">
|
|
<Publish Property="SERVICENAME">NOT InstallService</Publish>
|
|
<Publish Property="WarningText" Value="Please enter valid port or uncheck 'Enable Networking' checkbox">
|
|
<![CDATA[EnableNetworking AND NOT PORT AND NOT WarningText]]>
|
|
</Publish>
|
|
<Publish Property="WarningText" Value="Please enter valid service name port or uncheck 'Install Service' checkbox">
|
|
<![CDATA[InstallService AND NOT SERVICENAME AND NOT WarningText]]>
|
|
</Publish>
|
|
<Publish Event="DoAction" Value="CheckDatabaseProperties">NOT WarningText</Publish>
|
|
<Publish Event="SpawnDialog" Value="WarningDlg">WarningText</Publish>
|
|
<Publish Event="NewDialog" Value="VerifyReadyDlg">Not WarningText</Publish>
|
|
</Control>
|
|
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="no" Text="Cancel">
|
|
<Publish Event="SpawnDialog" Value="CancelDlg">1</Publish>
|
|
</Control>
|
|
<Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="WixUI_Bmp_Banner" />
|
|
<Control Id="Description" Type="Text" X="25" Y="23" Width="280" Height="15" Transparent="yes" NoPrefix="yes">
|
|
<Text>[ProductName] database configuration</Text>
|
|
</Control>
|
|
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="2" />
|
|
<Control Id="Title" Type="Text" X="15" Y="6" Width="200" Height="15" Transparent="yes" NoPrefix="yes">
|
|
<Text>{\WixUI_Font_Title}Default instance properties</Text>
|
|
</Control>
|
|
<Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" Height="2" />
|
|
</Dialog>
|
|
</UI>
|
|
|
|
<Property Id="CRLF" Value="
" />
|
|
<CustomAction Id="CheckDataDirectory" BinaryKey="wixca.dll" DllEntry="CheckDataDirectory" Execute="immediate" Impersonate="yes"/>
|
|
<CustomAction Id="CheckInstallDirectory" BinaryKey="wixca.dll" DllEntry="CheckInstallDirectory" Execute="immediate" Impersonate="yes"/>
|
|
<!-- What to do when navigation buttons are clicked -->
|
|
<UI Id="MyWixUI_Mondo">
|
|
<UIRef Id="WixUI_FeatureTree" />
|
|
<UIRef Id="WixUI_ErrorProgressText" />
|
|
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="999">
|
|
OLDERVERSIONBEINGUPGRADED
|
|
</Publish>
|
|
<Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="NewOrUpgradeInstanceDlg" Order="999">
|
|
NOT Installed AND UpgradableServiceFound
|
|
</Publish>
|
|
|
|
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="ServicePortDlg" Order="3" ><![CDATA[&DBInstance=3 AND NOT !DBInstance=3]]></Publish>
|
|
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3"> <![CDATA[OLDERVERSIONBEINGUPGRADED <>""]]></Publish>
|
|
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="ConfirmDataCleanupDlg" Order="1" ><![CDATA[(&DBInstance=2) AND (!DBInstance=3)]]></Publish>
|
|
|
|
|
|
<Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="NewOrUpgradeInstanceDlg" Order="999">
|
|
NOT Installed AND UpgradableServiceFound
|
|
</Publish>
|
|
<Publish Dialog="CustomizeDlg" Control="Next" Event="DoAction" Value="CheckInstallDirectory" Order="1">NOT Installed</Publish>
|
|
<Publish Dialog="CustomizeDlg" Control="Next" Property="WarningText" Order="2"
|
|
Value="[INSTALLDIRERROR]">
|
|
INSTALLDIRERROR
|
|
</Publish>
|
|
<Publish Dialog="CustomizeDlg" Control="Next" Event="SpawnDialog" Value="WarningDlg" Order="3">WarningText</Publish>
|
|
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="ConfirmDataCleanupDlg" Order="4">
|
|
<![CDATA[(&DBInstance=2) AND (!DBInstance=3)]]>
|
|
</Publish>
|
|
<Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="UserSettingsDlg" Order="5">
|
|
<![CDATA[&DBInstance=3 AND NOT !DBInstance=3 AND NOT WarningText]]>
|
|
</Publish>
|
|
|
|
<Publish Dialog="ConfirmDataCleanupDlg" Control="Back" Event="NewDialog" Value="CustomizeDlg">WixUI_InstallMode = "Change"</Publish>
|
|
<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="ConfirmDataCleanupDlg" Order="999">
|
|
!DBInstance=3 AND (CLEANUPDATA Or USECONFIRMDATACLEANUPDLG)
|
|
</Publish>
|
|
<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Property="USECONFIRMDATACLEANUPDLG" Value="1" Order="999">
|
|
!DBInstance=3 AND CLEANUPDATA
|
|
</Publish>
|
|
<Publish Dialog="ConfirmDataCleanupDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg">WixUI_InstallMode = "Remove"</Publish>
|
|
</UI>
|
|
|
|
<!-- End of UI section -->
|
|
|
|
<!-- Extra folders we need (DATADIR and shortcut folder) -->
|
|
<DirectoryRef Id='INSTALLDIR'>
|
|
<Directory Id="DATADIR" Name="data">
|
|
</Directory>
|
|
<Directory Id="ProgramMenuFolder">
|
|
<Directory Id="ShortcutFolder" Name="@CPACK_WIX_PACKAGE_NAME@">
|
|
</Directory>
|
|
</Directory>
|
|
</DirectoryRef>
|
|
|
|
|
|
<!-- Extra feature (database instance). This could be split to several subfeatures if desired (e.g firewall exception)-->
|
|
<Feature Id='DBInstance'
|
|
Title='Database instance'
|
|
Description=
|
|
'Install database instance. Only new database can be installed with this feature.'
|
|
ConfigurableDirectory='DATADIR'
|
|
AllowAdvertise='no'
|
|
Level='1'>
|
|
|
|
<!-- Data directory with some reasonable security settings -->
|
|
<Component Id="C.datadir" Guid="*" Directory="DATADIR">
|
|
<RegistryValue Root='HKLM'
|
|
Key='SOFTWARE\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='DATADIR' Value='[DATADIR]' Type='string' KeyPath='yes'/>
|
|
</Component>
|
|
|
|
<Component Id="C.datadir.permissions" Directory="DATADIR">
|
|
<Condition>
|
|
<!--
|
|
Skip setting permissions for LogonUser, if package is installed by
|
|
service user (e.g LocalSystem)
|
|
-->
|
|
<![CDATA[ (UserSID <> "S-1-5-18") AND (UserSID <> "S-1-5-19") AND (UserSID <> "S-1-5-20") ]]>
|
|
</Condition>
|
|
<RegistryValue Root='HKLM'
|
|
Key='SOFTWARE\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='InstalledBy' Value='[USER_DOMAIN]\[LogonUser]' Type='string' KeyPath='yes'/>
|
|
<CreateFolder>
|
|
<util:PermissionEx User="[LogonUser]" Domain="[USER_DOMAIN]" GenericAll="yes" />
|
|
</CreateFolder>
|
|
</Component>
|
|
|
|
<!-- Database service conditioned on SERVICENAME property-->
|
|
<Component Id="C.service" Guid="*" Directory="DATADIR">
|
|
<Condition>SERVICENAME</Condition>
|
|
<RegistryValue Root='HKLM'
|
|
Key='SOFTWARE\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='SERVICENAME' Value='[SERVICENAME]' Type='string' KeyPath='yes'/>
|
|
<ServiceControl Id='DBInstanceServiceStop' Name='[SERVICENAME]' Stop='both' Remove='uninstall' Wait='yes'/>
|
|
<ServiceControl Id='DBInstanceServiceStart' Name='[SERVICENAME]' Start='install' Wait='yes'/>
|
|
</Component>
|
|
|
|
<Component Id="C.myiniconfig" Guid="*" Directory="DATADIR">
|
|
<RegistryValue Root='HKLM'
|
|
Key='SOFTWARE\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='STDCONFIG' Value='1' Type='string' KeyPath='yes'/>
|
|
<IniFile Id="Ini3"
|
|
Action="createLine"
|
|
Directory="DATADIR"
|
|
Section="mysqld"
|
|
Name="my.ini"
|
|
Key="innodb_buffer_pool_size"
|
|
Value="[BUFFERPOOLSIZE]M" />
|
|
</Component>
|
|
|
|
<Component Id="C.utf8" Guid="*" Directory="DATADIR">
|
|
<Condition>UTF8</Condition>
|
|
<RegistryValue Root='HKLM'
|
|
Key='SOFTWARE\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='UTF8' Value='1' Type='string' KeyPath='yes'/>
|
|
<IniFile Id="Ini6"
|
|
Action="createLine"
|
|
Directory="DATADIR"
|
|
Section="mysqld"
|
|
Name="my.ini"
|
|
Key="character-set-server"
|
|
Value="utf8" />
|
|
</Component>
|
|
|
|
<!-- Shortcuts in program menu (mysql client etc) -->
|
|
<Component Id="c.shortcuts" Guid="*" Directory="ShortcutFolder">
|
|
<!-- shortcut to my.ini-->
|
|
<RegistryValue Root="HKCU" Key="Software\@CPACK_WIX_PACKAGE_NAME@\Uninstall" Name="shortcuts" Value="1" Type="string" KeyPath="yes" />
|
|
<RemoveFolder Id="RemoveShorcutFolder" On="uninstall" />
|
|
<Shortcut Id="shortcut.my.ini"
|
|
Name="my.ini (@CPACK_WIX_PACKAGE_NAME@)"
|
|
Target="[System64Folder]notepad.exe"
|
|
Arguments=""[DATADIR]my.ini""
|
|
Directory="ShortcutFolder"
|
|
Description="Edit database configuration" />
|
|
<Shortcut Id="shortcut.errorlog"
|
|
Name="Error log (@CPACK_WIX_PACKAGE_NAME@)"
|
|
Target="[System64Folder]notepad.exe"
|
|
Arguments=""[DATADIR][ComputerName].err""
|
|
Directory="ShortcutFolder"
|
|
Description="View Database Error log" />
|
|
<Shortcut Id="shortcut.dbfolder" Name="Database directory (@CPACK_WIX_PACKAGE_NAME@)"
|
|
Target="[DATADIR]" />
|
|
</Component>
|
|
|
|
<!-- add reference so mysql client won't get uninstalled and we have a shortcut pointing to nowhere-->
|
|
<ComponentRef Id="C.bin.mysql.exe"/>
|
|
|
|
<Component Id="c.shortcuts.commandline" Guid="*" Directory="ShortcutFolder">
|
|
<RegistryValue
|
|
Root="HKCU" Key="Software\@CPACK_WIX_PACKAGE_NAME@\Uninstall"
|
|
Name="shortcuts.commandline"
|
|
Value="1" Type="string" KeyPath="yes" />
|
|
<!-- shortcut to client-->
|
|
<Shortcut Id="shortcut.mysql.exe"
|
|
Name="MySQL Client (@CPACK_WIX_PACKAGE_NAME@)"
|
|
Target="[System64Folder]cmd.exe"
|
|
Arguments="/k " "[D.bin]mysql.exe" "--defaults-file=[DATADIR]my.ini" -uroot -p""
|
|
Directory="ShortcutFolder"
|
|
WorkingDirectory="D.bin"
|
|
Description="Starts mysql.exe for root user" />
|
|
</Component>
|
|
<Component Id="c.shortcuts.commandprompt.db" Guid="*" Directory="ShortcutFolder" Transitive="yes">
|
|
<Condition>SERVICENAME</Condition>
|
|
<RegistryValue
|
|
Root="HKCU" Key="Software\@CPACK_WIX_PACKAGE_NAME@\Uninstall"
|
|
Name="shortcuts.commandprompt.db"
|
|
Value="1" Type="string" KeyPath="yes" />
|
|
<!-- just command prompt in the bin directory (so all utilities can be called) -->
|
|
<Shortcut Id="shortcut.commandprompt.exe.db"
|
|
Name="Command Prompt (@CPACK_WIX_PACKAGE_NAME@)"
|
|
Target="[System64Folder]cmd.exe"
|
|
Directory="ShortcutFolder"
|
|
Arguments="/k "set MYSQL_HOME=[DATADIR]&& set PATH=[D.bin];%PATH%;&&echo Setting environment for [ProductName] ""
|
|
Description="Opens command line in the installation bin directory" />
|
|
</Component>
|
|
|
|
|
|
</Feature>
|
|
|
|
<Feature Id="SharedClientServerComponents"
|
|
Title='Utilities used by both server and client.'
|
|
Description=
|
|
'Client utilities that are also used with server.Required for upgrade.'
|
|
ConfigurableDirectory='INSTALLDIR'
|
|
AllowAdvertise='no'
|
|
Level='1'
|
|
Display='hidden'>
|
|
|
|
<Component Id="C_Permissions.bin" Guid="2ce05496-3273-4866-a5b5-1eff2837b4cb" Directory="D.bin">
|
|
<!-- in case service is installed now on it the future -->
|
|
<CreateFolder>
|
|
<util:PermissionEx User="ALL SERVICES" Domain="NT SERVICE" GenericRead="yes" GenericExecute="yes" />
|
|
</CreateFolder>
|
|
<Condition>SERVICENAME</Condition>
|
|
</Component>
|
|
|
|
<Component Id="C_Permissions.lib.plugin" Guid="ff2e8f47-83fd-4dee-9e22-f103600cfc80" Directory="D.lib.plugin">
|
|
<CreateFolder>
|
|
<util:PermissionEx User="ALL SERVICES" Domain="NT SERVICE" GenericRead="yes" GenericExecute="yes" />
|
|
</CreateFolder>
|
|
<Condition>SERVICENAME</Condition>
|
|
</Component>
|
|
|
|
<Component Id="C_Permissions.share" Guid="be8ee2fb-a837-4b31-b59a-68a506d97d81" Directory="D.share">
|
|
<CreateFolder>
|
|
<util:PermissionEx User="ALL SERVICES" Domain="NT SERVICE" GenericRead="yes" GenericExecute="yes" />
|
|
</CreateFolder>
|
|
<Condition>SERVICENAME</Condition>
|
|
</Component>
|
|
|
|
<ComponentRef Id='C.bin.mysql.exe'/>
|
|
<ComponentRef Id='C.bin.mysqladmin.exe'/>
|
|
<ComponentRef Id='C.bin.mysql_upgrade.exe'/>
|
|
<ComponentRef Id='C.bin.mysqlcheck.exe'/>
|
|
<Component Id="c.shortcuts.commandprompt.nodb" Guid="*" Directory="ShortcutFolder" Transitive="yes">
|
|
<Condition>NOT SERVICENAME</Condition>
|
|
<RegistryValue
|
|
Root="HKCU" Key="Software\@CPACK_WIX_PACKAGE_NAME@\Uninstall"
|
|
Name="shortcuts.commandprompt.nodb"
|
|
Value="1" Type="string" KeyPath="yes" />
|
|
<!-- just command prompt in the bin directory (so all utilities can be called) -->
|
|
<Shortcut Id="shortcut.commandprompt.exe.nodb"
|
|
Name="Command Prompt (@CPACK_WIX_PACKAGE_NAME@)"
|
|
Target="[System64Folder]cmd.exe"
|
|
Directory="ShortcutFolder"
|
|
Arguments="/k "set PATH=[D.bin];%PATH%;&&echo Setting environment for [ProductName] ""
|
|
Description="Opens command line in the installation bin directory" />
|
|
</Component>
|
|
<?if $(var.HaveUpgradeWizard) != "0" ?>
|
|
<ComponentRef Id='C.bin.mysql_upgrade_wizard.exe'/>
|
|
<?endif?>
|
|
</Feature>
|
|
|
|
<!-- Optional 3rd party tools -->
|
|
<DirectoryRef Id='TARGETDIR'>
|
|
<Directory Id='CommonFilesFolder'>
|
|
<Directory Id='MariaDBShared' Name='MariaDBShared'/>
|
|
</Directory>
|
|
<Directory Id='DesktopFolder'/>
|
|
</DirectoryRef>
|
|
|
|
|
|
<?if "@WITH_THIRD_PARTY@" != "" ?>
|
|
|
|
<!-- Include definition of 3party components -->
|
|
<?foreach tool in @WITH_THIRD_PARTY@ ?>
|
|
<?include "${CMAKE_CURRENT_BINARY_DIR}\$(var.tool).wxi" ?>
|
|
<?endforeach ?>
|
|
|
|
<Feature Id="ThirdPartyTools"
|
|
Title='Third party tools'
|
|
Description= 'Third party tools'
|
|
AllowAdvertise='no'
|
|
Level='1'
|
|
Display='expand'>
|
|
@THIRD_PARTY_FEATURE_CONDITION@
|
|
<!-- Include definition of 3rd party features -->
|
|
<?foreach tool in @WITH_THIRD_PARTY@ ?>
|
|
<?include "${CMAKE_CURRENT_BINARY_DIR}\$(var.tool)_feature.wxi" ?>
|
|
<?endforeach ?>
|
|
|
|
</Feature>
|
|
|
|
<?endif ?>
|
|
|
|
|
|
<!-- Custom action, call mysql_install_db -->
|
|
<SetProperty Sequence='execute' Before='CreateDatabaseCommand' Id="SKIPNETWORKING" Value="--skip-networking" >SKIPNETWORKING</SetProperty>
|
|
<SetProperty Sequence='execute' Before='CreateDatabaseCommand' Id="ALLOWREMOTEROOTACCESS" Value="--allow-remote-root-access">ALLOWREMOTEROOTACCESS</SetProperty>
|
|
<SetProperty Sequence='execute' Before='CreateDatabaseCommand' Id="DEFAULTUSER" Value="--default-user">DEFAULTUSER</SetProperty>
|
|
<CustomAction Id='CheckDatabaseProperties' BinaryKey='wixca.dll' DllEntry='CheckDatabaseProperties' />
|
|
<CustomAction Id='PresetDatabaseProperties' BinaryKey='wixca.dll' DllEntry='PresetDatabaseProperties' />
|
|
<CustomAction Id="CreateDatabaseCommand" Property="CreateDatabase"
|
|
Value=
|
|
""[#F.bin.mysql_install_db.exe]" "--service=[SERVICENAME]" --port=[PORT] --innodb-page-size=[PAGESIZE] "--password=[ESCAPEDPASSWORD]" "--datadir=[DATADIR]\" [SKIPNETWORKING] [ALLOWREMOTEROOTACCESS] [DEFAULTUSER] --verbose-bootstrap"
|
|
Execute="immediate"
|
|
HideTarget="yes"
|
|
/>
|
|
<CustomAction Id="CreateDatabaseRollbackCommand" Property="CreateDatabaseRollback"
|
|
Value="[SERVICENAME]\[DATADIR]"
|
|
Execute="immediate"/>
|
|
<CustomAction Id="CreateDatabase" BinaryKey="WixCA" DllEntry="@CA_QUIET_EXEC@"
|
|
Execute="deferred" Return="check" Impersonate="no" />
|
|
<CustomAction Id="CreateDatabaseRollback" BinaryKey="wixca.dll" DllEntry="CreateDatabaseRollback"
|
|
Execute="rollback" Return="check" Impersonate="no"/>
|
|
<UI>
|
|
<ProgressText Action="CreateDatabase">Running mariadb-install-db.exe</ProgressText>
|
|
</UI>
|
|
|
|
<!-- Error injection script activated by TEST_FAIL=1 passed to msiexec (to see how good custom action rollback works) -->
|
|
<Property Id="FailureProgram">
|
|
<![CDATA[
|
|
Function Main()
|
|
Main = 3
|
|
End Function
|
|
]]>
|
|
</Property>
|
|
<CustomAction Id="FakeFailure"
|
|
VBScriptCall="Main"
|
|
Property="FailureProgram"
|
|
Execute="deferred" />
|
|
|
|
<CustomAction Id='ErrorDataDir'
|
|
Error='Invalid data directory, choose a different one. Error : [DATADIRERROR]'/>
|
|
<CustomAction Id="ErrorInstallDir"
|
|
Error="[INSTALLDIRERROR]" />
|
|
<InstallExecuteSequence>
|
|
<Custom Action="CheckDataDirectory" After="CostFinalize">
|
|
<![CDATA[&DBInstance=3 AND NOT !DBInstance=3 AND OLDERVERSIONBEINGUPGRADED=""]]>
|
|
</Custom>
|
|
<Custom Action="ErrorDataDir" After="CheckDataDirectory">DATADIRERROR</Custom>
|
|
<Custom Action="CheckInstallDirectory" After="CostFinalize">
|
|
NOT Installed AND OLDERVERSIONBEINGUPGRADED=""
|
|
</Custom>
|
|
<Custom Action="ErrorInstallDir" After="CheckInstallDirectory">INSTALLDIRERROR</Custom>
|
|
<Custom Action="CheckDatabaseProperties" Before="CreateDatabaseCommand">SERVICENAME</Custom>
|
|
<Custom Action="CreateDatabaseCommand" After="CostFinalize" >
|
|
<![CDATA[&DBInstance=3 AND NOT !DBInstance=3 AND OLDERVERSIONBEINGUPGRADED=""]]>
|
|
</Custom>
|
|
<Custom Action="CreateDatabase" After="InstallFiles">
|
|
<![CDATA[&DBInstance=3 AND NOT !DBInstance=3 AND OLDERVERSIONBEINGUPGRADED=""]]>
|
|
</Custom>
|
|
<Custom Action="CreateDatabaseRollbackCommand" After="CostFinalize">
|
|
<![CDATA[&DBInstance=3 AND NOT !DBInstance=3 AND OLDERVERSIONBEINGUPGRADED=""]]>
|
|
</Custom>
|
|
<Custom Action="CreateDatabaseRollback" Before="CreateDatabase">
|
|
<![CDATA[&DBInstance=3 AND NOT !DBInstance=3 AND OLDERVERSIONBEINGUPGRADED=""]]>
|
|
</Custom>
|
|
<Custom Action='FakeFailure' Before='InstallFinalize'>
|
|
<![CDATA[&DBInstance=3 AND NOT !DBInstance=3 AND OLDERVERSIONBEINGUPGRADED="" AND TESTFAIL]]>
|
|
</Custom>
|
|
</InstallExecuteSequence>
|
|
|
|
|
|
<!-- Custom action to remove data on uninstall -->
|
|
<Binary Id='wixca.dll' SourceFile='@WIXCA_LOCATION@' />
|
|
<CustomAction Id="RemoveDataDirectory.SetProperty" Return="check"
|
|
Property="RemoveDataDirectory" Value="[DATADIR]" />
|
|
<CustomAction Id="RemoveDataDirectory" BinaryKey="wixca.dll"
|
|
DllEntry="RemoveDataDirectory"
|
|
Execute="deferred"
|
|
Impersonate="no"
|
|
Return="ignore" />
|
|
<InstallExecuteSequence>
|
|
<Custom Action="RemoveDataDirectory.SetProperty" After="CreateDatabaseCommand" >
|
|
<![CDATA[($C.datadir=2) AND (CLEANUPDATA) AND NOT UPGRADINGPRODUCTCODE]]>
|
|
</Custom>
|
|
<Custom Action="RemoveDataDirectory" Before="RemoveFiles">
|
|
<![CDATA[($C.datadir=2) AND (CLEANUPDATA) AND NOT UPGRADINGPRODUCTCODE]]>
|
|
</Custom>
|
|
</InstallExecuteSequence>
|
|
|
|
<InstallExecuteSequence>
|
|
<StopServices>SERVICENAME</StopServices>
|
|
<DeleteServices>SERVICENAME</DeleteServices>
|
|
</InstallExecuteSequence>
|
|
<CustomAction Id="CheckDBInUse" Return="ignore"
|
|
BinaryKey="wixca.dll" DllEntry="CheckDBInUse" Execute="firstSequence"/>
|
|
<InstallExecuteSequence>
|
|
<Custom Action="CheckDBInUse" Before="LaunchConditions">Installed</Custom>
|
|
<Custom Action="PresetDatabaseProperties" After="CheckDBInUse"></Custom>
|
|
</InstallExecuteSequence>
|
|
<InstallUISequence>
|
|
<Custom Action="CheckDBInUse" Before="LaunchConditions">Installed</Custom>
|
|
<Custom Action="PresetDatabaseProperties" After="CheckDBInUse"></Custom>
|
|
</InstallUISequence>
|
|
|
|
<!-- Store some properties persistently in registry, mainly for upgrades -->
|
|
|
|
<Feature Id='StoreInstallLocation' Level='1' Absent='disallow' Display='hidden'>
|
|
<Component Directory='INSTALLDIR' Guid='*' Id='C.storeinstalllocation'>
|
|
<RegistryValue Root='HKLM' Key='SOFTWARE\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='INSTALLDIR' Value='[INSTALLDIR]' Type='string' KeyPath='yes'/>
|
|
</Component>
|
|
</Feature>
|
|
|
|
<?foreach STOREDVAR in SERVICENAME;DATADIR;INSTALLDIR?>
|
|
|
|
<Property Id='$(var.STOREDVAR)' Secure='yes'>
|
|
<RegistrySearch Id='$(var.STOREDVAR)Property' Root='HKLM'
|
|
Key='SOFTWARE\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='$(var.STOREDVAR)' Type='raw' />
|
|
</Property>
|
|
<CustomAction Id='SaveCmdLineValue_$(var.STOREDVAR)' Property='CMDLINE_$(var.STOREDVAR)'
|
|
Value='[$(var.STOREDVAR)]' Execute='firstSequence' />
|
|
<CustomAction Id='SetFromCmdLineValue_$(var.STOREDVAR)' Property='$(var.STOREDVAR)'
|
|
Value='[CMDLINE_$(var.STOREDVAR)]' Execute='firstSequence' />
|
|
<InstallUISequence>
|
|
<Custom Action='SaveCmdLineValue_$(var.STOREDVAR)' Before='AppSearch' />
|
|
<Custom Action='SetFromCmdLineValue_$(var.STOREDVAR)' After='AppSearch'>CMDLINE_$(var.STOREDVAR)</Custom>
|
|
</InstallUISequence>
|
|
<InstallExecuteSequence>
|
|
<Custom Action='SaveCmdLineValue_$(var.STOREDVAR)' Before='AppSearch' />
|
|
<Custom Action='SetFromCmdLineValue_$(var.STOREDVAR)' After='AppSearch'>CMDLINE_$(var.STOREDVAR)</Custom>
|
|
</InstallExecuteSequence>
|
|
|
|
<?endforeach?>
|
|
|
|
<!--
|
|
Optionally, start upgrade wizard on exit.
|
|
-->
|
|
|
|
|
|
|
|
<?if $(var.HaveUpgradeWizard) != "0" ?>
|
|
<UI>
|
|
<Publish Dialog="ExitDialog"
|
|
Control="Finish"
|
|
Event="DoAction"
|
|
Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>
|
|
</UI>
|
|
<Property
|
|
Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT"
|
|
Value="Launch wizard to upgrade existing MariaDB or MySQL services." />
|
|
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="0"/>
|
|
<Property Id="WixShellExecTarget" Value="[#F.bin.mysql_upgrade_wizard.exe]" />
|
|
<CustomAction Id="LaunchApplication"
|
|
BinaryKey="WixCA"
|
|
DllEntry="WixShellExec"
|
|
Impersonate="yes" />
|
|
<CustomAction
|
|
Id="CheckServiceUpgrades" Return="ignore" BinaryKey="wixca.dll"
|
|
DllEntry="CheckServiceUpgrades"
|
|
Execute="immediate" />
|
|
<InstallUISequence>
|
|
<Custom Action="CheckServiceUpgrades" After="CostFinalize">
|
|
$C.bin.mysql_upgrade_wizard.exe = 3 AND NOT Installed AND NOT OLDERVERSIONBEINGUPGRADED
|
|
</Custom>
|
|
</InstallUISequence>
|
|
<SetProperty Before="ExecuteAction" Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT"
|
|
Sequence="ui" Value="[NonExistentProperty]">
|
|
<![CDATA[($C.bin.mysql_upgrade_wizard.exe <> 3) AND NOT Installed OR OLDERVERSIONBEINGUPGRADED]]>
|
|
</SetProperty>
|
|
<SetProperty Before="ExecuteAction" Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX"
|
|
Sequence="ui" Value="[NonExistentProperty]">
|
|
<![CDATA[($C.bin.mysql_upgrade_wizard.exe <> 3) AND NOT Installed OR OLDERVERSIONBEINGUPGRADED]]>
|
|
</SetProperty>
|
|
|
|
<?endif ?> <!-- HaveUpgradeWizard -->
|
|
|
|
<!--
|
|
Author the registry entries for "add or remove programs"
|
|
We choose to define ARPSYSTEMCOMPONENT to 1 because we want to show
|
|
"do you want to remove data directory" on uninstall
|
|
-->
|
|
<Property Id="ARPSYSTEMCOMPONENT" Value="1" Secure="yes" />
|
|
<Property Id="ARPINSTALLLOCATION" Secure="yes"/>
|
|
<SetProperty Id="ARPINSTALLLOCATION" Value="[INSTALLDIR]" After="InstallValidate" Sequence="execute"/>
|
|
<SetProperty Id="USER_DOMAIN" Value="[%USERDOMAIN]" After="LaunchConditions" Sequence="first" />
|
|
<Feature Id='ARPRegistryEntries'
|
|
Title='Add or remove program entries'
|
|
Description='Add or remove program entries'
|
|
AllowAdvertise='no'
|
|
Absent='disallow' Display='hidden'
|
|
Level='1'>
|
|
<Component Id="C.arp_entries" Guid="*" Directory="INSTALLDIR">
|
|
<RemoveFolder Id="RemoveINSTALLDIR" On="uninstall"/>
|
|
<RegistryValue Root='HKLM'
|
|
Key='Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='DisplayName' Value='[ProductName]' Type='string' KeyPath='yes'/>
|
|
<RegistryValue Root='HKLM'
|
|
Key='Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='Publisher' Value='@MANUFACTURER@' Type='string'/>
|
|
<RegistryValue Root='HKLM'
|
|
Key='Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='DisplayVersion' Value='[ProductVersion]' Type='string'/>
|
|
<RegistryValue Root='HKLM'
|
|
Key='Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='InstallLocation' Value='[INSTALLDIR]' Type='string'/>
|
|
<RegistryValue Root='HKLM'
|
|
Key='Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='UninstallString' Value='msiexec.exe /I [ProductCode]' Type='string'/>
|
|
<RegistryValue Root='HKLM'
|
|
Key='Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='MajorVersion' Value='@MAJOR_VERSION@' Type='string'/>
|
|
<RegistryValue Root='HKLM'
|
|
Key='Software\Microsoft\Windows\CurrentVersion\Uninstall\@CPACK_WIX_PACKAGE_NAME@'
|
|
Name='MinorVersion' Value='@MINOR_VERSION@' Type='string'/>
|
|
</Component>
|
|
</Feature>
|
|
<Condition Message=
|
|
'Setting the ALLUSERS property is not allowed because [ProductName] is a per-machine application. Setup will now exit.'>
|
|
<![CDATA[ALLUSERS = "1"]]>
|
|
</Condition>
|
|
<Condition Message='This application is only supported on Windows 10, Windows Server 2016, or higher.'>
|
|
<![CDATA[Installed OR (VersionNT >= 603)]]>
|
|
</Condition>
|
|
</Fragment>
|
|
</Wix>
|