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 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.