Disable Skype Auto-update - Updates for Windows Applications

written by jgstew

I have made an improvement to the “Disable Skype Auto-update” task in the “Updates for Windows Applications” site:
http://bigfix.me/fixlet/details/3661

written by liuhoting

Sweet! We can do a diff but can you tell us how your version is different than what’s published in Updates for Win Apps? We might want to make it available for everyone in the site itself.

written by jgstew

I broke apart Relevance #6 in the current one in “Updates for Win Apps” into 3 separate checks to simplify each statement.

Currently Relevance #6 depends on the existence of the key “HKLM\Software\Skype\Phone” and the value “SkypePath” of it. I broke this dependency out as a separate check.

/* Only relevant if skype is installed */ exists key “HKLM\Software\Skype” whose(exists key “Phone” of it AND exists value “SkypePath” of key “Phone” of it) of registry

Relevance #6 also depends on an actual file existing that correlates with the “SkypePath” in the registry to do a version check, which I broke out as the following:

/* Only relevant if skype is installed */ exists file ((value “SkypePath” of key “Phone” of it as string) of key “HKLM\Software\Skype” of registry)

Then I put the version check first, then check for the specific way to disable updates for that version immediately after, so it would only check if updates are disabled in the correct location for that version, instead of checking for if updates were disabled first, which is redundant if the wrong version is installed:

( /* Check if updates are disabled for Skype < version 6.5 / ((version of file (value “SkypePath” of key “Phone” of it as string) < “6.5”) AND (not exist key “Phone” whose (value “DisableVersionCheck” of it = 1) of it)) OR / Check if updates are disabled for Skype >= version 6.5 */ ((version of file (value “SkypePath” of key “Phone” of it as string) >= “6.5”) AND (not exist key “Installer” whose (value “InstallUpdates” of it = 0) of it))) of key “HKLM\Software\Skype” of registry

Then in the actionscript, I only set the regkey depending on which version is installed, instead of setting both keys.

if{((version of file (value “SkypePath” of key “Phone” of it as string)) of key “HKLM\Software\Skype” of registry) < “6.5”}

regset “[HKEY_LOCAL_MACHINE\SOFTWARE\Skype\Phone]” “DisableVersionCheck”=dword:00000001

else

regset “[HKEY_LOCAL_MACHINE\SOFTWARE\Skype\Installer]” “InstallUpdates”=dword:00000000

endif

I did this assuming the original disable updates worked correctly, just improved & simplified the way that it worked. I have not thoroughly validated the original behavior, or this improvement upon it. I also made the assumption that if the skype version was >= 6.5 then you only have to set “InstallUpdates” and not both “InstallUpdates” and “DisableVersionCheck”, which I might be incorrect about. I based this assumption on the way the existing Relevance #6 was written.

written by BaiYunfei

Hi James,

Thank you very much for your work. Your optimization of the relevance makes it much more efficient.

I will make this change into the Fixlet for publish.

written by jgstew

Your welcome.

written by BaiYunfei

Hi,

The content is published with Updates for Windows Applications site version 624.