[CP-6475] CAR-100: Include .NET installer in the XenCenter installer -- Adding bootstrapper installer creation to build process (initial commit)

Signed-off-by: Gabor Apati-Nagy <gabor.apati-nagy@citrix.com>
This commit is contained in:
Gabor Apati-Nagy 2013-12-12 19:47:13 +00:00
parent 38fd6159bd
commit 7e3752ff84
3 changed files with 114 additions and 4 deletions

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) Citrix Systems Inc.
All rights reserved.
Redistribution and use in source and binary forms,
with or without modification, are permitted provided
that the following conditions are met:
* Redistributions of source code must retain the above
copyright notice, this list of conditions and the
following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other
materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-->
<configurations lcid_type="UserExe" show_language_selector="False" language_selector_title="" language_selector_ok="OK" language_selector_cancel="Cancel" configuration_no_match_message="" ui_level="basic" fileversion="" productversion="" log_enabled="False" log_file="#TEMPPATH\XenCenterExeInstallerLog.txt">
<schema version="2.2.824.0" generator="dotNetInstaller InstallerEditor" />
<configuration dialog_caption="Citrix XenCenter Installer" dialog_message="In order to install Citrix XenCenter you must first install these components:" dialog_message_uninstall="" dialog_bitmap="#APPPATH\banner.bmp" skip_caption="Skip" install_caption="Install" uninstall_caption="Uninstall" cancel_caption="Close" status_installed=" (Installed)" status_notinstalled="" failed_exec_command_continue="" installation_completed="Citrix XenCenter installed successfully!" uninstallation_completed="Citrix XenCenter uninstalled successfully!" installation_none="Citrix XenCenter is already installed!" uninstallation_none="Citrix XenCenter is not installed!" installing_component_wait="Installing %s. Wait, this operation could take some time ..." uninstalling_component_wait="Uninstalling %s. Wait, this operation could take some time ..." reboot_required="To continue the installation you must restart your computer. Restart now?" must_reboot_required="False" dialog_otherinfo_caption="" dialog_otherinfo_link="" complete_command="" complete_command_silent="" complete_command_basic="" wait_for_complete_command="False" prompt_for_optional_components="False" auto_close_if_installed="True" auto_close_on_error="False" reload_on_error="False" dialog_show_installed="False" dialog_show_uninstalled="False" dialog_show_required="False" cab_dialog_message="%s" cab_cancelled_message="" cab_dialog_caption="" cab_path="#TEMPPATH\#GUID" cab_path_autodelete="False" dialog_default_button="cancel" dialog_position="" dialog_components_list_position="" dialog_message_position="" dialog_bitmap_position="" dialog_otherinfo_link_position="" dialog_osinfo_position="" dialog_install_button_position="" dialog_cancel_button_position="" dialog_skip_button_position="" auto_start="True" auto_continue_on_reboot="False" reboot_cmd="" show_progress_dialog="False" show_cab_dialog="False" disable_wow64_fs_redirection="False" administrator_required="False" administrator_required_message="Citrix XenCenter installation requires administration rights." type="install" lcid_filter="" language_id="" language="" os_filter="" os_filter_min="" os_filter_max="" processor_architecture_filter="" supports_install="True" supports_uninstall="True">
<component command="&quot;#TEMPPATH\dotNetRuntime_Download_#PID\dotNetFx40_Full_setup.exe&quot; &quot;/norestart /passive /showfinalerror&quot;" command_silent="" command_basic="" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" disable_wow64_fs_redirection="False" id="Microsoft .NET Framework 4.0 - Full" display_name="Microsoft .NET Framework 4.0 - Full" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="True" default_continue_on_error="True" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
<downloaddialog dialog_caption="Microsoft .NET Framework 4.0 - Full - Download Components" dialog_message="Press 'Start' to download the required components for installing Microsoft .NET Framework 4.0 - Full" dialog_message_downloading="Download in progress. Please wait..." dialog_message_copying="Files are downloaded. Please wait ..." dialog_message_connecting="Connecting ..." dialog_message_sendingrequest="Sending request ..." autostartdownload="True" buttonstart_caption="Start" buttoncancel_caption="Cancel">
<download componentname="Microsoft .NET Framework 4.0 - Full" sourceurl="http://download.microsoft.com/download/1/B/E/1BE39E79-7E39-46A3-96FF-047F95396215/dotNetFx40_Full_setup.exe" sourcepath="" destinationpath="#TEMPPATH\dotNetRuntime_Download_#PID" destinationfilename="dotNetFx40_Full_setup.exe" alwaysdownload="True" clear_cache="False" />
</downloaddialog>
</component>
<component package="#CABPATH\xencenter.msi" cmdparameters="" cmdparameters_silent="/qf" cmdparameters_basic="/qf" uninstall_package="" uninstall_cmdparameters="/qb-" uninstall_cmdparameters_silent="/qf" uninstall_cmdparameters_basic="/qb-" disable_wow64_fs_redirection="False" id="XenCenter" display_name="Citrix XenCenter" uninstall_display_name="" os_filter="" os_filter_min="" os_filter_max="" os_filter_lcid="" type="msi" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="True" selected_install="True" selected_uninstall="True" note="" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="True" show_progress_dialog="True" show_cab_dialog="True">
<embedfile sourcefilepath="XenCenter.msi" targetfilepath="" />
</component>
</configuration>
</configurations>

