diff --git a/Updater/Update-Service.ps1 b/Updater/Update-Service.ps1
index 9c1153e6a021a26815913241a0aa7a9c238076f6..f12c233122a539362d94b4740420ca09adf5df10 100644
--- a/Updater/Update-Service.ps1
+++ b/Updater/Update-Service.ps1
@@ -569,90 +569,98 @@ Exit-IfDirMissing $UploadPathLogs "log file target"
 #       terminates the entire script:
 Upload-LogFiles
 
-$UpdItems = @()
-$ConfigShouldBeUpdated = NewConfig-Available $ConfigPath
-$ServiceShouldBeUpdated = ServiceUpdate-Requested
-if (-Not ($ConfigShouldBeUpdated -Or $ServiceShouldBeUpdated)) {
-    Log-Debug "No update action found to be necessary."
-    Exit
-}
+try {
+    $UpdItems = @()
+    $ConfigShouldBeUpdated = NewConfig-Available $ConfigPath
+    $ServiceShouldBeUpdated = ServiceUpdate-Requested
+    if (-Not ($ConfigShouldBeUpdated -Or $ServiceShouldBeUpdated)) {
+        Log-Debug "No update action found to be necessary."
+        Exit
+    }
 
-# define where the configuration is located that should be tested:
-$ConfigToTest = $ConfigPath
-if ($ConfigShouldBeUpdated) {
-    $ConfigToTest = $UpdPathConfig
-    $UpdItems += "configuration files"
-}
+    # define where the configuration is located that should be tested:
+    $ConfigToTest = $ConfigPath
+    if ($ConfigShouldBeUpdated) {
+        $ConfigToTest = $UpdPathConfig
+        $UpdItems += "configuration files"
+    }
 
-# define which configuration checker executable to use for testing:
-$ConftestExe = "$($InstallationPath)\AutoTxConfigTest.exe"
-if ($ServiceShouldBeUpdated) {
-    $UpdPackage = Find-InstallationPackage
-    $ConftestExe = "$($UpdPackage)\$($ServiceName)\AutoTxConfigTest.exe"
-    $UpdItems += "service binaries"
-}
+    # define which configuration checker executable to use for testing:
+    $ConftestExe = "$($InstallationPath)\AutoTxConfigTest.exe"
+    if ($ServiceShouldBeUpdated) {
+        $UpdPackage = Find-InstallationPackage
+        $ConftestExe = "$($UpdPackage)\$($ServiceName)\AutoTxConfigTest.exe"
+        $UpdItems += "service binaries"
+    }
 
-# now we're all set and can run the config test:
-$ConfigValid, $ConfigSummary = Config-IsValid $ConftestExe $ConfigToTest
+    # now we're all set and can run the config test:
+    $ConfigValid, $ConfigSummary = Config-IsValid $ConftestExe $ConfigToTest
 
 
-# if we don't have a valid configuration we complain and terminate:
-if (-Not ($ConfigValid)) {
-    Log-Error "Configuration not valid for service, $($Me) terminating!"
-    Send-MailReport -Subject "Update failed, configuration invalid!" `
-        -Body $("An update action was found to be necessary, however the"
-            "configuration didn't`npass the validator.`n`nThe following"
-            "summary was generated by the configuration checker:"
-            "`n`n$($ConfigSummary)")
-    Exit
-}
+    # if we don't have a valid configuration we complain and terminate:
+    if (-Not ($ConfigValid)) {
+        Log-Error "Configuration not valid for service, $($Me) terminating!"
+        Send-MailReport -Subject "Update failed, configuration invalid!" `
+            -Body $("An update action was found to be necessary, however the"
+                "configuration didn't`npass the validator.`n`nThe following"
+                "summary was generated by the configuration checker:"
+                "`n`n$($ConfigSummary)")
+        Exit
+    }
 
 
-# reaching this point means
-#    (1) something needs to be updated (config, service or both)
-#  AND
-#    (2) the config validates with the corresponding service version
-Write-Verbose "Required update items:`n> - $($UpdItems -join "`n> - ")`n"
+    # reaching this point means
+    #    (1) something needs to be updated (config, service or both)
+    #  AND
+    #    (2) the config validates with the corresponding service version
+    Write-Verbose "Required update items:`n> - $($UpdItems -join "`n> - ")`n"
 
-if ($ConfigShouldBeUpdated) {
-    $ConfigUpdated = Update-Configuration
-    if (-Not $ConfigUpdated) {
-        $msg = "Updating the configuration failed, $($Me) terminating!"
-        Log-Error $msg
-        Send-MailReport -Subject "updated failed!" -Body $msg
-        Exit
+    if ($ConfigShouldBeUpdated) {
+        $ConfigUpdated = Update-Configuration
+        if (-Not $ConfigUpdated) {
+            $msg = "Updating the configuration failed, $($Me) terminating!"
+            Log-Error $msg
+            Send-MailReport -Subject "updated failed!" -Body $msg
+            Exit
+        }
     }
-}
 
-if ($ServiceShouldBeUpdated) {
-    $ServiceUpdated = Update-ServiceBinaries
-    if (-Not $ServiceUpdated) {
-        $msg = "Updating the service binaries failed, $($Me) terminating!"
-        Log-Error $msg
-        Send-MailReport -Subject "updated failed!" -Body $msg
-        Exit        
+    if ($ServiceShouldBeUpdated) {
+        $ServiceUpdated = Update-ServiceBinaries
+        if (-Not $ServiceUpdated) {
+            $msg = "Updating the service binaries failed, $($Me) terminating!"
+            Log-Error $msg
+            Send-MailReport -Subject "updated failed!" -Body $msg
+            Exit        
+        }
     }
-}
 
-$UpdSummary = "Updated $($UpdItems -join " and ")."
+    $UpdSummary = "Updated $($UpdItems -join " and ")."
 
 
 
-if ($ServiceRunningBefore) {
-    Log-Debug "$($UpdSummary) Trying to start the service again..."
-    Start-MyService
-} else {
-    Log-Debug "$($UpdSummary) Leaving the service stopped, as before."
-}
+    if ($ServiceRunningBefore) {
+        Log-Debug "$($UpdSummary) Trying to start the service again..."
+        Start-MyService
+    } else {
+        Log-Debug "$($UpdSummary) Leaving the service stopped, as before."
+    }
 
-$UpdDetails = $("An $($Me) run completed successfully. Updated items:"
-    "`n> - $($UpdItems -join "`n> - ")")
-if ($ConfigUpdated) {
-    $UpdDetails += "`n`nConfig validation summary:`n$($ConfigSummary)"
+    $UpdDetails = $("An $($Me) run completed successfully. Updated items:"
+        "`n> - $($UpdItems -join "`n> - ")")
+    if ($ConfigUpdated) {
+        $UpdDetails += "`n`nConfig validation summary:`n$($ConfigSummary)"
+    }
+}
+catch {
+    $UpdDetails = $("Unexpected problem, check logs! $($Me) terminating."
+        "`n`n$($_.Exception.Message)")
+    $UpdSummary = "ERROR, unhandled problem occurered!"
+    Log-Error $UpdDetails
 }
 
-Send-MailReport -Subject "$UpdSummary" -Body "$UpdDetails"
 
+Send-MailReport -Subject "$UpdSummary" -Body "$UpdDetails"
 
 Upload-LogFiles