-------------------------------------------------------------------------------------------
on smileVer(_str)
set _digits to find text "[0-9.]+" in _str with regexp, all occurrences and string result
set _ver to item 1 of _digits
set _ver to change "." into "" in _ver
set _build to item 2 of _digits
return {_ver, _build}
end smileVer
set strA to "Smile 3.6.1 (build 710) full edition"
set strB to "Smile 3.10.0 (build 768) full edition"
set {ver1, _build1} to smileVer(strA)
set {ver2, _build2} to smileVer(strB)
if (ver2 as integer) > (ver1 as integer) then
# Download new version
true
else if (ver2 as integer) = (ver1 as integer) then
if (build2 as integer) > (build1 as integer) then
# Download new version
true
end if
end if
-------------------------------------------------------------------------------------------
Collapsing the dots ought to safely produce a number that can be evaluated.