Files
XplorePlane/XP.Installer/Setup/Scripts/DefaultVariables.bat
T
2026-08-06 14:46:52 +08:00

292 lines
20 KiB
Batchfile

::==========================================================================
:: Setting Jenkins Build Related variables
::==========================================================================
ECHO -=[ Setting Build Related variables ]=-
:: BUILD_MODE - Incredibuild or DEVENV
:: COMPILER_VERSION - Visual Studio version
:: SHORTCUT_TYPE - Allows for the BUILD_TYPE to be included in the shortcut name or not
if ["%BUILD_MODE%"] EQU [""] SET BUILD_MODE=DEVENV
if ["%COMPILER_VERSION%"] EQU [""] SET COMPILER_VERSION=15.0
if ["%BUILD_TYPE%"] EQU [""] if ["%BUILD_NUMBER%"] EQU ["65535"] (
SET BUILD_TYPE=Local
) else (
SET BUILD_TYPE=QA
)
ECHO %BUILD_TYPE%
SET SHORTCUT_TYPE=(%BUILD_TYPE%)
if ["%BUILD_TYPE%"] EQU ["Release"] SET SHORTCUT_TYPE=
ECHO %SHORTCUT_TYPE%
::==========================================================================
:: Product specific naming variables
::==========================================================================
ECHO -=[ Setting Product Naming variables ]=-
:: PRODUCT_NAME - Name used in UI display, Programs and Features, Installer folders, etc. (e.g. PC-DMIS)
:: PRODUCT_NAME_FILE_ELEMENT - Name used in Install file naming (e.g. Pcdmis)
:: PRODUCT_SETUP_NAME - Same name used in the .wixproj file for installer MSI output (e.g. Installer)
:: PRODUCT_NAME_PATH_ELEMENT - Name used when copying files to the FTP and WixPatch (e.g. PC-DMIS-Versions)
:: WEBUPDATER_NAME_PATH_ELEMENT - Name used when copying files to the Webupdater location (e.g. Pcdmis)
:: INSTALLER_DISPLAY_NAME - Name used when copying files to the Webupdater location. UPPER CASE with spaces (e.g. PC-DMIS)
:: INSTALLED_PRODUCT_MANUFACTURER - Name used in paths for the product manufacturer (e.g. Hexagon)
if ["%PRODUCT_NAME%"] EQU [""] SET PRODUCT_NAME=Hexagon Sample App
if ["%PRODUCT_NAME_FILE_ELEMENT%"] EQU [""] SET PRODUCT_NAME_FILE_ELEMENT=%PRODUCT_NAME: =%
if ["%PRODUCT_SETUP_NAME%"] EQU [""] SET PRODUCT_SETUP_NAME=Installer
if ["%PRODUCT_NAME_PATH_ELEMENT%"] EQU [""] SET PRODUCT_NAME_PATH_ELEMENT=%PRODUCT_NAME: =%
if ["%WEBUPDATER_NAME_PATH_ELEMENT%"] EQU [""] SET WEBUPDATER_NAME_PATH_ELEMENT=%PRODUCT_NAME: =%
if ["%INSTALLER_DISPLAY_NAME%"] EQU [""] SET INSTALLER_DISPLAY_NAME=HEXAGON SAMPLE APP
if ["%INSTALLED_PRODUCT_MANUFACTURER%"] EQU [""] SET INSTALLED_PRODUCT_MANUFACTURER=Hexagon
::==========================================================================
:: Setting WiX Project variables
::==========================================================================
ECHO -=[ Setting WiX Project variables ]=-
:: MSI_PROJECT_RELATIVE_PATH - Path from the root directory to the MSI solution
:: MSI_OUTPUT_RELATIVE_PATH - Path for the location of the out put files in the installer folder
:: WIX_SOLUTION_COMPILE_PATH - Path including solution name for MSI project
:: WIX_PROJECT_NAME - Name of the WiX project file
:: WIX_WEBUPDATER_PATH - Relative path to the WebUpdaterBridge files
if ["%MSI_PROJECT_RELATIVE_PATH%"] EQU [""] SET MSI_PROJECT_RELATIVE_PATH=XP.Installer\Setup\BundleInstaller
if ["%MSI_OUTPUT_RELATIVE_PATH%"] EQU [""] SET MSI_OUTPUT_RELATIVE_PATH=bin\%BUILD_PLATFORM%\Release
if ["%WIX_SOLUTION_COMPILE_PATH%"] EQU [""] SET WIX_SOLUTION_COMPILE_PATH=XP.Installer\\Setup\\BundleInstaller\\XP.Installer.sln
if ["%WIX_PROJECT_NAME%"] EQU [""] SET WIX_PROJECT_NAME=Product_Main
if ["%WIX_WEBUPDATER_PATH%"] EQU [""] SET WIX_WEBUPDATER_PATH=..\..\packages\HexWebUpdater.3.0.54.20170713\content
::==========================================================================
:: Setting Foundation variables
::==========================================================================
ECHO -=[ Setting Foundation variables ]=-
:: FOUNDATION_MAJOR_VERSION_NUMBER - Major number for the foundation product (ie 9 for PC-DMIS and 3 for Touch)
:: FOUNDATION_MINOR_VERSION_NUMBER - Minor number for the foundation product (ie 1 for PC-DMIS and 0 for Touch)
:: FOUNDATION_NAME - Name used for the foundation product (ie PC-DMIS for PC-DMIS and Touch for Touch)
:: FOUNDATION_VERSION - Foundation Major.Minor.BuildNumber.0
:: FOUNDATION_VERSION_NAME - Foundation Major.Minor name
:: Attempt to parse the foundation version first
Call InstallScripts\ParseFoundationVersion.bat
if ["%FOUNDATION_MAJOR_VERSION_NUMBER%"] EQU [""] SET FOUNDATION_MAJOR_VERSION_NUMBER=1
if ["%FOUNDATION_MINOR_VERSION_NUMBER%"] EQU [""] SET FOUNDATION_MINOR_VERSION_NUMBER=0
if ["%FOUNDATION_NAME%"] EQU [""] SET FOUNDATION_NAME=%PRODUCT_NAME%
if ["%FOUNDATION_VERSION%"] EQU [""] SET FOUNDATION_VERSION=%FOUNDATION_MAJOR_VERSION_NUMBER%.%FOUNDATION_MINOR_VERSION_NUMBER%.%BUILD_NUMBER%.0
if ["%FOUNDATION_VERSION_NAME%"] EQU [""] SET FOUNDATION_VERSION_NAME=%FOUNDATION_MAJOR_VERSION_NUMBER%.%FOUNDATION_MINOR_VERSION_NUMBER%
::==========================================================================
:: Setting Product variables to Foundation if needed
::==========================================================================
:: PRODUCT_MAJOR_VERSION_NUMBER - Major number for the product
:: PRODUCT_MINOR_VERSION_NUMBER - Minor number for the product
:: PRODUCT_VERSION - Product Major.Minor.BuildNumber.0
:: PRODUCT_VERSION_NAME - Product Major.Minor name
ECHO -=[ Setting Product variables to Foundation if needed ]=-
@rem if ["%PRODUCT_MAJOR_VERSION_NUMBER%"] EQU [""] SET PRODUCT_MAJOR_VERSION_NUMBER=1
@rem if ["%PRODUCT_MINOR_VERSION_NUMBER%"] EQU [""] SET PRODUCT_MINOR_VERSION_NUMBER=0
if ["%PRODUCT_MAJOR_VERSION_NUMBER%"] EQU [""] SET PRODUCT_MAJOR_VERSION_NUMBER=%FOUNDATION_MAJOR_VERSION_NUMBER%
if ["%PRODUCT_MINOR_VERSION_NUMBER%"] EQU [""] SET PRODUCT_MINOR_VERSION_NUMBER=%FOUNDATION_MINOR_VERSION_NUMBER%
if ["%PRODUCT_VERSION%"] EQU [""] SET PRODUCT_VERSION=%PRODUCT_MAJOR_VERSION_NUMBER%.%PRODUCT_MINOR_VERSION_NUMBER%.%BUILD_NUMBER%.0
if ["%PRODUCT_VERSION_NAME%"] EQU [""] if ["%PRODUCT_MAJOR_VERSION_NUMBER%"] EQU ["%FOUNDATION_MAJOR_VERSION_NUMBER%"] if ["%PRODUCT_MINOR_VERSION_NUMBER%"] EQU ["%FOUNDATION_MINOR_VERSION_NUMBER%"] SET PRODUCT_VERSION_NAME=%FOUNDATION_VERSION_NAME%
if ["%PRODUCT_VERSION_NAME%"] EQU [""] SET PRODUCT_VERSION_NAME=%PRODUCT_MAJOR_VERSION_NUMBER%.%PRODUCT_MINOR_VERSION_NUMBER%
::==========================================================================
:: Setting and constructing Distribution Variables
::==========================================================================
:: DISTRIBUTION_BASE_PATH - Server base path for installers. Set to a local path for LOCAL_BUILD
:: WIXPATCH_BASE_PATH - WixPatch Server base path for baselines and GUIDs. Set to a local path for LOCAL_BUILD
:: WEBUPDATER_BASE_PATH - WebUpdater base path for WebUpdater files. Set to a local path for LOCAL_BUILD
:: WEBUPDATER_SERVER - Webupdater Server URL.
:: DISTRIBUTION_PRODUCT_FOLDERNAME - Folder name used in distribution path. Based off PRODUCT_NAME replacing spaces with dashes
:: DISTRIBUTION_PRODUCT_VERSION_FOLDERNAME - Folder version name used in distribution path. Based off PRODUCT_VERSION_NAME replacing spaces with Underscores
:: DISTRIBUTION_PRODUCT_PATH - DISTRIBUTION_BASE_PATH + DISTRIBUTION_PRODUCT_FOLDERNAME
:: DISTRIBUTION_PRODUCT_VERSION_PATH - DISTRIBUTION_PRODUCT_FOLDERNAME + DISTRIBUTION_PRODUCT_VERSION_FOLDERNAME + (PLATFORM if needed)
:: FULL_DISTRIBUTION_INSTALLER_PATH - DISTRIBUTION_BASE_PATH + DISTRIBUTION_PRODUCT_VERSION_PATH
ECHO -=[ Setting and constructing Distribution Variables ]=-
if ["%DISTRIBUTION_BASE_PATH%"] EQU [""] SET DISTRIBUTION_BASE_PATH=\\am-uslhi-fs-v01\array1\Inetpub\ftpprivate
if ["%WIXPATCH_BASE_PATH%"] EQU [""] SET WIXPATCH_BASE_PATH=\\am-uslhi-fs-v01\array1\WixPatch
if ["%WEBUPDATER_BASE_PATH%"] EQU [""] SET WEBUPDATER_BASE_PATH=\\am-uslhi-fs-v01\array1\Inetpub\WebUpdater
if ["%WEBUPDATER_SERVER%"] EQU [""] SET WEBUPDATER_SERVER=http://www.wilcoxassoc.com/WebUpdater
if ["%LOCAL_BUILD%"] EQU ["TRUE"] (
SET DISTRIBUTION_BASE_PATH=D:\WiXTest\ftpprivate
SET WIXPATCH_BASE_PATH=D:\WiXTest\Server\WixPatch
SET WEBUPDATER_BASE_PATH=D:\WiXTest\Server\WebUpdater
)
:: Constructing FULL_DISTRIBUTION_INSTALLER_PATH
if ["%DISTRIBUTION_PRODUCT_FOLDERNAME%"] EQU [""] SET DISTRIBUTION_PRODUCT_FOLDERNAME=%PRODUCT_NAME: =-%
if ["%DISTRIBUTION_PRODUCT_VERSION_FOLDERNAME%"] EQU [""] SET DISTRIBUTION_PRODUCT_VERSION_FOLDERNAME=%PRODUCT_VERSION_NAME: =_%
if ["%DISTRIBUTION_PRODUCT_VERSION_PATH%"] EQU [""] SET DISTRIBUTION_PRODUCT_VERSION_PATH=%PRODUCT_NAME_PATH_ELEMENT%\%DISTRIBUTION_PRODUCT_VERSION_FOLDERNAME%\%BUILD_TYPE%\%BUILD_PLATFORM%\
if ["%FULL_DISTRIBUTION_INSTALLER_PATH%"] EQU [""] SET FULL_DISTRIBUTION_INSTALLER_PATH=%DISTRIBUTION_BASE_PATH%\%DISTRIBUTION_PRODUCT_VERSION_PATH%
:: Constructing FULL_BASELINE_GUID_PATH
if ["%FULL_BASELINE_GUID_PATH%"] EQU [""] SET FULL_BASELINE_GUID_PATH=%WIXPATCH_BASE_PATH%\%DISTRIBUTION_PRODUCT_VERSION_PATH%
:: Constructing FULL_WEPUPDATER_PATH
if ["%WEBUPDATER_VERSION_NAME%"] EQU [""] SET WEBUPDATER_VERSION_NAME=%PRODUCT_VERSION_NAME: =%
if ["%FULL_WEBUPDATER_PATH%"] EQU [""] SET FULL_WEBUPDATER_PATH=%WEBUPDATER_BASE_PATH%\%WEBUPDATER_NAME_PATH_ELEMENT%\%WEBUPDATER_VERSION_NAME%\%BUILD_TYPE%\%BUILD_PLATFORM%
:: NOTE: not trailing slash for FULL_WEBUPDATER_PATH
::==========================================================================
:: Setting Help Related Variables
::==========================================================================
ECHO -=[ Setting Help Related Variables ]=-
if ["%INSTALLER_HELP_FILES_SOURCE_PATH%"] EQU [""] (
if ["%BUILD_TYPE%"] EQU ["QA"] (
SET INSTALLER_HELP_FILES_SOURCE_PATH=%DISTRIBUTION_BASE_PATH%\%DISTRIBUTION_PRODUCT_FOLDERNAME%\%DISTRIBUTION_PRODUCT_VERSION_FOLDERNAME%\QA
) ELSE (
SET INSTALLER_HELP_FILES_SOURCE_PATH=%DISTRIBUTION_BASE_PATH%\%DISTRIBUTION_PRODUCT_FOLDERNAME%\%DISTRIBUTION_PRODUCT_VERSION_FOLDERNAME%\Release
)
)
::==========================================================================
:: Setting Project specific variables
::==========================================================================
:: DAT_PLATFORM - Used to append Product GUIDs files with x86 or x64
ECHO -=[ Setting Project specific variables ]=-
:: Only have these next two variables if the platform is used in the path
if ["%DAT_PLATFORM%"] EQU [""] SET DAT_PLATFORM=_%BUILD_PLATFORM%
if ["%BIN_PLATFORM%"] EQU [""] SET BIN_PLATFORM=%BUILD_PLATFORM%\
if ["%RESET_BASELINE%"] EQU [""] SET RESET_BASELINE=TRUE
if ["%DELTA_PATCH%"] EQU [""] SET DELTA_PATCH=FALSE
if ["%EMBED_LANGUAGES%"] EQU [""] SET EMBED_LANGUAGES=TRUE
if ["%SIGN_THE_INSTALLER%"] EQU [""] SET SIGN_THE_INSTALLER=FALSE
if ["%KEEP_N_BUILDS%"] EQU [""] SET KEEP_N_BUILDS=5
if ["%DEPLOYED%"] EQU [""] SET DEPLOYED=FALSE
if ["%MULTI_PLATFORM%"] EQU [""] SET MULTI_PLATFORM=TRUE
if ["%HAS_WEBUPDATER%"] EQU [""] SET HAS_WEBUPDATER=TRUE
if ["%HAS_LANGPACKS%"] EQU [""] SET HAS_LANGPACKS=FALSE
if ["%COPY_MSI_ONLY%"] EQU [""] SET COPY_MSI_ONLY=FALSE
if ["%COPY_MSI_ONLY%"] EQU ["TRUE"] SET ALSO_COPY_MSI=TRUE
if ["%IS_BUNDLE%"] EQU [""] SET IS_BUNDLE=TRUE
if ["%BUNDLE_ONLY%"] EQU [""] SET BUNDLE_ONLY=TRUE
::==========================================================================
:: Setting Custom Upgrade variables
::==========================================================================
ECHO -=[ Setting Custom Upgrade variables ]=-
:: These variables allow you control the range of build numbers that can be upgrade
:: Important to not that all installers need to use the same UPGRADE_CODE for this to work.
@rem SET UPGRADER_MINIMUM_VERSION=10.0.1.0
@rem SET UPGRADER_MAXIMUM_VERSION=8.1.65535.0
::==========================================================================
:: Show all Environment Variables
::==========================================================================
SET
::==========================================================================
:: Validate Variables
::==========================================================================
:: Setting Product Naming variables
if ["%PRODUCT_NAME%"] EQU [""] call :ShowMissingVariableErrorMessage PRODUCT_NAME
if ["%PRODUCT_NAME_FILE_ELEMENT%"] EQU [""] call :ShowMissingVariableErrorMessage PRODUCT_NAME_FILE_ELEMENT
if ["%PRODUCT_SETUP_NAME%"] EQU [""] call :ShowMissingVariableErrorMessage PRODUCT_SETUP_NAME
if ["%PRODUCT_NAME_PATH_ELEMENT%"] EQU [""] call :ShowMissingVariableErrorMessage PRODUCT_NAME_PATH_ELEMENT
if ["%WEBUPDATER_NAME_PATH_ELEMENT%"] EQU [""] call :ShowMissingVariableErrorMessage WEBUPDATER_NAME_PATH_ELEMENT
if ["%INSTALLER_DISPLAY_NAME%"] EQU [""] call :ShowMissingVariableErrorMessage INSTALLER_DISPLAY_NAME
:: Setting WiX Project variables
if ["%MSI_PROJECT_RELATIVE_PATH%"] EQU [""] call :ShowMissingVariableErrorMessage MSI_PROJECT_RELATIVE_PATH
if ["%MSI_OUTPUT_RELATIVE_PATH%"] EQU [""] call :ShowMissingVariableErrorMessage MSI_OUTPUT_RELATIVE_PATH
if ["%WIX_SOLUTION_COMPILE_PATH%"] EQU [""] call :ShowMissingVariableErrorMessage WIX_SOLUTION_COMPILE_PATH
if ["%WIX_PROJECT_NAME%"] EQU [""] call :ShowMissingVariableErrorMessage WIX_PROJECT_NAME
:: Setting Build Related variables
if ["%BUILD_MODE%"] EQU [""] call :ShowMissingVariableErrorMessage BUILD_MODE
if ["%COMPILER_VERSION%"] EQU [""] call :ShowMissingVariableErrorMessage COMPILER_VERSION
if ["%BUILD_TYPE%"] EQU [""] call :ShowMissingVariableErrorMessage BUILD_TYPE
if ["%BUILD_PLATFORM%"] EQU [""] call :ShowMissingVariableErrorMessage BUILD_PLATFORM
if ["%BUILD_NUMBER%"] EQU [""] call :ShowMissingVariableErrorMessage BUILD_NUMBER
:: Setting Foundation variables
if ["%FOUNDATION_MAJOR_VERSION_NUMBER%"] EQU [""] call :ShowMissingVariableErrorMessage FOUNDATION_MAJOR_VERSION_NUMBER
if ["%FOUNDATION_MINOR_VERSION_NUMBER%"] EQU [""] call :ShowMissingVariableErrorMessage FOUNDATION_MINOR_VERSION_NUMBER
if ["%FOUNDATION_NAME%"] EQU [""] call :ShowMissingVariableErrorMessage FOUNDATION_NAME
if ["%FOUNDATION_VERSION%"] EQU [""] call :ShowMissingVariableErrorMessage FOUNDATION_VERSION
if ["%FOUNDATION_VERSION_NAME%"] EQU [""] call :ShowMissingVariableErrorMessage FOUNDATION_VERSION_NAME
:: Setting Product variables to Foundation if needed
if ["%PRODUCT_MAJOR_VERSION_NUMBER%"] EQU [""] call :ShowMissingVariableErrorMessage PRODUCT_MAJOR_VERSION_NUMBER
if ["%PRODUCT_MINOR_VERSION_NUMBER%"] EQU [""] call :ShowMissingVariableErrorMessage PRODUCT_MINOR_VERSION_NUMBER
if ["%PRODUCT_VERSION%"] EQU [""] call :ShowMissingVariableErrorMessage PRODUCT_VERSION
if ["%PRODUCT_VERSION_NAME%"] EQU [""] call :ShowMissingVariableErrorMessage PRODUCT_VERSION_NAME
:: Setting and constructing Distribution Variables
if ["%DISTRIBUTION_BASE_PATH%"] EQU [""] call :ShowMissingVariableErrorMessage DISTRIBUTION_BASE_PATH
if ["%WIXPATCH_BASE_PATH%"] EQU [""] call :ShowMissingVariableErrorMessage WIXPATCH_BASE_PATH
if ["%WEBUPDATER_BASE_PATH%"] EQU [""] call :ShowMissingVariableErrorMessage WEBUPDATER_BASE_PATH
if ["%WEBUPDATER_SERVER%"] EQU [""] call :ShowMissingVariableErrorMessage WEBUPDATER_SERVER
:: Constructing FULL_DISTRIBUTION_INSTALLER_PATH
if ["%DISTRIBUTION_PRODUCT_FOLDERNAME%"] EQU [""] call :ShowMissingVariableErrorMessage DISTRIBUTION_PRODUCT_FOLDERNAME
if ["%DISTRIBUTION_PRODUCT_VERSION_FOLDERNAME%"] EQU [""] call :ShowMissingVariableErrorMessage DISTRIBUTION_PRODUCT_VERSION_FOLDERNAME
if ["%DISTRIBUTION_PRODUCT_VERSION_PATH%"] EQU [""] call :ShowMissingVariableErrorMessage DISTRIBUTION_PRODUCT_VERSION_PATH
if ["%FULL_DISTRIBUTION_INSTALLER_PATH%"] EQU [""] call :ShowMissingVariableErrorMessage FULL_DISTRIBUTION_INSTALLER_PATH
:: Constructing FULL_BASELINE_GUID_PATH
if ["%FULL_BASELINE_GUID_PATH%"] EQU [""] call :ShowMissingVariableErrorMessage FULL_BASELINE_GUID_PATH
:: Constructing FULL_WEPUPDATER_PATH
if ["%WEBUPDATER_VERSION_NAME%"] EQU [""] call :ShowMissingVariableErrorMessage WEBUPDATER_VERSION_NAME
if ["%FULL_WEBUPDATER_PATH%"] EQU [""] call :ShowMissingVariableErrorMessage FULL_WEBUPDATER_PATH
:: Help Related Variables
if ["%INSTALLER_HELP_FILES_SOURCE_PATH%"] EQU [""] call :ShowMissingVariableErrorMessage INSTALLER_HELP_FILES_SOURCE_PATH
::Setting Project specific variables
if ["%DAT_PLATFORM%"] EQU [""] call :ShowMissingVariableErrorMessage DAT_PLATFORM
if ["%RESET_BASELINE%"] EQU [""] call :ShowMissingVariableErrorMessage RESET_BASELINE
if ["%DELTA_PATCH%"] EQU [""] call :ShowMissingVariableErrorMessage DELTA_PATCH
if ["%EMBED_LANGUAGES%"] EQU [""] call :ShowMissingVariableErrorMessage EMBED_LANGUAGES
if ["%SIGN_THE_INSTALLER%"] EQU [""] call :ShowMissingVariableErrorMessage SIGN_THE_INSTALLER
if ["%KEEP_N_BUILDS%"] EQU [""] call :ShowMissingVariableErrorMessage KEEP_N_BUILDS
if ["%DEPLOYED%"] EQU [""] call :ShowMissingVariableErrorMessage DEPLOYED
if ["%MULTI_PLATFORM%"] EQU [""] call :ShowMissingVariableErrorMessage MULTI_PLATFORM
if ["%HAS_WEBUPDATER%"] EQU [""] call :ShowMissingVariableErrorMessage HAS_WEBUPDATER
if ["%HAS_LANGPACKS%"] EQU [""] call :ShowMissingVariableErrorMessage HAS_LANGPACKS
if ["%COPY_MSI_ONLY%"] EQU [""] call :ShowMissingVariableErrorMessage COPY_MSI_ONLY
if ["%IS_BUNDLE%"] EQU [""] call :ShowMissingVariableErrorMessage IS_BUNDLE
if ["%BUNDLE_ONLY%"] EQU [""] call :ShowMissingVariableErrorMessage BUNDLE_ONLY
if ["%VARIABLE_ERROR%"] EQU ["TRUE"] exit /B 1
exit /B 0
GOTO End
:End
:ShowMissingVariableErrorMessage
SET MISSING_VARIABLE=%1
ECHO --- Missing: %MISSING_VARIABLE%
ECHO.
SET VARIABLE_ERROR=TRUE
GOTO :EOF
exit