View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
Copyright (c) Citrix Systems Inc.
All rights reserved.
Redistribution and use in source and binary forms,
with or without modification, are permitted provided
that the following conditions are met:
* Redistributions of source code must retain the above
copyright notice, this list of conditions and the
following disclaimer.
* Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the
following disclaimer in the documentation and/or other
materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
-->
<configurations lcid_type="UserExe" show_language_selector="False" language_selector_title="" language_selector_ok="OK" language_selector_cancel="Cancel" configuration_no_match_message="" ui_level="basic" fileversion="" productversion="" log_enabled="False" log_file="#TEMPPATH\XenCenterExeInstallerLog.txt">
<schema version="2.2.824.0" generator="dotNetInstaller InstallerEditor" />
<configuration dialog_caption="Citrix XenCenter Installer" dialog_message="In order to install Citrix XenCenter you must first install these components:" dialog_message_uninstall="" dialog_bitmap="#APPPATH\banner.bmp" skip_caption="Skip" install_caption="Install" uninstall_caption="Uninstall" cancel_caption="Close" status_installed=" (Installed)" status_notinstalled="" failed_exec_command_continue="" installation_completed="Citrix XenCenter installed successfully!" uninstallation_completed="Citrix XenCenter uninstalled successfully!" installation_none="Citrix XenCenter is already installed!" uninstallation_none="Citrix XenCenter is not installed!" installing_component_wait="Installing %s. Wait, this operation could take some time ..." uninstalling_component_wait="Uninstalling %s. Wait, this operation could take some time ..." reboot_required="To continue the installation you must restart your computer. Restart now?" must_reboot_required="False" dialog_otherinfo_caption="" dialog_otherinfo_link="" complete_command="" complete_command_silent="" complete_command_basic="" wait_for_complete_command="False" prompt_for_optional_components="False" auto_close_if_installed="True" auto_close_on_error="False" reload_on_error="False" dialog_show_installed="False" dialog_show_uninstalled="False" dialog_show_required="False" cab_dialog_message="%s" cab_cancelled_message="" cab_dialog_caption="" cab_path="#TEMPPATH\#GUID" cab_path_autodelete="False" dialog_default_button="cancel" dialog_position="" dialog_components_list_position="" dialog_message_position="" dialog_bitmap_position="" dialog_otherinfo_link_position="" dialog_osinfo_position="" dialog_install_button_position="" dialog_cancel_button_position="" dialog_skip_button_position="" auto_start="True" auto_continue_on_reboot="False" reboot_cmd="" show_progress_dialog="False" show_cab_dialog="False" disable_wow64_fs_redirection="False" administrator_required="False" administrator_required_message="Citrix XenCenter installation requires administration rights." type="install" lcid_filter="" language_id="" language="" os_filter="" os_filter_min="" os_filter_max="" processor_architecture_filter="" supports_install="True" supports_uninstall="True">
<component command="&quot;#TEMPPATH\dotNetRuntime_Download_#PID\dotNetFx40_Full_setup.exe&quot; &quot;/norestart /passive /showfinalerror&quot;" command_silent="" command_basic="" uninstall_command="" uninstall_command_silent="" uninstall_command_basic="" returncodes_success="0" returncodes_reboot="3010" disable_wow64_fs_redirection="False" id="Microsoft .NET Framework 4.0 - Full" display_name="Microsoft .NET Framework 4.0 - Full" uninstall_display_name="" os_filter="" os_filter_min="winXPsp3" os_filter_max="" os_filter_lcid="" type="cmd" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="True" default_continue_on_error="True" required_install="True" required_uninstall="False" selected_install="True" selected_uninstall="False" note="English - WebSetup - .NET Framework 4.0 - Full for all operating system since Windows XP SP3 (Install check)" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="False" show_progress_dialog="True" show_cab_dialog="False">
<installedcheck path="SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" fieldname="Install" fieldvalue="1" defaultvalue="False" fieldtype="REG_DWORD" comparison="match" rootkey="HKEY_LOCAL_MACHINE" wowoption="NONE" type="check_registry_value" description="Installed Check" />
<downloaddialog dialog_caption="Microsoft .NET Framework 4.0 - Full - Download Components" dialog_message="Press 'Start' to download the required components for installing Microsoft .NET Framework 4.0 - Full" dialog_message_downloading="Download in progress. Please wait..." dialog_message_copying="Files are downloaded. Please wait ..." dialog_message_connecting="Connecting ..." dialog_message_sendingrequest="Sending request ..." autostartdownload="True" buttonstart_caption="Start" buttoncancel_caption="Cancel">
<download componentname="Microsoft .NET Framework 4.0 - Full" sourceurl="http://download.microsoft.com/download/1/B/E/1BE39E79-7E39-46A3-96FF-047F95396215/dotNetFx40_Full_setup.exe" sourcepath="" destinationpath="#TEMPPATH\dotNetRuntime_Download_#PID" destinationfilename="dotNetFx40_Full_setup.exe" alwaysdownload="True" clear_cache="False" />
</downloaddialog>
</component>
<component package="#CABPATH\XenCenter.msi" cmdparameters="" cmdparameters_silent="/qf" cmdparameters_basic="/qf" uninstall_package="" uninstall_cmdparameters="/qb-" uninstall_cmdparameters_silent="/qf" uninstall_cmdparameters_basic="/qb-" disable_wow64_fs_redirection="False" id="XenCenter" display_name="Citrix XenCenter" uninstall_display_name="" os_filter="" os_filter_min="" os_filter_max="" os_filter_lcid="" type="msi" installcompletemessage="" uninstallcompletemessage="" mustreboot="False" reboot_required="" must_reboot_required="False" failed_exec_command_continue="" allow_continue_on_error="False" default_continue_on_error="False" required_install="True" required_uninstall="True" selected_install="True" selected_uninstall="True" note="" processor_architecture_filter="" status_installed="" status_notinstalled="" supports_install="True" supports_uninstall="True" show_progress_dialog="True" show_cab_dialog="True">
<embedfile sourcefilepath="XenCenter.l10n.msi" targetfilepath="XenCenter.msi" />
</component>
</configuration>
</configurations>

