###################################################################################################
#
# Name: Common_Predefined_ProductVersion.cfg
# Description: Finds WorkArea PWSetup for later includsion.
# Author: Buddy Branham
# Date: 2022/02/28
# Version: 2.0.0.0
#
#--------------------------------------------------------------------------------------------------
# Notes:
# - 2022-02-18 Initial vesion of file (2.0.0.0)
# - 2022-02-18 Added "return format" (2.0.0.0)
# - 2022-02-27 added USTN version of variables (2.0.0.0)
# - 2022-02-28 Initial Release (2.0.0.0)
#
#--------------------------------------------------------------------------------------------------
# Available Variables: Variables previously defined in configuration that may be applicable to cfg file
#
# CSB Block/CFG File Level Variable Value
# Common_Predefined.cfg Pre-defined _DYNAMIC_DATASOURCE_BENTLEYROOT PW Moniker to folder that houses Common_Predefined.cfg
# Common_Predefined.cfg Pre-defined _DYNAMIC_WORKAREA $(DMS_PROJECT(_DGNDIR))
# Common_Predefined.cfg Pre-defined _DYNAMIC_WORKAREA_NAME $(LASTDIRPIECE(_DYNAMIC_WORKAREA))
# Common_Predefined.cfg Pre-defined _DYNAMIC_PARENTWORKAREA $(DMS_PARENTPROJECT(_DGNDIR))
# Common_Predefined.cfg Pre-defined _DYNAMIC_PARENTWORKAREA_NAME $(LASTDIRPIECE(_DYNAMIC_PARENTWORKAREA))
# Common_Predefined.cfg Pre-defined _DYNAMIC_CONNECTEDPROJECT $(DMS_CONNECTEDPROJECT(_DGNDIR))
# Common_Predefined.cfg Pre-defined _DYNAMIC_CONNECTEDPROJECTNAME $(LASTDIRPIECE(_DYNAMIC_CONNECTEDPROJECT))
# Common_Predefined.cfg Pre-defined _USTN_CONNECT_PROJECTGUID $(DMS_CONNECTEDPROJECTGUID(_DGNDIR))
#
# Common_Predefined.cfg Pre-defined _DYNAMIC_MSG_NOT_FOUND NOT FOUND
# Common_Predefined.cfg Pre-defined _DYNAMIC_MSG_VERIFY_PATH PLEASE VERIFY SPELLING AND PATH OF VARIABLE.
#
# Common_Predefined.cfg Pre-defined _DYNAMIC_PWSETUP_PATH _PWSetup
#
###################################################################################################
###################################################################################################
# DYNAMIC CONFIG VARIABLE
#--------------------------------------------------------------------------------------------------
# The "_DYNAMIC_CONFIGS" variable can be appended in each cfg file to track
# loading of cfgs and other notations.
###################################################################################################
_DYNAMIC_CONFIGS > Common_Predefined_ProductVersion.cfg 2.0.0.0
###################################################################################################
# ADVANCED SYNTAX: PRODUCT VERSION
#--------------------------------------------------------------------------------------------------
# This section allows dectection of product version
# In PowerPlatform Update 16.2 the following variables are set in each product:
# _USTN_PRODUCT_VERSION_GENERATION
# _USTN_PRODUCT_VERSION_MAJOR
# _USTN_PRODUCT_VERSION_MINOR
# _USTN_PRODUCT_VERSION_BUILD
#
# If these variable are set, the registry read is not required
#
###################################################################################################
###################################################################################################
# Read Registry to find product version
###################################################################################################
%if !defined (_USTN_PRODUCT_VERSION_GENERATION)
%include $(_ROOTDIR)config/msdir.cfg
%if defined (_VERSION_8_11) || defined (_VERSION_8_10)
_DYNAMIC_PRODUCT_VERSION_REGISTRY = ${registryread{"HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Bentley\Installed_Products\$(MS_PRODUCTCODEGUID)\DisplayVersion"}} #return format 00.00.00.00\
%else
_DYNAMIC_PRODUCT_VERSION_REGISTRY = ${registryread{"HKEY_CLASSES_ROOT\Installer\Dependencies\$(MS_PRODUCTCODEGUID)\Version"}} #return format 00.00.00.00\
%endif
_DYNAMIC_PRODUCT_VERSION = lastdirpiece(C:\${_DYNAMIC_PRODUCT_VERSION_REGISTRY}) #return format 00.00.00.00, removes trailing slash
_DYNAMIC_PRODUCT_VERSION_GEN_MAJ_MNR = basename(${_DYNAMIC_PRODUCT_VERSION}) #return format 00.00.00, removes build number
_DYNAMIC_PRODUCT_VERSION_GEN_MAJ = basename(${_DYNAMIC_PRODUCT_VERSION_GEN_MAJ_MNR}) #return format 00.00, removes minor version number
%else
_DYNAMIC_PRODUCT_VERSION_GEN_MAJ =$(_USTN_PRODUCT_VERSION_GENERATION).$(_USTN_PRODUCT_VERSION_MAJOR)
_DYNAMIC_PRODUCT_VERSION_GEN_MAJ_MNR =$(_DYNAMIC_PRODUCT_VERSION_GEN_MAJ).$(_USTN_PRODUCT_VERSION_MINOR)
%endif
_USTN_PRODUCT_VERSION :_DYNAMIC_PRODUCT_VERSION
_USTN_PRODUCT_VERSION_GEN_MAJ_MNR :_DYNAMIC_PRODUCT_VERSION_GEN_MAJ_MNR
_USTN_PRODUCT_VERSION_GEN_MAJ :_DYNAMIC_PRODUCT_VERSION_GEN_MAJ
_DYNAMIC_PRODUCT_VERSION_PROCESSED=1