MDEV-4458 - Windows installer does not launch upgrade wizard anymore, even if there are upgradable instances (i.e windows service of lower MariaDB/MySQL version)
The main reason for he error is misplaced ADD_DIRECTORY in top-level CMakeLists.txt. ADD_DIRECTORY(win/packaging) was places before win/upgrade_wizard, and MSI was not able to detect that upgrade wizard was built, and thus excluded upgrade wizard entirely.
This commit is contained in:
parent
2ffc7d73b9
commit
8d75f11a67
@ -329,8 +329,8 @@ INCLUDE(cmake/abi_check.cmake)
|
||||
INCLUDE(cmake/tags.cmake)
|
||||
|
||||
IF(WIN32)
|
||||
ADD_SUBDIRECTORY(win/packaging)
|
||||
ADD_SUBDIRECTORY(win/upgrade_wizard)
|
||||
ADD_SUBDIRECTORY(win/packaging)
|
||||
ENDIF()
|
||||
|
||||
CONFIGURE_FILE(config.h.cmake ${CMAKE_BINARY_DIR}/include/my_config.h)
|
||||
|
@ -895,7 +895,7 @@ extern "C" UINT __stdcall CheckServiceUpgrades(MSIHANDLE hInstall)
|
||||
Only look for services that have mysqld.exe outside of the current
|
||||
installation directory.
|
||||
*/
|
||||
if(strstr(props.mysqld_exe,installDir) == 0)
|
||||
if(installDir[0] == 0 || strstr(props.mysqld_exe,installDir) == 0)
|
||||
{
|
||||
WcaLog(LOGMSG_STANDARD, "found service %S, major=%d, minor=%d",
|
||||
info[i].lpServiceName, props.version_major, props.version_minor);
|
||||
|
@ -151,6 +151,9 @@
|
||||
<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">
|
||||
@ -823,7 +826,7 @@
|
||||
<Property
|
||||
Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT"
|
||||
Value="Launch wizard to upgrade existing MariaDB or MySQL services." />
|
||||
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="1"/>
|
||||
<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" Value="0"/>
|
||||
<Property Id="WixShellExecTarget" Value="[#F.bin.mysql_upgrade_wizard.exe]" />
|
||||
<CustomAction Id="LaunchApplication"
|
||||
BinaryKey="WixCA"
|
||||
@ -835,16 +838,16 @@
|
||||
Execute="immediate" />
|
||||
<InstallUISequence>
|
||||
<Custom Action="CheckServiceUpgrades" After="CostFinalize">
|
||||
$C.bin.mysql_upgrade_wizard.exe = 3 AND NOT Installed
|
||||
$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]]>
|
||||
<![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]]>
|
||||
<![CDATA[($C.bin.mysql_upgrade_wizard.exe <> 3) AND NOT Installed OR OLDERVERSIONBEINGUPGRADED]]>
|
||||
</SetProperty>
|
||||
|
||||
<?endif ?> <!-- HaveUpgradeWizard -->
|
||||
|
Loading…
x
Reference in New Issue
Block a user