Commit 8d75f11a authored by Vladislav Vaintroub's avatar Vladislav Vaintroub

MDEV-4458 - Windows installer does not launch upgrade wizard anymore, even if...

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.
parent 2ffc7d73
...@@ -329,8 +329,8 @@ INCLUDE(cmake/abi_check.cmake) ...@@ -329,8 +329,8 @@ INCLUDE(cmake/abi_check.cmake)
INCLUDE(cmake/tags.cmake) INCLUDE(cmake/tags.cmake)
IF(WIN32) IF(WIN32)
ADD_SUBDIRECTORY(win/packaging)
ADD_SUBDIRECTORY(win/upgrade_wizard) ADD_SUBDIRECTORY(win/upgrade_wizard)
ADD_SUBDIRECTORY(win/packaging)
ENDIF() ENDIF()
CONFIGURE_FILE(config.h.cmake ${CMAKE_BINARY_DIR}/include/my_config.h) CONFIGURE_FILE(config.h.cmake ${CMAKE_BINARY_DIR}/include/my_config.h)
......
...@@ -895,7 +895,7 @@ extern "C" UINT __stdcall CheckServiceUpgrades(MSIHANDLE hInstall) ...@@ -895,7 +895,7 @@ extern "C" UINT __stdcall CheckServiceUpgrades(MSIHANDLE hInstall)
Only look for services that have mysqld.exe outside of the current Only look for services that have mysqld.exe outside of the current
installation directory. 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", WcaLog(LOGMSG_STANDARD, "found service %S, major=%d, minor=%d",
info[i].lpServiceName, props.version_major, props.version_minor); info[i].lpServiceName, props.version_major, props.version_minor);
......
...@@ -151,6 +151,9 @@ ...@@ -151,6 +151,9 @@
<Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Text="&amp;Next"> <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Text="&amp;Next">
<Publish Event="Remove" Value="DBInstance">CreateOrUpgradeChoice = "Upgrade" </Publish> <Publish Event="Remove" Value="DBInstance">CreateOrUpgradeChoice = "Upgrade" </Publish>
<Publish Event="AddLocal" Value="DBInstance">CreateOrUpgradeChoice = "Create"</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> <Publish Event="NewDialog" Value="CustomizeDlg">1</Publish>
</Control> </Control>
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel"> <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="Cancel">
...@@ -823,7 +826,7 @@ ...@@ -823,7 +826,7 @@
<Property <Property
Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT"
Value="Launch wizard to upgrade existing MariaDB or MySQL services." /> 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]" /> <Property Id="WixShellExecTarget" Value="[#F.bin.mysql_upgrade_wizard.exe]" />
<CustomAction Id="LaunchApplication" <CustomAction Id="LaunchApplication"
BinaryKey="WixCA" BinaryKey="WixCA"
...@@ -835,16 +838,16 @@ ...@@ -835,16 +838,16 @@
Execute="immediate" /> Execute="immediate" />
<InstallUISequence> <InstallUISequence>
<Custom Action="CheckServiceUpgrades" After="CostFinalize"> <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> </Custom>
</InstallUISequence> </InstallUISequence>
<SetProperty Before="ExecuteAction" Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" <SetProperty Before="ExecuteAction" Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT"
Sequence="ui" Value="[NonExistentProperty]"> 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>
<SetProperty Before="ExecuteAction" Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX" <SetProperty Before="ExecuteAction" Id="WIXUI_EXITDIALOGOPTIONALCHECKBOX"
Sequence="ui" Value="[NonExistentProperty]"> 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>
<?endif ?> <!-- HaveUpgradeWizard --> <?endif ?> <!-- HaveUpgradeWizard -->
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment