From 15f2add5e1a86b5d30db6be75bb279883fa0d12a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Fri, 5 Nov 2021 20:46:37 +0100 Subject: [PATCH 1/5] Updated msupdate call Separate lines for running `msupdate --list` before running the update tool, but currently it runs if just msupdate exist, and not only if we run the updateTool. --- fragments/labels/microsoftcompanyportal.sh | 5 ++++- fragments/labels/microsoftdefenderatp.sh | 5 ++++- fragments/labels/microsoftedge.sh | 5 ++++- fragments/labels/microsoftedgeenterprisestable.sh | 5 ++++- fragments/labels/microsoftexcel.sh | 5 ++++- fragments/labels/microsoftoffice365.sh | 5 ++++- fragments/labels/microsoftofficebusinesspro.sh | 5 ++++- fragments/labels/microsoftonedrive.sh | 5 ++++- fragments/labels/microsoftonenote.sh | 5 ++++- fragments/labels/microsoftoutlook.sh | 5 ++++- fragments/labels/microsoftpowerpoint.sh | 5 ++++- fragments/labels/microsoftremotedesktop.sh | 5 ++++- fragments/labels/microsoftskypeforbusiness.sh | 5 ++++- fragments/labels/microsoftword.sh | 5 ++++- 14 files changed, 56 insertions(+), 14 deletions(-) diff --git a/fragments/labels/microsoftcompanyportal.sh b/fragments/labels/microsoftcompanyportal.sh index 335d3d0..1b86700 100644 --- a/fragments/labels/microsoftcompanyportal.sh +++ b/fragments/labels/microsoftcompanyportal.sh @@ -5,6 +5,9 @@ microsoftcompanyportal) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.intunecompanyportal.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/CompanyPortal_.*pkg" | cut -d "_" -f 2 | cut -d "-" -f 1) expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps IMCP01 ) ;; diff --git a/fragments/labels/microsoftdefenderatp.sh b/fragments/labels/microsoftdefenderatp.sh index 964b69a..1dab6a6 100644 --- a/fragments/labels/microsoftdefenderatp.sh +++ b/fragments/labels/microsoftdefenderatp.sh @@ -5,6 +5,9 @@ microsoftdefenderatp) appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.defender.standalone"]/version' 2>/dev/null | sed -E 's/([0-9.]*) .*/\1/') # No version number in download url expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps WDAV00 ) ;; diff --git a/fragments/labels/microsoftedge.sh b/fragments/labels/microsoftedge.sh index 2089f4f..b4319fc 100644 --- a/fragments/labels/microsoftedge.sh +++ b/fragments/labels/microsoftedge.sh @@ -6,6 +6,9 @@ microsoftedgeconsumerstable) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.edge"]/cfbundleversion' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/MicrosoftEdge.*pkg" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g') expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps EDGE01 ) ;; diff --git a/fragments/labels/microsoftedgeenterprisestable.sh b/fragments/labels/microsoftedgeenterprisestable.sh index 2b85afa..60133be 100644 --- a/fragments/labels/microsoftedgeenterprisestable.sh +++ b/fragments/labels/microsoftedgeenterprisestable.sh @@ -5,6 +5,9 @@ microsoftedgeenterprisestable) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.edge"]/version' 2>/dev/null | sed -E 's/([0-9.]*) .*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/MicrosoftEdge.*pkg" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g') expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps EDGE01 ) ;; diff --git a/fragments/labels/microsoftexcel.sh b/fragments/labels/microsoftexcel.sh index 9d18b59..614c65d 100644 --- a/fragments/labels/microsoftexcel.sh +++ b/fragments/labels/microsoftexcel.sh @@ -5,6 +5,9 @@ microsoftexcel) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.excel.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2) expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps XCEL2019 ) ;; diff --git a/fragments/labels/microsoftoffice365.sh b/fragments/labels/microsoftoffice365.sh index 3ef3429..5765fca 100644 --- a/fragments/labels/microsoftoffice365.sh +++ b/fragments/labels/microsoftoffice365.sh @@ -7,7 +7,10 @@ microsoftoffice365) expectedTeamID="UBF8T346G9" # using MS PowerPoint as the 'stand-in' for the entire suite #appName="Microsoft PowerPoint.app" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi blockingProcesses=( "Microsoft AutoUpdate" "Microsoft Word" "Microsoft PowerPoint" "Microsoft Excel" "Microsoft OneNote" "Microsoft Outlook" "OneDrive" ) - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install ) ;; diff --git a/fragments/labels/microsoftofficebusinesspro.sh b/fragments/labels/microsoftofficebusinesspro.sh index cbc3dd2..e0bbeb2 100644 --- a/fragments/labels/microsoftofficebusinesspro.sh +++ b/fragments/labels/microsoftofficebusinesspro.sh @@ -6,7 +6,10 @@ microsoftofficebusinesspro) expectedTeamID="UBF8T346G9" # using MS PowerPoint as the 'stand-in' for the entire suite appName="Microsoft PowerPoint.app" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi blockingProcesses=( "Microsoft AutoUpdate" "Microsoft Word" "Microsoft PowerPoint" "Microsoft Excel" "Microsoft OneNote" "Microsoft Outlook" "OneDrive" "Teams") - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install ) ;; diff --git a/fragments/labels/microsoftonedrive.sh b/fragments/labels/microsoftonedrive.sh index 25a25ff..bf7db61 100644 --- a/fragments/labels/microsoftonedrive.sh +++ b/fragments/labels/microsoftonedrive.sh @@ -5,6 +5,9 @@ microsoftonedrive) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.onedrive.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | cut -d "/" -f 6 | cut -d "." -f 1-3) expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps ONDR18 ) ;; diff --git a/fragments/labels/microsoftonenote.sh b/fragments/labels/microsoftonenote.sh index bff8ede..7e44582 100644 --- a/fragments/labels/microsoftonenote.sh +++ b/fragments/labels/microsoftonenote.sh @@ -5,6 +5,9 @@ microsoftonenote) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.onenote.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2) expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps ONMC2019 ) ;; diff --git a/fragments/labels/microsoftoutlook.sh b/fragments/labels/microsoftoutlook.sh index 583de23..bcc6e08 100644 --- a/fragments/labels/microsoftoutlook.sh +++ b/fragments/labels/microsoftoutlook.sh @@ -5,6 +5,9 @@ microsoftoutlook) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.outlook.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2) expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps OPIM2019 ) ;; diff --git a/fragments/labels/microsoftpowerpoint.sh b/fragments/labels/microsoftpowerpoint.sh index 0bebefc..51e205e 100644 --- a/fragments/labels/microsoftpowerpoint.sh +++ b/fragments/labels/microsoftpowerpoint.sh @@ -5,6 +5,9 @@ microsoftpowerpoint) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.powerpoint.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2) expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps PPT32019 ) ;; diff --git a/fragments/labels/microsoftremotedesktop.sh b/fragments/labels/microsoftremotedesktop.sh index a071372..f61c55d 100644 --- a/fragments/labels/microsoftremotedesktop.sh +++ b/fragments/labels/microsoftremotedesktop.sh @@ -5,6 +5,9 @@ microsoftremotedesktop) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.remotedesktop.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_Remote_Desktop.*pkg" | cut -d "_" -f 4) expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps MSRD10 ) ;; diff --git a/fragments/labels/microsoftskypeforbusiness.sh b/fragments/labels/microsoftskypeforbusiness.sh index f4526b1..60d4485 100644 --- a/fragments/labels/microsoftskypeforbusiness.sh +++ b/fragments/labels/microsoftskypeforbusiness.sh @@ -5,6 +5,9 @@ microsoftskypeforbusiness) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.skypeforbusiness.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g') expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps MSFB16 ) ;; diff --git a/fragments/labels/microsoftword.sh b/fragments/labels/microsoftword.sh index 4acebdd..2a10a48 100644 --- a/fragments/labels/microsoftword.sh +++ b/fragments/labels/microsoftword.sh @@ -5,6 +5,9 @@ microsoftword) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.word.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2) expectedTeamID="UBF8T346G9" - updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate --list; /Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list + fi + updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" updateToolArguments=( --install --apps MSWD2019 ) ;; From 75addfe8ea4819ad06111eb22de72a2b58588e36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Fri, 5 Nov 2021 21:12:34 +0100 Subject: [PATCH 2/5] Update microsoftoffice365.sh --- fragments/labels/microsoftoffice365.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fragments/labels/microsoftoffice365.sh b/fragments/labels/microsoftoffice365.sh index 5765fca..c6b240e 100644 --- a/fragments/labels/microsoftoffice365.sh +++ b/fragments/labels/microsoftoffice365.sh @@ -7,7 +7,8 @@ microsoftoffice365) expectedTeamID="UBF8T346G9" # using MS PowerPoint as the 'stand-in' for the entire suite #appName="Microsoft PowerPoint.app" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi blockingProcesses=( "Microsoft AutoUpdate" "Microsoft Word" "Microsoft PowerPoint" "Microsoft Excel" "Microsoft OneNote" "Microsoft Outlook" "OneDrive" ) From 1931973b54738b9306d5217b48ce5dd08893445d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Fri, 5 Nov 2021 21:30:26 +0100 Subject: [PATCH 3/5] Fixed INSTALL=force no matter the version If `INSTALL=force` is used, then previously we would need installed version and appNewVersion to be equal for the updateTool to be skipped. Not anymore. --- fragments/main.sh | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/fragments/main.sh b/fragments/main.sh index dfba2c9..6a5cd93 100644 --- a/fragments/main.sh +++ b/fragments/main.sh @@ -117,6 +117,10 @@ printlog "appversion: $appversion" # MARK: Exit if new version is the same as installed version (appNewVersion specified) # credit: Søren Theilgaard (@theilgaard) +if [[ $INSTALL == "force" ]]; then + printlog "Using force to install, so not using updateTool." + updateTool="" +fi if [[ -n $appNewVersion ]]; then printlog "Latest version of $name is $appNewVersion" if [[ $appversion == $appNewVersion ]]; then @@ -129,9 +133,6 @@ if [[ -n $appNewVersion ]]; then displaynotification "$message" "No update for $name!" fi cleanupAndExit 0 "No newer version." - else - printlog "Using force to install anyway. Not using updateTool." - updateTool="" fi else printlog "DEBUG mode enabled, not exiting, but there is no new version of app." @@ -139,10 +140,6 @@ if [[ -n $appNewVersion ]]; then fi else printlog "Latest version not specified." - if [[ $INSTALL == "force" ]]; then - printlog "Using force to install, so not using updateTool." - updateTool="" - fi fi # MARK: check if this is an Update and we can use updateTool From c5a719b176b301265a7b3891743737a30c19b71a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Fri, 5 Nov 2021 21:32:25 +0100 Subject: [PATCH 4/5] microsoft labels --- fragments/labels/microsoftcompanyportal.sh | 3 ++- fragments/labels/microsoftdefenderatp.sh | 3 ++- fragments/labels/microsoftedge.sh | 3 ++- fragments/labels/microsoftedgeenterprisestable.sh | 3 ++- fragments/labels/microsoftexcel.sh | 3 ++- fragments/labels/microsoftofficebusinesspro.sh | 3 ++- fragments/labels/microsoftonedrive.sh | 3 ++- fragments/labels/microsoftonenote.sh | 3 ++- fragments/labels/microsoftoutlook.sh | 3 ++- fragments/labels/microsoftpowerpoint.sh | 3 ++- fragments/labels/microsoftremotedesktop.sh | 3 ++- fragments/labels/microsoftskypeforbusiness.sh | 3 ++- fragments/labels/microsoftword.sh | 3 ++- 13 files changed, 26 insertions(+), 13 deletions(-) diff --git a/fragments/labels/microsoftcompanyportal.sh b/fragments/labels/microsoftcompanyportal.sh index 1b86700..6285730 100644 --- a/fragments/labels/microsoftcompanyportal.sh +++ b/fragments/labels/microsoftcompanyportal.sh @@ -5,7 +5,8 @@ microsoftcompanyportal) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.intunecompanyportal.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/CompanyPortal_.*pkg" | cut -d "_" -f 2 | cut -d "-" -f 1) expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" diff --git a/fragments/labels/microsoftdefenderatp.sh b/fragments/labels/microsoftdefenderatp.sh index 1dab6a6..a156277 100644 --- a/fragments/labels/microsoftdefenderatp.sh +++ b/fragments/labels/microsoftdefenderatp.sh @@ -5,7 +5,8 @@ microsoftdefenderatp) appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.defender.standalone"]/version' 2>/dev/null | sed -E 's/([0-9.]*) .*/\1/') # No version number in download url expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" diff --git a/fragments/labels/microsoftedge.sh b/fragments/labels/microsoftedge.sh index b4319fc..7c72af7 100644 --- a/fragments/labels/microsoftedge.sh +++ b/fragments/labels/microsoftedge.sh @@ -6,7 +6,8 @@ microsoftedgeconsumerstable) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.edge"]/cfbundleversion' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/MicrosoftEdge.*pkg" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g') expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" diff --git a/fragments/labels/microsoftedgeenterprisestable.sh b/fragments/labels/microsoftedgeenterprisestable.sh index 60133be..22c6667 100644 --- a/fragments/labels/microsoftedgeenterprisestable.sh +++ b/fragments/labels/microsoftedgeenterprisestable.sh @@ -5,7 +5,8 @@ microsoftedgeenterprisestable) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.edge"]/version' 2>/dev/null | sed -E 's/([0-9.]*) .*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/MicrosoftEdge.*pkg" | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g') expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" diff --git a/fragments/labels/microsoftexcel.sh b/fragments/labels/microsoftexcel.sh index 614c65d..7c57ac0 100644 --- a/fragments/labels/microsoftexcel.sh +++ b/fragments/labels/microsoftexcel.sh @@ -5,7 +5,8 @@ microsoftexcel) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.excel.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2) expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" diff --git a/fragments/labels/microsoftofficebusinesspro.sh b/fragments/labels/microsoftofficebusinesspro.sh index e0bbeb2..739a21b 100644 --- a/fragments/labels/microsoftofficebusinesspro.sh +++ b/fragments/labels/microsoftofficebusinesspro.sh @@ -6,7 +6,8 @@ microsoftofficebusinesspro) expectedTeamID="UBF8T346G9" # using MS PowerPoint as the 'stand-in' for the entire suite appName="Microsoft PowerPoint.app" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi blockingProcesses=( "Microsoft AutoUpdate" "Microsoft Word" "Microsoft PowerPoint" "Microsoft Excel" "Microsoft OneNote" "Microsoft Outlook" "OneDrive" "Teams") diff --git a/fragments/labels/microsoftonedrive.sh b/fragments/labels/microsoftonedrive.sh index bf7db61..722a7a4 100644 --- a/fragments/labels/microsoftonedrive.sh +++ b/fragments/labels/microsoftonedrive.sh @@ -5,7 +5,8 @@ microsoftonedrive) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.onedrive.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | cut -d "/" -f 6 | cut -d "." -f 1-3) expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" diff --git a/fragments/labels/microsoftonenote.sh b/fragments/labels/microsoftonenote.sh index 7e44582..c3ffea0 100644 --- a/fragments/labels/microsoftonenote.sh +++ b/fragments/labels/microsoftonenote.sh @@ -5,7 +5,8 @@ microsoftonenote) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.onenote.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2) expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" diff --git a/fragments/labels/microsoftoutlook.sh b/fragments/labels/microsoftoutlook.sh index bcc6e08..ef48e10 100644 --- a/fragments/labels/microsoftoutlook.sh +++ b/fragments/labels/microsoftoutlook.sh @@ -5,7 +5,8 @@ microsoftoutlook) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.outlook.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2) expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" diff --git a/fragments/labels/microsoftpowerpoint.sh b/fragments/labels/microsoftpowerpoint.sh index 51e205e..f00e30e 100644 --- a/fragments/labels/microsoftpowerpoint.sh +++ b/fragments/labels/microsoftpowerpoint.sh @@ -5,7 +5,8 @@ microsoftpowerpoint) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.powerpoint.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2) expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" diff --git a/fragments/labels/microsoftremotedesktop.sh b/fragments/labels/microsoftremotedesktop.sh index f61c55d..2707be4 100644 --- a/fragments/labels/microsoftremotedesktop.sh +++ b/fragments/labels/microsoftremotedesktop.sh @@ -5,7 +5,8 @@ microsoftremotedesktop) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.remotedesktop.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_Remote_Desktop.*pkg" | cut -d "_" -f 4) expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" diff --git a/fragments/labels/microsoftskypeforbusiness.sh b/fragments/labels/microsoftskypeforbusiness.sh index 60d4485..bfc2de9 100644 --- a/fragments/labels/microsoftskypeforbusiness.sh +++ b/fragments/labels/microsoftskypeforbusiness.sh @@ -5,7 +5,8 @@ microsoftskypeforbusiness) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.skypeforbusiness.standalone"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | sed -E 's/.*\/[a-zA-Z]*-([0-9.]*)\..*/\1/g') expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" diff --git a/fragments/labels/microsoftword.sh b/fragments/labels/microsoftword.sh index 2a10a48..801fb48 100644 --- a/fragments/labels/microsoftword.sh +++ b/fragments/labels/microsoftword.sh @@ -5,7 +5,8 @@ microsoftword) #appNewVersion=$(curl -fs https://macadmins.software/latest.xml | xpath '//latest/package[id="com.microsoft.word.standalone.365"]/cfbundleshortversionstring' 2>/dev/null | sed -E 's/([0-9.]*)<.*/\1/') appNewVersion=$(curl -fsIL "$downloadURL" | grep -i location: | grep -o "/Microsoft_.*pkg" | cut -d "_" -f 3 | cut -d "." -f 1-2) expectedTeamID="UBF8T346G9" - if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" ]]; then + if [[ -x "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" && $INSTALL != "force" ]]; then + printlog "Running msupdate --list" "/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" --list fi updateTool="/Library/Application Support/Microsoft/MAU2.0/Microsoft AutoUpdate.app/Contents/MacOS/msupdate" From 09b84945ed9eea1ef8be52ed17a9f81e8391fcc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Theilgaard?= Date: Thu, 11 Nov 2021 08:50:08 +0100 Subject: [PATCH 5/5] Update CHANGELOG.md --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8f2685f..5820b9e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## v0.8 + +- Microsoft labels with `updateTool` variable, is updated to run `msupdate --list` before running the updateTool directly. Problems have been reported that the update would fail if the `--list` parameter for the command was not run first. + ## v0.7 - default for `BLOCKING_PROCESS_ACTION`is now `BLOCKING_PROCESS_ACTION=tell_user` and not `prompt_user`. It will demand the user to quit the app to get it updated, and not present any option to skip it. In considering various use cases in different MDM solutions this is the best option going forward. Users usually choose to update, and is most often not bothered much with this information. If it's absoultely a bad time, then they can move the dialog box to the side, and click it when ready.