Skype Patching Failing?

We have been seeing a significant failure rate with Skype in recent months across our fleet of machines. After some troubleshooting, we determined that the relevance in the default action script is not taking into account MS updates that install with the Display Name of “Update for Skype for Business” in the registry. The action script is returning a singular but bombs out when it returns a plural.

By slightly tweaking the following in the action script to ignore the “Update for Skype for Business” registry keys, we are able to get Skype patching successfully and will be deploying to production later this week.

wait msiexec /x {name of key whose (name of it starts with “{” and (it contains “Skype” AND it != “Skype Click to Call” AND it does not contain “Toolbars”) of (value “DisplayName” of it as string)) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry} /qn /norestart

to

wait msiexec /x {name of key whose (name of it starts with “{” and (it contains “Skype” AND it != “Skype Click to Call” AND it does not contain “Toolbars” AND it does not contain “Update for Skype for Business”) of (value “DisplayName” of it as string)) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry} /qn /norestart

These updates typically will be installed when Windows detects Visio 2013, Project 2013, or Lync in Office 2013 (based on the properties that we custom wrote and other misc available external properties - there may be more triggers).

Example Update:

1 Like

Properties used to detect/narrow down the issue:

Skype Exists?

exists keys whose (name of it starts with “{” and (it contains “Skype” AND it != “Skype Click to Call” AND it does not contain “Toolbars” and it does not contain “Update for Skype for Business” ) of (value “DisplayName” of it as string)) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry

Detecting “Update for Skype for Business” updates installed:

(name of it, value “DisplayName” of it) of key whose (name of it starts with “{” and (it contains “Skype” AND it != “Skype Click to Call” AND it does not contain “Toolbars” and it contains “Update for Skype for Business”) of (value “DisplayName” of it as string)) of keys “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry as string | “No Update for Skype Business Found”

Registry Keys containing Skype:

(value “DisplayName” of it, name of it) of keys whose (name of it starts with “{” and (it contains “Skype” AND it != “Skype Click to Call” AND it does not contain “Toolbars”) of (value “DisplayName” of it as string)) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry

Thanks cdh!
The fixlet has been modified in version 804.