- package: tis-adobereader
- name: Adobe Acrobat Reader
- version: 2025.1.20531-89
- categories: Office,Utilities
- maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Simon Fonteneau
- editor: Adobe Inc.
- licence: proprietary_free,wapt_public
- locale: all
- target_os: windows
- impacted_process: Acrobat,AcrobatInfo,AcroBroker,AcroTextExtractor,AcroLayoutRecognizer,AcroCEF,AcroRd32,AcroRd32Info,AdobeCollabSync,RdrCEF,RdrServicesUpdater
- architecture: x64
- signature_date:
- size: 732.51 Mo
- installed_size: 1.28 Go
- homepage : https://adobe.com/
- depends:
package : tis-adobereader
version : 2025.1.20531-89
architecture : x64
section : base
priority : optional
name : Adobe Acrobat Reader
categories : Office,Utilities
maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ,Simon Fonteneau
description : Adobe Acrobat is a family of application software and Web services developed by Adobe Inc. to view, create, manipulate, print and manage Portable Document Format (PDF) files
depends : tis-vcredist
conflicts :
maturity : PROD
locale : all
target_os : windows
min_wapt_version : 2.3
sources : https://get.adobe.com/reader/
installed_size : 1284008424
impacted_process : Acrobat,AcrobatInfo,AcroBroker,AcroTextExtractor,AcroLayoutRecognizer,AcroCEF,AcroRd32,AcroRd32Info,AdobeCollabSync,RdrCEF,RdrServicesUpdater
description_fr : Adobe Acrobat est une famille de logiciels d'application et de services web développés par Adobe Inc. pour visualiser, créer, manipuler, imprimer et gérer des fichiers Portable Document Format (PDF)
description_pl : Adobe Acrobat to rodzina aplikacji i usług internetowych opracowanych przez firmę Adobe Inc. do przeglądania, tworzenia, obróbki, drukowania i zarządzania plikami w formacie Portable Document Format (PDF)
description_de : Adobe Acrobat ist eine von Adobe Inc. entwickelte Familie von Anwendungssoftware und Webdiensten zum Anzeigen, Erstellen, Bearbeiten, Drucken und Verwalten von Dateien im Portable Document Format (PDF)
description_es : Adobe Acrobat es una familia de aplicaciones y servicios web desarrollados por Adobe Inc. para visualizar, crear, manipular, imprimir y gestionar archivos en formato PDF (Portable Document Format)
description_pt : O Adobe Acrobat é uma família de software de aplicação e serviços Web desenvolvidos pela Adobe Inc. para visualizar, criar, manipular, imprimir e gerir ficheiros Portable Document Format (PDF)
description_it : Adobe Acrobat è una famiglia di software applicativi e servizi Web sviluppati da Adobe Inc. per visualizzare, creare, manipolare, stampare e gestire file in formato PDF (Portable Document Format)
description_nl : Adobe Acrobat is een reeks applicatiesoftware en webservices ontwikkeld door Adobe Inc. voor het bekijken, maken, manipuleren, afdrukken en beheren van Portable Document Format (PDF)-bestanden
description_ru : Adobe Acrobat - это семейство прикладного программного обеспечения и веб-сервисов, разработанных компанией Adobe Inc. для просмотра, создания, манипулирования, печати и управления файлами Portable Document Format (PDF)
audit_schedule :
editor : Adobe Inc.
keywords : adobe,reader,acrobat,dc,pdf,portable,document,format,print,view
licence : proprietary_free,wapt_public
homepage : https://adobe.com/
package_uuid : 5f196566-dfc5-42b7-91a7-47723d52d330
valid_from :
valid_until :
forced_install_on :
changelog : https://helpx.adobe.com/acrobat/release-note/release-notes-acrobat-reader.html
min_os_version : 10.0
max_os_version :
icon_sha256sum : e08ef23b951752553b93f621e169cbb918ded4eb56c504ed32f7da48d7e31b7c
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-06-12T10:00:48.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : v2KVlBUw9YC0ug8kYpEB7LV8qDZHCZ2hnMQ+J3IAPKBrGgsC3q1tUvMYqtdKZHSkZNywDiXbfR7DqHUL+TLuXVFNEjoMIkXd9/eTmVsYteVc3XjUqIfqY8P7LThq0e3s/PH8/8itTZ8MAGU2vU5HsnmEkJaD753kR3uVY88AxfVSduxHlI5KEH9gbvara4f9T5pBjGztQm7+PdCmCxDZgAutl4gUFnMyt9+FVGZXsDTW92dzrhXnXDb4b0FVYgfKJz2eqF31z4yI1Vmt4mQHdnAkOdbSAtva18YrKKfiynYRr5gDZrY0bPH2JFCrxtPp0WJvv3AQewUYvrx90qOk9w==
# -*- coding: utf-8 -*-
from setuphelpers import *
import os
import chardet
r"""
https://silentinstallhq.com/adobe-reader-dc-silent-install-how-to-guide/
AcroRdrDC2300320215_en_US.exe /sAll /rs /msi EULA_ACCEPT=YES /L*V "%WINDIR%\Temp\AdobeReader-Install.log"
MsiExec.exe /i "%~dp0AcroRead.msi" PATCH="%~dp0AcroRdrDCUpd2300320215.msp" /qn /L*V "%WINDIR%\Temp\AdobeReader-Install.log"
https://www.adobe.com/devnet-docs/acrobatetk/tools/DesktopDeployment/cmdline.html
Installation 9.0 & later ENABLE_CACHE_FILES 1 (the default) enables setup file caching of the installer files on the local system. The opposite of DISABLE_CACHE.
Installation 10.0 & later DISABLE_CACHE 1 disables setup file caching. The opposite of ENABLE_CACHE_FILES.
"C:\Windows\system32\msiexec.exe" /i {AC76BA86-7AD7-FFFF-7B44-AC0F074E4100} /L*V "C:\Windows\Temp\AdobeReader-Install.log DISABLE_CACHE=1 REBOOT="ReallySuppress" PATCH="C:\Program Files (x86)\Common Files\Adobe\Acrobat\Setup\{AC76BA86-7AD7-FFFF-7B44-AC0F074E4100}\RDC\AcroRdrDCUpd2300320215_MUI.msp" /qn
"C:\Program Files (x86)\Common Files\Adobe\Acrobat\Setup\{AC76BA86-7AD7-FFFF-7B44-AC0F074E4100}\RDC\setup.exe" /sAll /rs /msi /L*V "C:\Windows\Temp\AdobeReader-Install.log DISABLE_CACHE=1
"C:\Program Files (x86)\Common Files\Adobe\Acrobat\Setup\{AC76BA86-7AD7-FFFF-7B44-AC0F074E4100}\setup.exe" /sAll /rs /msi DISABLE_CACHE=1
"C:\Windows\system32\msiexec.exe" /i "C:\Program Files (x86)\Common Files\Adobe\Acrobat\Setup\{AC76BA86-7AD7-FFFF-7B44-AC0F074E4100}\AcroRead.msi" TRANSFORMS="" DISABLE_CACHE=1 REBOOT="ReallySuppress" PATCH="C:\Program Files (x86)\Common Files\Adobe\Acrobat\Setup\{AC76BA86-7AD7-FFFF-7B44-AC0F074E4100}\AcroRdrDCUpd2300320215_MUI.msp" /qn
some keys examples: https://github.com/bmrf/standalone_scripts/blob/master/tron_guid_whitelist.txt
# 32bit app
{
"key":"{AC76BA86-7AD7-FFFF-7B44-AC0F074E4100}",
"name":"Adobe Acrobat Reader MUI",
"version":"23.003.20215",
"install_date":"2023-07-04 00:00:00",
"install_location":"C:\\Program Files (x86)\\Adobe\\Acrobat Reader DC\\",
"uninstall_string":"MsiExec.exe /I{AC76BA86-7AD7-FFFF-7B44-AC0F074E4100}",
"publisher":"Adobe Systems Incorporated",
"system_component":0,
"win64":false
}
# 64bit app
{
"key":"{AC76BA86-1033-FF00-7760-BC15014EA700}",
"name":"Adobe Acrobat (64-bit)",
"version":"23.003.20215",
"install_date":"2023-07-04 00:00:00",
"install_location":"C:\\Program Files\\Adobe\\Acrobat DC\\",
"uninstall_string":"MsiExec.exe /I{AC76BA86-1033-FF00-7760-BC15014EA700}",
"publisher":"Adobe",
"system_component":0,
"win64":true
}
"""
app_scheduled_tasks = ["Adobe Acrobat Update Task"]
app_services = ["AdobeARMservice"]
def install():
software_version = control.get_software_version().split("20", 1)[-1]
log_path = makepath(r"C:\Windows\Temp", "AdobeReader-Install.log")
# upgrade_log_path = makepath(r"C:\Windows\Temp", "AdobeReader-Upgrade.log")
silentflags = f'/sAll /rs /msi EULA_ACCEPT=YES /L*V "{log_path}"'
if ensure_list(control.architecture)[0] == "x64":
app_uninstallkey = "{AC76BA86-1033-FF00-7760-BC15014EA700}"
else:
app_uninstallkey = "{AC76BA86-7AD7-FFFF-7B44-AC0F074E4100}"
# Uninstalling old products and app if install is forced
for to_uninstall in installed_softwares("Adobe Acrobat"):
do_uninstall = False
installer_key = None
#Getting some info in registry key to know which version of Adobe is installed
try:
key = reg_openkey_noredir(HKEY_LOCAL_MACHINE, fr'SOFTWARE\Adobe\Adobe Acrobat\DC\Installer')
installer_key = reg_getvalue(key, "shAlfSdPackCab")
except WindowsError as e:
pass
#If Pro version is installed
if installer_key and installer_key != "NULL":
if force:
print(f'WARNING: {to_uninstall["name"]} is a Pro version and will be remove because the install is forced.')
do_uninstall = True
else :
print(f'INFO: {to_uninstall["name"]} ({to_uninstall["version"]}) is already installed and is a Pro version, you can remove it with a force install.')
return
else:
continue
if "MUI" in to_uninstall["name"]:
if force:
print(f'WARNING: {to_uninstall["name"]} is a MUI version and will be remove because the install is forced.')
do_uninstall = True
else :
print(f'INFO: {to_uninstall["name"]} ({to_uninstall["version"]}) is already installed and is a MUI version, you can remove it with a force install.')
return
if do_uninstall:
print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
killalltasks(ensure_list(control.impacted_process))
run(uninstall_cmd(to_uninstall["key"]))
wait_uninstallkey_absent(to_uninstall["key"])
if Version(to_uninstall["version"]) == Version(control.get_software_version()) and iswin64() and not to_uninstall["win64"]:
print(
f'INFO: {to_uninstall["name"]} (32-bit) version is installed and up-to-date. You can force-install this package to migrate to the (64-bit) version after removing the "architecture : all" package from your repo.' # or changing his "max_os_version" to "10.0"
)
# else:
# print(
# f'INFO: {to_uninstall["name"]} version is installed. You can force-install this package to migrate to the (32-bit) version (not recommended) after removing the "architecture : x64" package from your repo and changing "max_os_version" to "". '
# )
# Removing application desktop shortcut if allowed
if params.get("remove_desktop_shortcuts"):
silentflags += " DISABLEDESKTOPSHORTCUT=1"
remove_desktop_shortcut("Acrobat Reader DC")
remove_desktop_shortcut("Adobe Acrobat")
# Installing software
bin_name = glob.glob("AcroRdrDC*.exe")[0]
try:
install_exe_if_needed(
bin_name,
silentflags=silentflags,
key=app_uninstallkey,
min_version=software_version,
timeout=1200,
)
except Exception as e:
print(e)
with open(log_path, "r", encoding=detect_file_encoding(log_path)) as f:
log_content = f.read()
error(log_content)
# # Upgrading software
# bin_name = glob.glob("AcroRdrDC*.msp")[0]
# if need_install(app_uninstallkey, min_version=software_version):
# print(r"Installing: %s (%s)" % (bin_name, software_version))
# try:
# run(f'msiexec.exe /p "{bin_name}" /norestart /quiet ALLUSERS=1 EULA_ACCEPT=YES /L*V "{upgrade_log_path}"', timeout=1200)
# except Exception as e:
# print(e)
# with open(upgrade_log_path, "r", encoding=detect_file_encoding(upgrade_log_path)) as f:
# log_content = f.read()
# error(log_content)
# else:
# print("MSP setup %s already installed. Skipping" % bin_name)
# if need_install(app_uninstallkey, min_version=software_version):
# error("%s upgrade failed." % bin_name)
# Disabling application scheduled tasks
for task_name in app_scheduled_tasks:
if task_exists(task_name):
try:
disable_task(task_name)
except:
print(f"Unable to disable the task_name: {task_name}")
# Changing default start mode of the application services
for service_name in app_services:
set_service_start_mode(service_name, "Disabled")
# To unsure no update is launch !
registry_set(HKEY_LOCAL_MACHINE, rf'SOFTWARE\WOW6432Node\Adobe\Adobe ARM\Legacy\Acrobat\{app_uninstallkey}', 'Mode', 0, REG_DWORD)
registry_set(HKEY_LOCAL_MACHINE, rf'SOFTWARE\WOW6432Node\Policies\Adobe\Adobe Acrobat\DC\FeatureLockDown', 'bUpdater', 0, REG_DWORD)
registry_set(HKEY_LOCAL_MACHINE, rf'SOFTWARE\WOW6432Node\Adobe\Adobe ARM\1.0\ARM', 'iCheck', 0, REG_DWORD)
registry_set(HKEY_LOCAL_MACHINE, rf'SOFTWARE\WOW6432Node\Adobe\Adobe ARM\1.0\ARM', 'iDisablePromptForUpgrade', 1, REG_DWORD)
def uninstall():
if ensure_list(control.architecture)[0] == "x64":
app_uninstallkey = "{AC76BA86-1033-FF00-7760-BC15014EA700}"
else:
app_uninstallkey = "{AC76BA86-7AD7-FFFF-7B44-AC0F074E4100}"
# 64bit app
editor_dir = makepath(programfiles, "Adobe")
app_dir = makepath(editor_dir, "Acrobat DC", "Acrobat")
if isdir(app_dir):
remove_tree(app_dir)
if remove_empty_directories(editor_dir):
remove_tree(editor_dir)
# 32bit app
editor_dir = makepath(programfiles32, "Adobe")
app_dir = makepath(editor_dir, "Acrobat Reader DC", "Reader")
if isdir(app_dir):
remove_tree(app_dir)
if remove_empty_directories(editor_dir):
remove_tree(editor_dir)
adobe_registry_entries = [
(HKEY_LOCAL_MACHINE, rf'SOFTWARE\WOW6432Node\Adobe\Adobe ARM\Legacy\Acrobat\{app_uninstallkey}', 'Mode'),
(HKEY_LOCAL_MACHINE, r'SOFTWARE\WOW6432Node\Policies\Adobe\Adobe Acrobat\DC\FeatureLockDown', 'bUpdater'),
(HKEY_LOCAL_MACHINE, r'SOFTWARE\WOW6432Node\Adobe\Adobe ARM\1.0\ARM', 'iCheck'),
(HKEY_LOCAL_MACHINE, r'SOFTWARE\WOW6432Node\Adobe\Adobe ARM\1.0\ARM', 'iDisablePromptForUpgrade')
]
for root_key, subkey_path, key_name in adobe_registry_entries:
full_path = f"{subkey_path}\\{key_name}"
if reg_key_exists(root_key, full_path):
registry_deletekey(root_key, subkey_path, key_name, recursive=True)
def remove_empty_directories(root_directory):
if os.path.exists(root_directory):
for dirpath, dirnames, filenames in os.walk(root_directory, topdown=False):
if not any(os.scandir(dirpath)):
os.rmdir(dirpath)
print(f"Removed empty directory: {dirpath}")
def detect_file_encoding(file_path):
"""Detect the encoding of a file.
Args:
file_path (str): The path to the file to be analyzed.
Returns:
str: The detected character encoding of the file.
>>> detect_file_encoding(file_path)
'UTF-8-SIG'
"""
with open(file_path, "rb") as file:
raw_data = file.read()
result = chardet.detect(raw_data)
return result["encoding"]
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
from waptutils import get_sha256
"""
https://get.adobe.com/reader/enterprise/
https://get.adobe.com/reader/download?os=Windows+11&name=Reader+DC+2023.003.20215+MUI+for+Windows-64bit&lang=mui&nativeOs=Windows+10&accepted=&declined=&preInstalled=&site=enterprise
https://get.adobe.com/reader/download?os=Windows+7&name=Reader+DC+2023.003.20215+MUI+for+Windows-32bit&lang=mui&nativeOs=Windows+10&accepted=&declined=&preInstalled=&site=enterprise
https://ardownload2.adobe.com/pub/adobe/acrobat/win/AcrobatDC/2300320215/AcroRdrDCx642300320215_MUI.exe
https://ardownload2.adobe.com/pub/adobe/reader/win/AcrobatDC/2300320215/AcroRdrDC2300320215_MUI.exe
https://silentinstallhq.com/adobe-reader-dc-silent-install-how-to-guide/
Enter the following command to extract the MSI:
AcroRdrDC2300320215_en_US.exe -sfx_o"C:\Downloads\ReaderDC" -sfx_ne
"""
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
update_dict = {
"bin_contains": {
"windows": "_MUI.msp",
"mac": "_MUI.dmg",
},
"bin_name_to_substitute": {
"windows-all": "AcroRdrDC%s_MUI.exe",
"windows-x64": "AcroRdrDCx64%s_MUI.exe",
"mac-all": "AcroRdrSCADC%s_MUI.dmg",
},
"name_api": {
"windows-all":r"Windows%207",
"windows-x64": r"Windows%2011",
"mac-all": "Mac%20OS%2010.15.0",
},
}
# # Getting base installer
# if control.target_os == "windows":
# if iswin64():
# # https://ardownload2.adobe.com/pub/adobe/acrobat/win/AcrobatDC/2400120615/AcroRdrDCx642400120615_MUI.exe
# binaries_dict = {"AcroRdrDCx642400120615_MUI.exe": "8820bff54abd9c636bbc7fb11a5ed338de5dc72222055d22983a7b86388a3f1d"}
# else:
# # https://ardownload2.adobe.com/pub/adobe/reader/win/AcrobatDC/2400120615/AcroRdrDC2400120615_MUI.exe
# binaries_dict = {"AcroRdrDC2400120615_MUI.exe": "c34f14e5e1c5ffae7b0422e92cb907d72b1b243b7a0c085e55c1601b6838f1c1"}
# for bin_name in binaries_dict:
# # http is ok since we are verifying sha256
# download_url = "http://srvtemplates.ad.tranquil.it/binary_cache/" + (bin_name)
# sha256 = binaries_dict[bin_name]
# if isfile(bin_name):
# if get_sha256(bin_name) != sha256:
# remove_file(bin_name)
# print("Download URL is: %s" % download_url)
# if not isfile(bin_name):
# print("Downloading: %s" % bin_name)
# wget(download_url, bin_name, sha256=sha256, proxies=proxies)
# else:
# print("Binary is present: %s" % bin_name)
url = "https://helpx.adobe.com/acrobat/release-note/release-notes-acrobat-reader.html"
web_version = "0"
# Getting latest version from official sources
found = False
print("URL used is: %s" % url)
for release in bs_find_all(url, "a", "disablelinktracking", "false", proxies=proxies):
if not release.text.startswith("DC "):
continue
for release_url in bs_find_all(release["href"], "a", "class", "reference external", proxies=proxies):
if release_url["href"].endswith(update_dict["bin_contains"][control.target_os]):
latest_bin = release_url["href"].split("/")[-1]
if control.architecture == "x64" and not "x64" in latest_bin:
continue
download_url_part = release_url["href"].rsplit("/", 1)[0]
version_adobe = download_url_part.split("/")[-1].lower()
web_version = release.text.split("(")[-1].split(")")[0].lower()
if "x" in web_version:
count_x = web_version.count("x")
missing_digits = version_adobe[-count_x:]
web_version = web_version.split("x", 1)[0] + missing_digits
latest_bin = update_dict["bin_name_to_substitute"][f"{control.target_os}-{control.architecture}"] % version_adobe
download_url = download_url_part + "/" + latest_bin
if requests.head(download_url, proxies=proxies).status_code == 404:
web_version = "0"
continue
found = True
break
if found:
break
# Downloading latest binaries
Os = update_dict["name_api"][f"{control.target_os}-{control.architecture}"]
data = requests.get('https://rdc.adobe.io/reader/products?lang=mui&os=' + Os +'&preInstalled=0&country=FR&api_key=dc-get-adobereader-cdn',proxies=proxies)
datajson = json.loads(data.content)
namear = datajson['products']['reader'][0]['displayName'].replace(' ','%20')
versionofficial = datajson['products']['reader'][0]['version']
version = "20%s" % web_version
if Version(versionofficial) > Version(web_version):
version = "20%s" % versionofficial
url = r"https://rdc.adobe.io/reader/downloadUrl?name=" + namear + r"&nativeOs=&os=" + Os + "&site=enterprise&lang=mui&country=FR&api_key=dc-get-adobereader-cdn"
data = requests.get(url,proxies=proxies)
datajson = json.loads(data.content)
download_url = datajson['downloadURL']
latest_bin = download_url.split('/')[-1]
print("Latest %s version is: %s" % (control.name, version))
print("Download URL is: %s" % download_url)
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(download_url, latest_bin, proxies=proxies)
else:
print("Binary is present: %s" % latest_bin)
# Deleting outdated binaries
for f in glob.glob('*_MUI.*'):
if f != latest_bin:
remove_file(f)
# Changing version of the package
if Version(version, 4) > Version(control.get_software_version(), 4):
print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
package_updated = True
else:
print("Software version up-to-date (%s)" % Version(version))
control.set_software_version(version)
control.save_control_to_wapt()
# Validating or not update-package-sources
return package_updated
# # Changing version of the package and validating update-package-sources
# return complete_control_version(control, version)
1d360e84bea704d157846efa3d197ceae38646e9690cb211885f1f47791bf7d8 : AcroRdrDCx642500120531_MUI.exe
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
ab1a2be47df078e75864207816d85ef742e1523d6f4f028503262dd31d35cde1 : WAPT/changelog.txt
f78adbe4aee3da816293803f9e22dca17ac6c675ed055aa4683378dcbecf0f51 : WAPT/control
e08ef23b951752553b93f621e169cbb918ded4eb56c504ed32f7da48d7e31b7c : WAPT/icon.png
d6d4b996bc1e3d719062f3c97b5395bd81987e84608b30e61218a15ccb07f4f4 : luti.json
40d88359fe8e77c9a5d8084de0449bfc5963124a6be137e7f512124b9d725ed3 : setup.py
474a0dbe4f58838d36f3abc8fa257c0fdce9832efe4b208f41e3d23ff2eddfb6 : update_package.py
https://helpx.adobe.com/acrobat/release-note/release-notes-acrobat-reader.html
86
===
- Improve info message
85
===
- Improve detection of Pro or MUI version already install
- No more uninstalling Pro version by default
84
===
- No longer use a base configuration, instead you should import and edit the package: tis-adobe-acrobat-config-template
- Logging file are now printed in WAPT Console when crashing.
- Uninstall code reduced.
- Fix update_package()
80
===
- Printing more information about Pro version workaround
79
===
- Major code improvement
- Switching to EXE (containing msi and msp file)
- Now printing what is happening in install
- Now uninstalling the software if install is forced (to fix: "Setup has detected that you already have a more functional product installed. Setup will now terminate")
- Windows 7 is still maintained as 32bit installer
- Code is unique for package architecture "all" and "x64", even if 64bit app is called Adobe Acrobat and 32bit app is called Acrobat Reader
- Disabling WelcomeScreen
- Disabling some pop-ups
- Disabling automatic updates, telemetry and intrusive services
- Zoom 100% by default
- Manipulating registry with dicts to handle multi architecture pathes
- Avoiding AdobeCollabSync.exe to run on startup
- Avoiding uninstallation on every installs
- We need further tests to determine if "Adobe Acrobat DC (64-bit)" is the only Pro version