I generally always have relevance such that the installer will only run if an older version of the software is present, or the software is not present at all.
thank you. in my case, i need it only for computers who have the program installed, so i’m assuming i need one relevance for existence and one relevance for version
exists files whose (name of it = "Zoom.exe" and version of it <= "x.x.x") of folder "\AppData\Roaming\zoom\bin" of folder whose (exists folder "\AppData\Roaming\zoom\bin" of it) of folder "C:\Users" or exists files whose (name of it = "Zoom.exe" and version of it <= "x.x.x") of folder "Zoom\bin" of (program files x32 folders; program files x64 folders)
It is actually faster and easier just to use plurals:
files "Zoom.exe" of folders "Zoom\bin" of ( (folders "AppData\Roaming" of folders of folders "C:\Users"); (program files x32 folders; program files x64 folders) )
so there is 3 different ways to write the relevance, one for computers that have an older version installed, or for those that don’t have it installed, or for both.
If you are installing the system wide zoom, then you might only want to check for it in that location, since 1 user could have a newer version on the same system in which the system wide version is older. You could read the zoom version from the file or the registry. I generally prefer the registry but I’ll stick with the file as @MMosley has demoed.
exists versions whose(it < "x.x.x") of files "Zoom.exe" of folders "Zoom\bin" of (program files x32 folders; program files x64 folders)
exists versions whose(it <= "5,0,23502,0430") of files "Zoom.exe" of folders "Zoom\bin" of (program files x32 folders; program files x64 folders)
and the lookup according to “false”. because if i’ll use “true” then the group will list only computers with this version and above.
i get almost every computer on the network, most of doesn’t have zoom at all. so i must be doing something wrong.
yes, i was just thinking about that. my lookup should be only if there is a file, as first condition
so what’s the best way to approach this? maybe do 2 relevance? one for existence and one for version and force it to “all” and not “any”?
This will give True where an old version of Zoom is present. Assuming that the commas rather than periods in version numbers are valid for your computers’ region.
You may also be able to parse the registry which might have less overhead than checking the file system
Q: exists versions whose (it <= "5.0.23502.0430") of files (values "DisplayIcon" of keys whose ((value "DisplayName" of it as string as lowercase contains "zoom")) of (keys "Software\Microsoft\Windows\CurrentVersion\Uninstall" of keys of key "HKEY_USERS" of registry) as string)
A: True
T: 1.148 ms
I: singular boolean
one more question. i didn’t do it for a while. i need to create a ReApply task for it. i don’t remember the syntax for prefetching an msi file that resides on a network share
i want to do a task with no end date, that it’s action script will be fetching an msi installer that resides on a network share and push it to targets (in that case, the computer group that has the relevance).