View File

@ -312,6 +312,24 @@ cd ${WIX} && wscript WiSubStg.vbs XenCenter.l10n.msi zh-tw.mst 1028
#sign again the combined msi because it seems the embedding breaks the signature
cd ${WIX} && chmod a+rw XenCenter.l10n.msi && ${REPO}/sign.bat XenCenter.l10n.msi
#create bundle exe installers - msi installers embedded
DOTNETINST=${REPO}/dotNetInstaller
DOTNETINST_BIN='/cygdrive/c/Program Files/dotNetInstaller/Bin'
cp ${WIX}/outXenCenter/XenCenter.msi ${DOTNETINST}
cp ${WIX}/XenCenter.l10n.msi ${DOTNETINST}
cp "${DOTNETINST_BIN}"/* ${DOTNETINST}
cd ${DOTNETINST} && "${DOTNETINST}/InstallerLinker.exe" "/Output:XenCenterSetup.exe" "/Template:dotNetInstaller.exe" "/Configuration:XenCenterSetupBootstrapper.xml" "/e+" "/v+"
cd ${DOTNETINST} && "${DOTNETINST}/InstallerLinker.exe" "/Output:XenCenterSetup.l10n.exe" "/Template:dotNetInstaller.exe" "/Configuration:XenCenterSetupBootstrapper_l10n.xml" "/e+" "/v+"
sign_files()
{
for file in $1
do
chmod a+rw ${file} && ${REPO}/sign.bat ${file}
done
}
sign_files "XenCenterSetup.exe XenCenterSetup.l10n.exe"
#create VNCCntrol installer
sed -e "s/${WIX_INSTALLER_DEFAULT_GUID_VNCCONTROL}/${PRODUCT_GUID_VNCCONTROL}/g" \
-e "s/${WIX_INSTALLER_DEFAULT_VERSION}/${XC_PRODUCT_VERSION}/g" \
@ -336,11 +354,11 @@ cd ${REPO}/CFUValidator/bin/ && tar -czf CFUValidator.tgz ./Release
#collect output and extra files to the OUTPUT_DIR
EN_CD_DIR=${OUTPUT_DIR}/CD_FILES.main/client_install
mkdir_clean ${EN_CD_DIR}
cp ${WIX}/outXenCenter/XenCenter.msi ${EN_CD_DIR}
cp ${DOTNETINST}/XenCenterSetup.exe ${EN_CD_DIR}
cp ${REPO}/XenAdmin/AppIcon.ico ${EN_CD_DIR}/XenCenter.ico
L10N_CD_DIR=${OUTPUT_DIR}/client_install
mkdir_clean ${L10N_CD_DIR}
cp ${WIX}/XenCenter.l10n.msi ${L10N_CD_DIR}
cp ${DOTNETINST}/XenCenterSetup.l10n.exe ${L10N_CD_DIR}
cp ${WIX}/outVNCControl/VNCControl.msi ${OUTPUT_DIR}/VNCControl.msi
cd ${REPO}/XenAdmin/TestResources && tar -cf ${OUTPUT_DIR}/XenCenterTestResources.tar *
@ -356,7 +374,7 @@ cp ${REPO}/XenAdmin/bin/Release/{XS56EFP1002,XS56E008,XS60E001,XS60E009}.xsupdat
#create english iso files
ISO_DIR=${SCRATCH_DIR}/iso-staging
mkdir_clean ${ISO_DIR}
install -m 755 ${EN_CD_DIR}/XenCenter.msi ${ISO_DIR}/XenCenter.msi
install -m 755 ${EN_CD_DIR}/XenCenterSetup.exe ${ISO_DIR}/XenCenterSetup.exe
cp ${REPO}/mk/ISO_files/* ${ISO_DIR}
cp ${EN_CD_DIR}/XenCenter.ico ${ISO_DIR}/XenCenter.ico
mkisofs -J -r -v -hfs -probe -publisher "${COMPANY_NAME_LEGAL}" -p "${COMPANY_NAME_LEGAL}" -V "XenCenter" -o "${OUTPUT_DIR}/XenCenter.iso" "${ISO_DIR}"
@ -365,7 +383,7 @@ mkisofs -J -r -v -hfs -probe -publisher "${COMPANY_NAME_LEGAL}" -p "${COMPANY_NA
L10N_ISO_DIR=${SCRATCH_DIR}/l10n-iso-staging
mkdir_clean ${L10N_ISO_DIR}
# -o root -g root
install -m 755 ${L10N_CD_DIR}/XenCenter.l10n.msi ${L10N_ISO_DIR}/XenCenter.msi
install -m 755 ${L10N_CD_DIR}/XenCenter.l10n.exe ${L10N_ISO_DIR}/XenCenterSetup.exe
cp ${REPO}/mk/ISO_files/* ${L10N_ISO_DIR}
cp ${EN_CD_DIR}/XenCenter.ico ${L10N_ISO_DIR}/XenCenter.ico
mkisofs -J -r -v -hfs -probe -publisher "${COMPANY_NAME_LEGAL}" -p "${COMPANY_NAME_LEGAL}" -V "XenCenter" -o "${OUTPUT_DIR}/XenCenter.l10n.iso" "${L10N_ISO_DIR}"