Posted on 02-19-2016 03:33 PM
Adobe must have lost a competent person and hired a newbee to head up the Adobe DC team.
This new versioning system is completely insane. But why am I not surprised?.
EA to identify Acrobat Reader DC (Continuous) 15.010.20056 thru 17.x, so we can deploy patches without inadvertently rolling anyone back. Ugh.
Any suggestions to shorten this is most welcome...
...[snip]...
...[snip]...
...[snip]...
EDIT: Removing the long list of "Like" to avoid confusion, after getting pinged about it.
Solved! Go to Solution.
Posted on 02-20-2016 05:59 PM
More python-ey way of doing the same thing as the script above.
https://gist.github.com/opragel/50c47c7c9c9100e3b1dd#file-ea_adobe_acrobat_dc_versioncheck-py
#!/usr/bin/python
"""
This script checks whether the installed version of Adobe Acrobat DC is
equal, less, or more than the target version defined by APP_TARGET_VERSION
and reports the result in Casper Suite extension attribute style.
T = Local app version is equal to provided current version
N = Local app version is newer than provided current version
F = Local app version is less than provided current version
N/A = Local app plist was not found at provided path
"""
import os.path
import plistlib
from pkg_resources import parse_version
APP_PATH = "/Applications/Adobe Acrobat DC/Adobe Acrobat.app"
APP_VERSION_KEY = "CFBundleShortVersionString"
APP_TARGET_VERSION = "15.010.20059"
def get_version_check_result(app_path, app_version_key, app_target_version):
"""
Reports T if the local app version is equal to target version, F if the
local app version is less than target version, N if the local app
version is greater than target version, and N/A if the plist is not found.
"""
app_plist_path = app_path + "/Contents/Info.plist"
if not os.path.isfile(app_plist_path):
version_check_result = "N/A"
else:
app_info_plist = plistlib.readPlist(app_plist_path)
app_version = app_info_plist[app_version_key]
if parse_version(app_target_version) == parse_version(app_version):
version_check_result = "T"
elif parse_version(app_target_version) < parse_version(app_version):
version_check_result = "N"
else:
version_check_result = "F"
return version_check_result
def main():
""" Executes script functions. """
result = get_version_check_result(APP_PATH,
APP_VERSION_KEY,
APP_TARGET_VERSION)
print '<result>%s</result>' % result
if __name__ == "__main__":
main()
Posted on 05-09-2016 07:24 AM
@mscottblake wow, totally missed your post! Nice article, but doesn't seem to give granular version information. The goal of the above is to enable a team of people (who are at varying degrees of capability) the ability to ensure proper scope for a given update release.
Posted on 07-11-2016 06:00 PM
OK, circling back with fresh eyes, we found a much more manageable/sustainable way to build logic into Smart Computer Groups to compensate for Adobe's incredibly convoluted versioning string for DC products.
Since we know:
xx.xxx.20xxx = Continuous Track xx.xxx.30xxx = Classic Track
...and since Adobe to their credit #CoughCough keeps historical version information on their FTP server:
URL: [ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC](ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC)
ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC/misc/AdobeCustomizationWizard1500720033_DC.dmg ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC/1500820082 ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC/1500920069 ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC/1500920077 ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC/1501020056 ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC/1501020059 ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC/1501020060 ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC/1501620039 ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC/1501620041 ftp://ftp.adobe.com//pub/adobe/acrobat/mac/AcrobatDC/1501620045
...we should only need to use their released versions for logic:
15.007.20033 15.008.20082 15.009.20069 15.009.20077 15.010.20056 15.010.20059 15.010.20060 15.016.20039 15.016.20041 15.016.20045
So, if we are pushing 15.010.20056, this is the simplest, and most manageable/sustainable, way to avoid rollback, is to exclude:
Version is 15.010.20056 (or) Version is 15.010.20059 (or) Version is 15.010.20060 (or) Version is 15.016.20039 (or) Version is 15.016.20041 (or) Version is 15.016.20045
Thank goodness I'm hypoglycemic, or Adobe would have drove me to drinking by now. :)
PS, Adobe should still fire their dev team, or at least have them all report under @kagibson. ;)
HTH,
Don
Posted on 07-12-2016 12:28 PM
Is there a way to suppress the welcome screen and make Adobe Reader the default viewer? I found the plist but it's rather long and Im having trouble finding the key for the welcome screen. I don't want to replace the entire plist file, just that particular key.
Posted on 08-20-2016 08:15 AM
@msnowdon take a look at Adobe's KB article.
PS, maybe post defaults read /path/to/relevant.plist
so we can have a look?
Don