Improve handling of Adobe's CC Cleaner tool

This PR implements a try-catch-finally struct to do a better handling of Adobe's Creative Cloud Cleaner tool downloading and running of such program.

This will allow to see any errors that occurs if the URL changes, the tool fails to run, or anything else.

I also have moved the cleaning up process to the finally part of the structure, as it makes the most sense.

This tries to fix or sanitize the issue #1563.
This commit is contained in:
Ken Hoo
2024-02-20 18:37:06 +00:00
committed by GitHub
parent 31c6622926
commit fb49fb9efa

View File

@ -11,18 +11,22 @@ function Invoke-WPFRunAdobeCCCleanerTool {
Write-Host "The Adobe Creative Cloud Cleaner tool is hosted at" Write-Host "The Adobe Creative Cloud Cleaner tool is hosted at"
Write-Host "$url" Write-Host "$url"
# Don't show the progress because it will slow down the download speed try {
$ProgressPreference='SilentlyContinue' # Don't show the progress because it will slow down the download speed
$ProgressPreference='SilentlyContinue'
Invoke-WebRequest -Uri $url -OutFile "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -UseBasicParsing -ErrorAction SilentlyContinue -Verbose Invoke-WebRequest -Uri $url -OutFile "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -UseBasicParsing -ErrorAction SilentlyContinue -Verbose
# Revert back the ProgressPreference variable to the default value since we got the file desired # Revert back the ProgressPreference variable to the default value since we got the file desired
$ProgressPreference='Continue' $ProgressPreference='Continue'
Start-Process -FilePath "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -Wait -ErrorAction SilentlyContinue -Verbose Start-Process -FilePath "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -Wait -ErrorAction SilentlyContinue -Verbose
} catch {
if (Test-Path -Path "$env:TEMP\AdobeCreativeCloudCleanerTool.exe") { Write-Error $_.Exception.Message
Write-Host "Cleaning up..." } finally {
Remove-Item -Path "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -Verbose if (Test-Path -Path "$env:TEMP\AdobeCreativeCloudCleanerTool.exe") {
Write-Host "Cleaning up..."
Remove-Item -Path "$env:TEMP\AdobeCreativeCloudCleanerTool.exe" -Verbose
}
} }
} }