Deyda / NeverRed

NeverRed's focus is to provide a simple solution to keep standard software up to date without having to package it or search and compare versions on vendor sites. https://www.deyda.net/index.php/en/neverred/
33 stars 5 forks source link

Citrix Workspace Installation Detection #86

Closed jpmoock closed 4 months ago

jpmoock commented 4 months ago

Currently the $WSA variable matches on several partial strings in the UninstallString registry value:

$WSA = (Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {$_.DisplayName -like "*Citrix Workspace*" -and $_.UninstallString -like "*Trolley*"}).DisplayVersion | Sort-Object -Property Version -Descending | Select-Object -First 1

If (!$WSA) {
   $WSA = (Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {$_.DisplayName -like "*Citrix Workspace*" -and $_.UninstallString -like "*Trolley*"}).DisplayVersion | Sort-Object -Property Version -Descending | Select-Object -First 1
}

If (!$WSA) {
   $WSA = (Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {$_.DisplayName -like "*Citrix Workspace*" -and $_.UninstallString -like "*CWAInstaller*"}).DisplayVersion | Sort-Object -Property Version -Descending | Select-Object -First 1
}

If (!$WSA) {
   $WSA = (Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Where-Object {$_.DisplayName -like "*Citrix Workspace*" -and $_.UninstallString -like "*CWAInstaller*"}).DisplayVersion | Sort-Object -Property Version -Descending | Select-Object -First 1
}

However Citrix Workspace 2402 LTSR has the following uninstall string:

"C:\Program Files (x86)\Citrix\Citrix Workspace 2402\bootstrapperhelper.exe" /uninstall /cleanup

The result is that the Citrix Workspace app is uninstalled and reinstalled unecessarily.

Deyda commented 4 months ago

So if u try to update Citrix WSA it doesnt work or what is the error ?

jpmoock commented 4 months ago

The script detects that no version is installed (even though Citrix WSA 2402 LTSR is already installed) and reinstalls the current version over top of itself.

Deyda commented 4 months ago

So u have installed WSA LTSR and select WSA Current Release. But then it is a normal behaviour to install current over ltsr

jpmoock commented 4 months ago

Line 3 of my LastSetting file is set to 1, which indicates LTSR. I've attached an image showing the settings as well.

VDA was installed with CVAD 2203 LTSR CU4 Update 1, including WSA LTSR.

NeverRed is ran and correctly updates WSA LTSR to 2402 LTSR

When NeverRed is ran a second time, it does not see that WSA LTSR is installed (even though it is) because the uninstall command has changed, and it reinstalls 2402 LTSR unnecessarily.

NeverRed

jpmoock commented 4 months ago

It appears that this issue was corrected in 2.10.36 or 2.10.37. Thank you