Branch: Tag:

2009-03-04

2009-03-04 10:25:45 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Prefer Mysql 5.0 (supported) to Mysql 5.1 (unsupported).
Added check for mysqladmin.exe.

Rev: server/etc/RoxenUI.wxs:1.76

24:    Value="[FALLBACKMYSQLDEXE]" Execute="immediate" />    <CustomAction Id="FallbackMyisamchkExe" Property="MYISAMCHKEXE"    Value="[FALLBACKMYISAMCHKEXE]" Execute="immediate" /> +  <CustomAction Id="FallbackMysqladminExe" Property="MYSQLADMINEXE" +  Value="[FALLBACKMYSQLADMINEXE]" Execute="immediate" />    <CustomAction Id="FallbackMysqlBase" Property="MYSQLBASE"    Value="[FALLBACKMYSQLBASE]" Execute="immediate" />    <CustomAction Id="SetCreateConfigInterface"
33:    <CustomAction Id="CreateConfigInterface" BinaryKey="RoxenInstaller"    VBScriptCall="CreateConfigInterface" Execute="deferred" Impersonate="no" />    <CustomAction Id="SetCreateMysqlLocation" Property="CreateMysqlLocation" -  Value="[SERVERDIR];[MYSQLBASE];[MYSQLDEXE];[MYISAMCHKEXE]" Execute="immediate" /> +  Value="[SERVERDIR];[MYSQLBASE];[MYSQLDEXE];[MYISAMCHKEXE];[MYSQLADMINEXE]" Execute="immediate" />    <CustomAction Id="CreateMysqlLocation" BinaryKey="RoxenInstaller"    VBScriptCall="CreateMysqlLocation" Execute="deferred" Impersonate="no" />    <CustomAction Id="SetCreatePikeLocation" Property="CreatePikeLocation"
992:    <Condition Action="enable">INSTALLATION_TYPE&lt;&gt;"2"</Condition>    </Control>    +  <Control Id="Mysqladmin_Label" Type="Text" X="18" Y="216" Width="348" Height="12" TabSkip="no"> +  <Text>{\VSI_MS_Sans_Serif13.0_0_0}Mysqladmin binary:</Text> +  </Control> +  <Control Id="MysqladminEdit" Type="Edit" X="18" Y="228" Width="348" Height="18" Property="MYSQLADMINEXE" Sunken="yes"> +  <Text>{\VSI_MS_Sans_Serif13.0_0_0}</Text> +  <Condition Action="disable">INSTALLATION_TYPE="2"</Condition> +  <Condition Action="enable">INSTALLATION_TYPE&lt;&gt;"2"</Condition> +  </Control> +     <Control Id="CancelButton" Type="PushButton" X="156" Y="261" Width="66" Height="18" Cancel="yes">    <Text>{\VSI_MS_Sans_Serif13.0_0_0}Cancel</Text>    <Publish Event="SpawnDialog" Value="Cancel"><![CDATA[]]></Publish>
1259:    <FileSearch LongName="mysql-location.txt" />    </DirectorySearch>    </Property> -  <Property Id="MYSQLNAME"> -  <RegistrySearch Id="MysqlName50" Root="HKLM" -  Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{E9CF8701-483A-4344-8119-0002BD0992A8}" -  Name="DisplayName" Type="raw"/><!-- MySQL 5.0 --> -  <RegistrySearch Id="MysqlName51" Root="HKLM" -  Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{8F5E3B9E-ABBD-4B35-BB68-626CB9BE98D6}" -  Name="DisplayName" Type="raw"/><!-- MySQL 5.1 --> -  </Property> +     <Property Id="MYSQLDEXE"> -  <RegistrySearch Id="Mysql50Location" Root="HKLM" -  Key="SOFTWARE\MySQL AB\MySQL Server 5.0" Name="Location" Type="raw"> -  <DirectorySearch Id="MysqldBin3" Path="bin"> -  <FileSearch LongName="mysqld.exe" /> -  </DirectorySearch> -  </RegistrySearch> -  <RegistrySearch Id="Mysql50Location1" Root="HKLM" -  Key="SOFTWARE\MySQL AB\MySQL Server 5.0" Name="Location" Type="raw"> -  <DirectorySearch Id="MysqldBin31" Path="bin"> -  <FileSearch LongName="mysqld-nt.exe" /> -  </DirectorySearch> -  </RegistrySearch> +     <RegistrySearch Id="Mysql51Location" Root="HKLM"    Key="SOFTWARE\MySQL AB\MySQL Server 5.1" Name="Location" Type="raw">    <DirectorySearch Id="MysqldBin2" Path="bin">
1292:    <FileSearch LongName="mysqld-nt.exe" />    </DirectorySearch>    </RegistrySearch> -  <RegistrySearch Id="MysqlLocation" Root="HKLM" -  Key="SOFTWARE\MySQL AB\[MYSQLNAME]" Name="Location" Type="raw"> -  <DirectorySearch Id="MysqldBin1" Path="bin"> +  <RegistrySearch Id="Mysql50Location" Root="HKLM" +  Key="SOFTWARE\MySQL AB\MySQL Server 5.0" Name="Location" Type="raw"> +  <DirectorySearch Id="MysqldBin3" Path="bin">    <FileSearch LongName="mysqld.exe" />    </DirectorySearch>    </RegistrySearch> -  <RegistrySearch Id="MysqlLocation1" Root="HKLM" -  Key="SOFTWARE\MySQL AB\[MYSQLNAME]" Name="Location" Type="raw"> -  <DirectorySearch Id="MysqldBin11" Path="bin"> +  <RegistrySearch Id="Mysql50Location1" Root="HKLM" +  Key="SOFTWARE\MySQL AB\MySQL Server 5.0" Name="Location" Type="raw"> +  <DirectorySearch Id="MysqldBin31" Path="bin">    <FileSearch LongName="mysqld-nt.exe" />    </DirectorySearch>    </RegistrySearch>    </Property>    <Property Id="FALLBACKMYSQLDEXE"> -  <DirectorySearch Id="MysqlLocation5" Path="[ProgramFilesFolder]\MySQL" Depth="2"> -  <DirectorySearch Id="MysqlBase5"> -  <DirectorySearch Id="MysqlBin5" Path="bin"> -  <FileSearch LongName="mysqld.exe" /> -  </DirectorySearch> -  </DirectorySearch> -  </DirectorySearch> +     <DirectorySearch Id="MysqlLocation51" Path="[ProgramFilesFolder]\MySQL" Depth="2">    <DirectorySearch Id="MysqlBase51">    <DirectorySearch Id="MysqlBin51" Path="bin">
1320:    </DirectorySearch>    </DirectorySearch>    </DirectorySearch> +  <DirectorySearch Id="MysqlLocation5" Path="[ProgramFilesFolder]\MySQL" Depth="2"> +  <DirectorySearch Id="MysqlBase5"> +  <DirectorySearch Id="MysqlBin5" Path="bin"> +  <FileSearch LongName="mysqld.exe" /> +  </DirectorySearch> +  </DirectorySearch> +  </DirectorySearch>    </Property>    <Property Id="MYISAMCHKEXE"> -  <RegistrySearch Id="Myisam50Location" Root="HKLM" -  Key="SOFTWARE\MySQL AB\MySQL Server 5.0" Name="Location" Type="raw"> -  <DirectorySearch Id="MyisamBin3" Path="bin"> -  <FileSearch LongName="myisamchk.exe" /> -  </DirectorySearch> -  </RegistrySearch> +     <RegistrySearch Id="Myisam51Location" Root="HKLM"    Key="SOFTWARE\MySQL AB\MySQL Server 5.1" Name="Location" Type="raw">    <DirectorySearch Id="MyisamBin2" Path="bin">    <FileSearch LongName="myisamchk.exe" />    </DirectorySearch>    </RegistrySearch> -  <RegistrySearch Id="MyisamLocation" Root="HKLM" -  Key="SOFTWARE\MySQL AB\[MYSQLNAME]" Name="Location" Type="raw"> -  <DirectorySearch Id="MyisamBin1" Path="bin"> +  <RegistrySearch Id="Myisam50Location" Root="HKLM" +  Key="SOFTWARE\MySQL AB\MySQL Server 5.0" Name="Location" Type="raw"> +  <DirectorySearch Id="MyisamBin3" Path="bin">    <FileSearch LongName="myisamchk.exe" />    </DirectorySearch>    </RegistrySearch>
1350:    </DirectorySearch>    </DirectorySearch>    </Property> +  <Property Id="MYSQLADMINEXE"> +  <RegistrySearch Id="Mysqladmin51Location" Root="HKLM" +  Key="SOFTWARE\MySQL AB\MySQL Server 5.1" Name="Location" Type="raw"> +  <DirectorySearch Id="MysqladminBin2" Path="bin"> +  <FileSearch LongName="mysqladmin.exe" /> +  </DirectorySearch> +  </RegistrySearch> +  <RegistrySearch Id="Mysqladmin50Location" Root="HKLM" +  Key="SOFTWARE\MySQL AB\MySQL Server 5.0" Name="Location" Type="raw"> +  <DirectorySearch Id="MysqladminBin3" Path="bin"> +  <FileSearch LongName="mysqladmin.exe" /> +  </DirectorySearch> +  </RegistrySearch> +  </Property> +  <Property Id="FALLBACKMYSQLADMINEXE"> +  <DirectorySearch Id="MysqladminLocation5" Path="[ProgramFilesFolder]\MySQL" Depth="2"> +  <DirectorySearch Id="MysqladminBase5"> +  <DirectorySearch Id="MysqladminBin5" Path="bin"> +  <FileSearch LongName="mysqladmin.exe" /> +  </DirectorySearch> +  </DirectorySearch> +  </DirectorySearch> +  </Property>    <Property Id="MYSQLBASE"> -  <RegistrySearchRef Id="Mysql50Location" /> -  <RegistrySearchRef Id="Mysql50Location1" /> +     <RegistrySearchRef Id="Mysql51Location" />    <RegistrySearchRef Id="Mysql51Location1" /> -  <RegistrySearchRef Id="MysqlLocation" /> -  <RegistrySearchRef Id="MysqlLocation1" /> +  <RegistrySearchRef Id="Mysql50Location" /> +  <RegistrySearchRef Id="Mysql50Location1" />    </Property>    <Property Id="FALLBACKMYSQLBASE"> -  <DirectorySearchRef Id="MysqlBase5" Parent="MysqlLocation5"/> +     <DirectorySearchRef Id="MysqlBase51" Parent="MysqlLocation51"/> -  +  <DirectorySearchRef Id="MysqlBase5" Parent="MysqlLocation5"/>    </Property> -  <Property Id="MYSQLDEBUG1"> -  <RegistrySearchRef Id="MysqlLocation" /> -  </Property> -  <Property Id="MYSQLDEBUG11"> -  <RegistrySearchRef Id="MysqlLocation1" /> -  </Property> +     <Property Id="MYSQLDEBUG2">    <RegistrySearchRef Id="Mysql51Location" />    </Property>
1412:    <Custom Action="CreateConfigInterface" After="SetCreateConfigInterface">(REMOVE="") AND (OLDCONFIGDIR="")</Custom>    <Custom Action="FallbackMysqldExe" After="CreateConfigInterface">MYSQLDEXE=""</Custom>    <Custom Action="FallbackMyisamchkExe" After="FallbackMysqldExe">MYISAMCHKEXE=""</Custom> -  <Custom Action="FallbackMysqlBase" After="FallbackMyisamchkExe">MYSQLBASE=""</Custom> +  <Custom Action="FallbackMysqladminExe" After="FallbackMysqldExe">MYSQLADMINEXE=""</Custom> +  <Custom Action="FallbackMysqlBase" After="FallbackMysqladminExe">MYSQLBASE=""</Custom>    <Custom Action="SetCreateMysqlLocation" After="FallbackMysqlBase" />    <Custom Action="CreateMysqlLocation" After="SetCreateMysqlLocation">REMOVE="" AND MYSQLLOCATIONLOCATION = ""</Custom>    <Custom Action="SetCreatePikeLocation" After="CreateMysqlLocation">REMOVE=""</Custom>