build/msi/source/mysql_workbench.xml (268 lines of code) (raw):
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<?if $(var.SETUP_TYPE) = "commercial" ?>
<?define PRODUCT_NAME = "MySQL Workbench $(var.VERSION_MAIN)"?>
<?define OLD_PRODUCT_NAME = "MySQL Workbench 5.2 SE"?>
<?define UPGRADE_CODE = "891D38A2-6F12-426D-8AD5-FF6C81ACFCC8"?>
<?define COMPONENT_REG_GUID = "C7C35155-CBE4-4e44-818B-FC62A2BF5F04"?>
<?elseif $(var.SETUP_TYPE) = "community" ?>
<?define PRODUCT_NAME = "MySQL Workbench $(var.VERSION_MAIN) CE"?>
<?define OLD_PRODUCT_NAME = "MySQL Workbench 5.2 CE"?>
<?define UPGRADE_CODE = "84C668F4-A0C9-4585-A463-AADE0EFC9391"?>
<?define COMPONENT_REG_GUID = "21F689C0-F026-4401-973E-90248293A835"?>
<?else?>
<?define PRODUCT_NAME = "MySQL Workbench $(var.VERSION_MAIN) Debug"?>
<?define OLD_PRODUCT_NAME = "MySQL Workbench 5.2 Debug"?>
<?define UPGRADE_CODE = "FD7A4AFE-E305-499C-8F37-0686C4EC20D4"?>
<?define COMPONENT_REG_GUID = "4AB9F1DE-7679-4728-9BC4-5FE2176E8483"?>
<?endif?>
<Package Language="1033" Manufacturer="Oracle Corporation" Name="$(var.PRODUCT_NAME)" UpgradeCode="$(var.UPGRADE_CODE)" Version="$(var.VERSION_DETAIL)" Scope="perMachine">
<SummaryInformation Description="MySQL Workbench" Keywords="Installer,MSI,Database" Manufacturer="Oracle Corporation" />
<MajorUpgrade Schedule="afterInstallValidate" DowngradeErrorMessage="A later version of [ProductName] is already installed. Setup will now exit.">
</MajorUpgrade>
<Binary Id="BackgroundImg" SourceFile="resources/Background.jpg" />
<Binary Id="HeaderImg" SourceFile="resources/Header.jpg" />
<Binary Id="NewBinary4" SourceFile="resources/binary/binary4" />
<Binary Id="NewBinary9" SourceFile="resources/binary/binary9" />
<Binary Id="NewBinary5" SourceFile="resources/binary/binary5" />
<Binary Id="NewBinary10" SourceFile="resources/binary/binary10" />
<Binary Id="NewBinary11" SourceFile="resources/binary/binary11" />
<Binary Id="NewBinary3" SourceFile="resources/binary/binary3" />
<Binary Id="NewBinary2" SourceFile="resources/binary/binary2" />
<Binary Id="NewBinary14" SourceFile="resources/binary/binary14" />
<Binary Id="NewBinary15" SourceFile="resources/binary/binary15" />
<Binary Id="NewBinary16" SourceFile="resources/binary/binary16" />
<Binary Id="NewBinary17" SourceFile="resources/binary/binary17" />
<Binary Id="NewBinary18" SourceFile="resources/binary/binary18" />
<Binary Id="NewBinary13" SourceFile="resources/binary/binary13" />
<Binary Id="NewBinary6" SourceFile="resources/binary/binary6" />
<Binary Id="NewBinary7" SourceFile="resources/binary/binary7" />
<Binary Id="NewBinary8" SourceFile="resources/binary/binary8" />
<Binary Id="NewBinary12" SourceFile="resources/binary/binary12" />
<PropertyRef Id="WIX_IS_NETFRAMEWORK_45_OR_LATER_INSTALLED" />
<Property Id="CPP_2019_REDISTRIBUTABLE_1">
<RegistrySearch Id="Cpp2019Redistributable1" Root="HKLM" Key="SOFTWARE\WOW6432Node\Microsoft\VisualStudio\14.0\VC\Runtimes\x64" Name="Minor" Type="raw" />
</Property>
<Property Id="CPP_2019_REDISTRIBUTABLE_2">
<RegistrySearch Id="Cpp2019Redistributable2" Root="HKLM" Key="SOFTWARE\Microsoft\VisualStudio\14.0\VC\Runtimes\x64" Name="Minor" Type="raw" />
</Property>
<Property Id="OLDINSTALLDIR">
<RegistrySearch Id="OldMySQLWBLocation" Type="raw" Root="HKLM" Key="Software\MySQL AB\$(var.OLD_PRODUCT_NAME)" Name="Location" />
</Property>
<Launch Condition="VersionNT >= 601" Message="The operating system is not adequate for running [ProductName]. You need Windows 7 or newer and .Net 4.0 Client Profile installed." />
<Launch Condition="Intel >= 5" Message="The processor is not adequate for running [ProductName]." />
<Launch Condition="PhysicalMemory >= 64" Message="The amount of RAM is not adequate for running [ProductName]." />
<Launch Condition="Privileged" Message="You need Administrator privileges to be able to install [ProductName]." />
<Launch Condition="Installed OR CPP_2019_REDISTRIBUTABLE_1 >= "#20" OR CPP_2019_REDISTRIBUTABLE_2 >= "#20"" Message="MySQL Workbench requires the Visual C++ 2019 Redistributable Package to be installed. Click the Download-Button on the next page to open a web page containing further instructions." />
<Launch Condition="Installed OR WIX_IS_NETFRAMEWORK_45_OR_LATER_INSTALLED" Message="MySQL Workbench requires the .Net Framework 4.5 to be installed. Click the Download-Button on the next page to open a web page containing further instructions." />
<CustomAction Id="NewerVersionInstalled" Error="A newer version of this product is already installed." />
<Property Id="WixShellExecTarget" Value="http://dev.mysql.com/resources/workbench_prerequisites.html" />
<CustomAction Id="LaunchDL" DllEntry="WixShellExec" Impersonate="yes" BinaryRef="Wix4UtilCA_X86" />
<CustomAction Id="SetAdditionalCleanupDir1" Property="LEFTOVERDIR1" Value="[INSTALLDIR]python\encodings" />
<CustomAction Id="SetAdditionalCleanupDir2" Property="LEFTOVERDIR2" Value="[INSTALLDIR]python\logging" />
<CustomAction Id="SetAdditionalCleanupDir3" Property="LEFTOVERDIR3" Value="[INSTALLDIR]workbench\graphics" />
<Binary Id="MySQLCA" SourceFile="$(env.WB_3DPARTY_PATH)\bin\MySQLCA.CA.dll" />
<CustomAction Id="PrecompilePythonFiles" DllEntry="PrecompilePythonFiles" Execute="deferred" Impersonate="no" Return="asyncWait" BinaryRef="MySQLCA" />
<CustomAction Id="PrecompilePythonFiles.SetProperty" Return="check" Property="PrecompilePythonFiles" Value="[INSTALLDIR]" />
<CustomAction Id="DeletePythonFolder" DllEntry="DeleteFolders" Execute="deferred" Impersonate="no" Return="ignore" BinaryRef="MySQLCA" />
<CustomAction Id="DeletePythonFolder.SetProperty" Return="check" Property="DeletePythonFolder" Value="[INSTALLDIR]python" />
<CustomAction Id="DeleteModulesFolder" DllEntry="DeleteFolders" Execute="deferred" Impersonate="no" Return="ignore" BinaryRef="MySQLCA" />
<CustomAction Id="DeleteModulesFolder.SetProperty" Return="check" Property="DeleteModulesFolder" Value="[INSTALLDIR]modules" />
<CustomAction Id="DeletePycFiles" DllEntry="DeleteFilesWildcard" Execute="deferred" Impersonate="no" Return="ignore" BinaryRef="MySQLCA" />
<CustomAction Id="DeletePycFiles.SetProperty" Return="check" Property="DeletePycFiles" Value="[INSTALLDIR],*.pyc" />
<CustomAction Id="DeletePythonFolderOldInstall" DllEntry="DeleteFolders" Execute="deferred" Impersonate="no" Return="ignore" BinaryRef="MySQLCA" />
<CustomAction Id="DeletePythonFolderOldInstall.SetProperty" Return="check" Property="DeletePythonFolderOldInstall" Value="[OLDINSTALLDIR]python" />
<CustomAction Id="DeleteUtilitiesFolderOldInstall" DllEntry="DeleteFolders" Execute="deferred" Impersonate="no" Return="ignore" BinaryRef="MySQLCA" />
<CustomAction Id="DeleteUtilitiesFolderOldInstall.SetProperty" Return="check" Property="DeleteUtilitiesFolderOldInstall" Value="[OLDINSTALLDIR]utilities" />
<?ifdef env.WB_UPGRADE_CA_PATH?>
<!-- Part of fix for BUG#35869936 -->
<Binary Id="MySQLUpgradeCA" SourceFile="$(env.WB_UPGRADE_CA_PATH)" />
<CustomAction Id="SetAllUsers" DllEntry="SetAllUsers" Execute="immediate" Impersonate="yes" Return="check" BinaryRef="MySQLUpgradeCA" />
<CustomAction Id="RevertAllUsers" DllEntry="RevertAllUsers" Execute="immediate" Impersonate="yes" Return="check" BinaryRef="MySQLUpgradeCA" />
<?endif?>
<DirectoryRef Id="INSTALLDIR">
<Component Id="RegKeys" Guid="$(var.COMPONENT_REG_GUID)" DiskId="1">
<RegistryKey Id="MysqlKey" Root="HKLM" Key="SOFTWARE\MySQL AB\[ProductName]" ForceCreateOnInstall="yes" ForceDeleteOnUninstall="yes"/>
<RegistryValue Id="Version" Root="HKLM" Key="SOFTWARE\MySQL AB\[ProductName]" Name="Version" Type="string" Value="[ProductVersion]"/>
<RegistryValue Id="Location" Root="HKLM" Key="SOFTWARE\MySQL AB\[ProductName]" Name="Location" Type="string" Value="[INSTALLDIR]"/>
<RemoveFile Id="pyc_cleanup25" Name="*.pyc" On="both" Property="LEFTOVERDIR1" />
<RemoveFile Id="pyc_cleanup26" Name="*.pyc" On="both" Property="LEFTOVERDIR2" />
<RemoveFile Id="pyc_cleanup27" Name="pyodbc*.pyd" On="both" Directory="python_site_packages" />
<RemoveFile Id="pyc_cleanup29" Name="*.pyc" On="both" Directory="python_lib_ctypes" />
<RemoveFile Id="pyc_cleanup30" Name="*.pyc" On="both" Directory="library_workbench" />
<?if $(var.LICENSE_TYPE) = "commercial"?>
<RemoveFile Id="pyc_cleanup31" Name="*.pyc" On="both" Directory="modules_wba_audit" />
<RemoveFile Id="pyc_cleanup32" Name="*.pyc" On="both" Directory="modules_wba_meb" />
<RemoveFile Id="pyc_cleanup33" Name="*.pyc" On="both" Directory="modules_wba_firewall" />
<?endif?>
<RemoveFile Id="pyc_cleanup40" Name="*.pyc" On="both" Property="LEFTOVERDIR3" />
</Component>
</DirectoryRef>
<Feature Id="MysqlWorkbenchCore" AllowAdvertise="no" ConfigurableDirectory="INSTALLDIR" Description="Core components needed to run MySQL Workbench" Level="1" Title="MySQL Workbench Core" AllowAbsent="no">
<ComponentRef Id="Various" />
<ComponentRef Id="Third_Party_Libraries" />
<ComponentRef Id="Libraries" />
<!-- <ComponentRef Id="WB_Executables" /> -->
<ComponentRef Id="MySQLWorkbench.exe" />
<!-- <ComponentRef Id="GRT_Shell_GUI" /> -->
<ComponentRef Id="data" />
<ComponentRef Id="images_grt" />
<ComponentRef Id="images_grt_structs" />
<ComponentRef Id="images_icons" />
<ComponentRef Id="images_ui" />
<ComponentRef Id="images_home" />
<ComponentRef Id="images_sql" />
<ComponentRef Id="modules_files" />
<?if $(var.LICENSE_TYPE) = "commercial"?>
<ComponentRef Id="modules_wba_audit" />
<ComponentRef Id="modules_wba_meb" />
<ComponentRef Id="modules_wba_firewall" />
<?endif?>
<ComponentRef Id="modules_data" />
<ComponentRef Id="modules_data_sqlite" />
<ComponentRef Id="library_workbench" />
<ComponentRef Id="library_workbench_graphics" />
<ComponentRef Id="python_dlls" />
<ComponentRef Id="python_lib" />
<ComponentRef Id="python_lib_asyncio" />
<ComponentRef Id="python_lib_importlib_resources" />
<ComponentRef Id="python_lib_re" />
<ComponentRef Id="python_lib_tomllib" />
<ComponentRef Id="python_lib_zoneinfo" />
<ComponentRef Id="python_lib___phello__" />
<ComponentRef Id="python_lib_importlib_metadata" />
<ComponentRef Id="python_lib___phello__ham" />
<ComponentRef Id="python_lib_collections" />
<ComponentRef Id="python_lib_concurrent" />
<ComponentRef Id="python_lib_concurrent_futures" />
<ComponentRef Id="python_lib_ctypes" />
<ComponentRef Id="python_lib_ctypes_macholib" />
<ComponentRef Id="python_lib_curses" />
<ComponentRef Id="python_lib_dbm" />
<ComponentRef Id="python_lib_zipfile" />
<ComponentRef Id="python_lib_zipfile__path" />
<ComponentRef Id="python_lib_email" />
<ComponentRef Id="python_lib_email_mime" />
<ComponentRef Id="python_lib_encodings" />
<ComponentRef Id="python_lib_ensurepip" />
<ComponentRef Id="python_lib_html" />
<ComponentRef Id="python_lib_http" />
<ComponentRef Id="python_lib_idlelib" />
<ComponentRef Id="python_lib_idlelib_icons" />
<ComponentRef Id="python_lib_importlib" />
<ComponentRef Id="python_lib_json" />
<ComponentRef Id="python_lib_lib2to3" />
<ComponentRef Id="python_lib_lib2to3_pgen2" />
<ComponentRef Id="python_lib_lib2to3_fixes" />
<ComponentRef Id="python_lib_logging" />
<ComponentRef Id="python_lib_msilib" />
<ComponentRef Id="python_lib_multiprocessing" />
<ComponentRef Id="python_lib_multiprocessing_dummy" />
<ComponentRef Id="python_lib_pydoc_data" />
<ComponentRef Id="python_lib_sqlite3" />
<ComponentRef Id="python_lib_tkinter" />
<ComponentRef Id="python_lib_urllib" />
<ComponentRef Id="python_lib_venv" />
<!-- <ComponentRef Id="python_lib_venv_scripts" /> -->
<ComponentRef Id="python_lib_venv_scripts_common" />
<ComponentRef Id="python_lib_venv_scripts_nt" />
<ComponentRef Id="python_lib_venv_scripts_posix" />
<ComponentRef Id="python_lib_wsgiref" />
<ComponentRef Id="python_lib_xml" />
<ComponentRef Id="python_lib_xml_dom" />
<ComponentRef Id="python_lib_xml_etree" />
<ComponentRef Id="python_lib_xml_parsers" />
<ComponentRef Id="python_lib_xml_sax" />
<ComponentRef Id="python_lib_xmlrpc" />
<ComponentRef Id="python_site_packages_pyodbc" />
<?if $(var.SETUP_TYPE) = "commercial" ?>
<ComponentRef Id="reporting_HTML_Basic_Frames" />
<ComponentRef Id="reporting_HTML_Basic_Single_Page" />
<ComponentRef Id="reporting_HTML_Detailed_Frames" />
<ComponentRef Id="reporting_HTML_Detailed_Frames_images" />
<ComponentRef Id="reporting_Text_Basic" />
<?endif?>
<ComponentRef Id="catalog_reporting_TEXT_Basic" />
<ComponentRef Id="mysql_canvas" />
<ComponentRef Id="structs" />
<ComponentRef Id="mysql.profiles" />
<ComponentRef Id="snippets" />
<ComponentRef Id="script_templates" />
<ComponentRef Id="sys" />
<ComponentRef Id="sys_functions" />
<ComponentRef Id="sys_procedures" />
<ComponentRef Id="sys_views_i_s" />
<ComponentRef Id="sys_views_p_s" />
<ComponentRef Id="extras" />
<ComponentRef Id="RegKeys" />
<ComponentRef Id="sys_tables" />
<ComponentRef Id="sys_triggers" />
</Feature>
<Feature Id="WorkbenchProgramShortcut" Description="Place a Shortcut to MySQL Workbench in your Startmenus MySQL Folder" Level="1" Title="Program Shortcut">
<ComponentRef Id="MySQLWorkbenchProgramLink" />
</Feature>
<!--
<Feature Id="WorkbenchDesktopShortcut" Description="Place a Shortcut to MySQL Workbench on your Desktop" Level="1" Title="Desktop Shortcut">
<ComponentRef Id="MySQLWorkbenchDesktopLink" />
</Feature>
-->
<Media Id="1" Cabinet="product.cab" EmbedCab="yes" />
<Property Id="ErrorDialog" Value="SetupErrorDialog" />
<Property Id="DefaultUIFont" Value="Tahoma8" />
<Property Id="_IsMaintenance" Value="Change" />
<Property Id="_IsSetupTypeMin" Value="Complete" />
<!-- <Property Id="ALLUSERS" Value="2" /> -->
<Property Id="ApplicationUsers" Value="AllUsers" />
<Property Id="ARPPRODUCTICON" Value="WBIcon.exe" />
<Property Id="ARPURLUPDATEINFO" Value="http://dev.mysql.com/downloads/workbench/6.2.html" />
<Property Id="ARPURLINFOABOUT" Value="http://mysql.com/products/workbench/" />
<Property Id="INSTALLLEVEL" Value="200" />
<Property Id="ProgressType3" Value="installs" />
<Property Id="ProgressType2" Value="installed" />
<Property Id="ProgressType1" Value="Installing" />
<Property Id="ProgressType0" Value="install" />
<Property Id="ReinstallFileVersion" Value="o" />
<Property Id="RebootYesNo" Value="Yes" />
<Property Id="ReinstallModeText" Value="omus" />
<Property Id="ReinstallRepair" Value="r" />
<Property Id="SetupType" Value="Typical" />
<Property Id="NEWERPRODUCTFOUND" Secure="yes" />
<Property Id="PREVIOUSVERSIONINSTALLED" Secure="yes" />
<Property Id="LAUNCHAPPONEXIT" Value="1" />
<CustomAction Id="LaunchApplication" ExeCommand="" Execute="immediate" Impersonate="yes" Return="asyncNoWait" FileRef="file1056" />
<InstallExecuteSequence>
<Custom Action="SetAdditionalCleanupDir1" Before="InstallInitialize"/>
<Custom Action="SetAdditionalCleanupDir2" Before="InstallInitialize"/>
<Custom Action="SetAdditionalCleanupDir3" Before="InstallInitialize"/>
<Custom Action="NewerVersionInstalled" After="FindRelatedProducts" Condition="NEWERPRODUCTFOUND" />
<Custom Action="PrecompilePythonFiles.SetProperty" Before="PrecompilePythonFiles" Condition="NOT(REMOVE="ALL")" />
<Custom Action="PrecompilePythonFiles" After="InstallFiles" Condition="NOT(REMOVE="ALL")" />
<Custom Action="DeletePythonFolder.SetProperty" Before="DeletePythonFolder" Condition="REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE" />
<Custom Action="DeletePythonFolder" Before="InstallFinalize" Condition="REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE" />
<Custom Action="DeleteModulesFolder.SetProperty" Before="DeleteModulesFolder" Condition="REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE" />
<Custom Action="DeleteModulesFolder" Before="InstallFinalize" Condition="REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE" />
<Custom Action="DeletePycFiles.SetProperty" Before="DeletePycFiles" Condition="REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE" />
<Custom Action="DeletePycFiles" Before="InstallFinalize" Condition="REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE" />
<Custom Action="DeletePythonFolderOldInstall.SetProperty" Before="DeletePythonFolderOldInstall" Condition="NOT(REMOVE="ALL")" />
<Custom Action="DeletePythonFolderOldInstall" Before="InstallFinalize" Condition="NOT(REMOVE="ALL")" />
<Custom Action="DeleteUtilitiesFolderOldInstall.SetProperty" Before="DeleteUtilitiesFolderOldInstall" Condition="NOT(REMOVE="ALL")" />
<Custom Action="DeleteUtilitiesFolderOldInstall" Before="InstallFinalize" Condition="NOT(REMOVE="ALL")" />
<?ifdef env.WB_UPGRADE_CA_PATH?>
<!-- Part of fix for BUG#35869936 -->
<Custom Action="SetAllUsers" Before="FindRelatedProducts" Condition="NOT UPGRADINGPRODUCTCODE" />
<Custom Action="RevertAllUsers" After="FindRelatedProducts" Condition="NOT UPGRADINGPRODUCTCODE" />
<?endif?>
</InstallExecuteSequence>
<InstallUISequence>
<Custom Action="NewerVersionInstalled" After="FindRelatedProducts" Condition="NEWERPRODUCTFOUND" />
<Show Dialog="SetupCompleteErrorDialog" OnExit="error" />
<Show Dialog="SetupInterruptedDialog" OnExit="cancel" />
<Show Dialog="SetupCompleteSuccessDialog" OnExit="success" />
<Show Dialog="InstallWelcomeDialog" After="CostFinalize" Condition="Not Installed And (Not PATCH Or IS_MAJOR_UPGRADE)" />
<Show Dialog="SetupResumeDialog" After="InstallWelcomeDialog" Condition="Installed And (RESUME Or Preselected) And Not PATCH" />
<Show Dialog="MaintenanceWelcomeDialog" After="SetupResumeDialog" Condition="Installed And Not RESUME And Not Preselected And Not PATCH" />
<Show Dialog="SetupProgressDialog" After="MaintenanceWelcomeDialog" />
<?ifdef env.WB_UPGRADE_CA_PATH?>
<!-- Part of fix for BUG#35869936 -->
<Custom Action="SetAllUsers" Before="FindRelatedProducts" Condition="NOT UPGRADINGPRODUCTCODE" />
<Custom Action="RevertAllUsers" After="FindRelatedProducts" Condition="NOT UPGRADINGPRODUCTCODE" />
<?endif?>
</InstallUISequence>
<AdminUISequence>
<Show Dialog="SetupCompleteErrorDialog" OnExit="error" />
<Show Dialog="SetupInterruptedDialog" OnExit="cancel" />
<Show Dialog="SetupCompleteSuccessDialog" OnExit="success" />
<Show Dialog="SetupInitializationDialog" Before="CostInitialize" />
<Show Dialog="AdminWelcomeDialog" After="CostFinalize" />
<Show Dialog="SetupProgressDialog" After="AdminWelcomeDialog" />
</AdminUISequence>
<?include source\mysql_common_ui.xml ?>
</Package>
</Wix>