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 &gt;= 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 &gt;= 5" Message="The processor is not adequate for running [ProductName]." /> <Launch Condition="PhysicalMemory &gt;= 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 &gt;= &quot;#20&quot; OR CPP_2019_REDISTRIBUTABLE_2 &gt;= &quot;#20&quot;" 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=&quot;ALL&quot;)" /> <Custom Action="PrecompilePythonFiles" After="InstallFiles" Condition="NOT(REMOVE=&quot;ALL&quot;)" /> <Custom Action="DeletePythonFolder.SetProperty" Before="DeletePythonFolder" Condition="REMOVE=&quot;ALL&quot; AND NOT UPGRADINGPRODUCTCODE" /> <Custom Action="DeletePythonFolder" Before="InstallFinalize" Condition="REMOVE=&quot;ALL&quot; AND NOT UPGRADINGPRODUCTCODE" /> <Custom Action="DeleteModulesFolder.SetProperty" Before="DeleteModulesFolder" Condition="REMOVE=&quot;ALL&quot; AND NOT UPGRADINGPRODUCTCODE" /> <Custom Action="DeleteModulesFolder" Before="InstallFinalize" Condition="REMOVE=&quot;ALL&quot; AND NOT UPGRADINGPRODUCTCODE" /> <Custom Action="DeletePycFiles.SetProperty" Before="DeletePycFiles" Condition="REMOVE=&quot;ALL&quot; AND NOT UPGRADINGPRODUCTCODE" /> <Custom Action="DeletePycFiles" Before="InstallFinalize" Condition="REMOVE=&quot;ALL&quot; AND NOT UPGRADINGPRODUCTCODE" /> <Custom Action="DeletePythonFolderOldInstall.SetProperty" Before="DeletePythonFolderOldInstall" Condition="NOT(REMOVE=&quot;ALL&quot;)" /> <Custom Action="DeletePythonFolderOldInstall" Before="InstallFinalize" Condition="NOT(REMOVE=&quot;ALL&quot;)" /> <Custom Action="DeleteUtilitiesFolderOldInstall.SetProperty" Before="DeleteUtilitiesFolderOldInstall" Condition="NOT(REMOVE=&quot;ALL&quot;)" /> <Custom Action="DeleteUtilitiesFolderOldInstall" Before="InstallFinalize" Condition="NOT(REMOVE=&quot;ALL&quot;)" /> <?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>