tis-itunes icon

iTunes

Silent install package for iTunes

12.13.10.3-28
Media
Drivers
Media
Drivers

Preprod packages are packages built on LUTI. They remain in PREPROD usually for 5 days, after which a second VirusTotal scan is performed to verify that the status has not changed.
If the package passes this last check, it is promoted to PROD and published on the store.

  • package: tis-itunes
  • name: iTunes
  • version: 12.13.10.3-28
  • categories: Media,Drivers
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ
  • editor: Apple Inc.
  • licence: Freeware
  • locale: all
  • target_os: windows
  • impacted_process: iTunes,iTunesHelper,iTunesVisualizerHost,AppleMobileDeviceService
  • architecture: x86
  • signature_date:
  • size: 184.28 Mo
  • installed_size: 482.86 Mo
  • homepage : https://apple.com/itunes/

package           : tis-itunes
version           : 12.13.10.3-28
architecture      : x86
section           : base
priority          : optional
name              : iTunes
categories        : Media,Drivers
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ
description       : iTunes is a media player, media library and mobile device management utility distributed by Apple (includes drivers for iPhone, etc.)
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.1
sources           : https://www.apple.com/itunes/download/
installed_size    : 482857210
impacted_process  : iTunes,iTunesHelper,iTunesVisualizerHost,AppleMobileDeviceService
description_fr    : iTunes est un logiciel de lecture et de gestion de bibliothèque multimédia et un utilitaire de gestion des appareils mobiles distribués par Apple (inclus les drivers pour iPhone, etc.)
description_pl    : iTunes to odtwarzacz multimedialny, biblioteka mediów i narzędzie do zarządzania urządzeniami mobilnymi dystrybuowane przez Apple (zawiera sterowniki do iPhone’a itp.)
description_de    : iTunes ist ein von Apple vertriebenes Dienstprogramm zur Verwaltung von Medien, Mediatheken und mobilen Geräten (einschließlich Treibern für das iPhone usw)
description_es    : iTunes es un reproductor multimedia, una biblioteca multimedia y una utilidad de gestión de dispositivos móviles distribuida por Apple (incluye controladores para el iPhone, etc)
description_pt    : O iTunes é um leitor multimédia, biblioteca multimédia e utilitário de gestão de dispositivos móveis distribuído pela Apple (inclui controladores para iPhone, etc)
description_it    : iTunes è un lettore multimediale, una libreria multimediale e un’utility di gestione dei dispositivi mobili distribuita da Apple (include i driver per iPhone, ecc.)
description_nl    : iTunes is een mediaspeler, mediabibliotheek en hulpprogramma voor het beheer van mobiele apparaten dat door Apple wordt gedistribueerd (bevat stuurprogramma’s voor iPhone, enz)
description_ru    : iTunes - это медиаплеер, медиатека и утилита для управления мобильными устройствами, распространяемая компанией Apple (включает драйверы для iPhone и т.д.)
audit_schedule    : 
editor            : Apple Inc.
keywords          : apple,itunes,itune,iphone,ipod,touch,ipad
licence           : Freeware
homepage          : https://apple.com/itunes/
package_uuid      : 370f9eb8-456a-464f-8955-46d78727a8a9
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://support.apple.com/kb/index?q=About+the+security+content+of+iTunes&src=globalnav_support&locale=en_US&type=organic&page=search
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 532cbf2faa6756421dd206b29508dc0c02edae78ce52800efff2b311652fb827
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-03-04T18:57:03.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         : BadG1jXQ56h0seYEQPVoZtepqLI69/IalpNVXH//wSAxSc/a9GquclL78UmE2qzaTWaQTknFsXlKfXRsdvBVoeZLeo8AprSbFuLFNYCYj+TPd++kwlVglyNifTgttL1WtjabbQEXFR7BoZguOrSli2mVN/e6bQfTbc+9IKBoMRAGL5It3hO+Ot1CP0/qAhHS4dROzmA0Pi8k/5t4RGKyHn3zulpjBrnlMfkNqgyAa7s1coajvCG1pGNo9ofeGSIp/5x5rcb482lX50aoGu9BiFWaGo20S6JAd7SJMbamsImuVEt4Cq1nGl4h8ZDemeTAN/3l0g1b3YVjzsWCECy/KA==

# -*- coding: utf-8 -*-
from setuphelpers import *


def install():
    # Declaring local variables
    if control.architecture == "x64":
        bin_dependencies_to_install = [
            "AppleApplicationSupport.msi",
            "AppleApplicationSupport64.msi",
            "AppleMobileDeviceSupport.msi",
            "AppleMobileDeviceSupport64.msi",
            "Bonjour64.msi",
        ]
        bin_msi_name = "iTunes64.msi"
    else:
        bin_dependencies_to_install = [
            "AppleApplicationSupport.msi",
            "AppleApplicationSupport64.msi",
            "AppleMobileDeviceSupport.msi",
            "AppleMobileDeviceSupport64.msi",
            "Bonjour.msi",
        ]
        bin_msi_name = "iTunes.msi"

    # Installing the package
    for binary in bin_dependencies_to_install:
        if isfile(binary):
            install_msi_if_needed(binary, timeout=800)

    # Skip up-to-date iTunes
    itunes_uptodate = False
    for uninstall_itunes in installed_softwares(name="iTunes"):
        if "Apple Inc." in uninstall_itunes["publisher"]:
            if Version(uninstall_itunes["version"]) == Version(control.get_software_version()):
                itunes_uptodate = True
                app_uninstallkey = uninstall_itunes["key"]

    if not itunes_uptodate:
        install_msi_if_needed(bin_msi_name, name="iTunes", min_version=control.get_software_version())
    else:
        uninstallkey.append(app_uninstallkey)

    print("Disabling: Update Check and Telemetry Apple")
    # Option used : (kParentalFlags_DisableFirstRunWelcomeWindow,kParentalFlags_DisableDiagnostics,kParentalFlags_DisableCheckForUpdates,kParentalFlags_Locked,kParentalFlags_DisableCheckForDeviceUpdates,kParentalFlags_DisableCheckForAppUpdates,kParentalFlags_DisableAutomaticDeviceSync)
    registry_set(HKEY_LOCAL_MACHINE, r"SOFTWARE\Apple Computer, Inc.\iTunes\Parental Controls\Default", "AdminFlags", 23202049, REG_DWORD)

    # Making sure that intrusive Apple's apps are not installed
    for intru_app in ["Apple Software Update"]:
        for uninstall_intru_app in installed_softwares(name=intru_app):
            if "Apple Inc." in uninstall_intru_app["publisher"]:
                print("Removing %s" % uninstall_intru_app["name"])
                run(uninstall_cmd(uninstall_intru_app["key"]))

    # Disable iTunesHelper at Startup
    registry_delete(HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "iTunesHelper")


# def uninstall():
#     # Uninstalling package
#     for uninstall_itunes_app in installed_softwares("Apple"):
#         if "Apple Inc." in uninstall_itunes_app["publisher"]:
#             if uninstall_itunes_app["name"] in ["Bonjour", "iTunes", "Apple Mobile Device Support"]:
#                 print("Removing: %s (%s)" % (uninstall_itunes_app["name"], uninstall_itunes_app["version"]))
#                 killalltasks(control.get_impacted_process_list())
#                 run(uninstall_cmd(uninstall_itunes_app["key"]))
#                 wait_uninstallkey_absent(uninstall_itunes_app["key"])

# -*- coding: utf-8 -*-
from setuphelpers import *


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    url = "https://www.apple.com/itunes/download/"
    if control.architecture == "x64":
        download_url = url + "win64"
        bin_list = [
            "AppleApplicationSupport.msi",
            "AppleApplicationSupport64.msi",
            "AppleMobileDeviceSupport64.msi",
            "AppleSoftwareUpdate.msi",
            "Bonjour64.msi",
            "iTunes64.msi",
            "SetupAdmin.exe",
        ]

        bin_dependencies_to_install = [
            "AppleApplicationSupport.msi",
            "AppleApplicationSupport64.msi",
            "AppleMobileDeviceSupport.msi",
            "AppleMobileDeviceSupport64.msi",
            "Bonjour64.msi",
        ]
        bin_name = "iTunes64Setup.exe"
        bin_msi_name = "iTunes64.msi"
    else:
        download_url = url + "win32"
        bin_list = [
            "AppleApplicationSupport.msi",
            "AppleApplicationSupport64.msi",
            "AppleMobileDeviceSupport64.msi",
            "AppleSoftwareUpdate.msi",
            "Bonjour64.msi",
            "iTunes64.msi",
            "SetupAdmin.exe",
        ]
        bin_dependencies_to_install = [
            "AppleApplicationSupport.msi",
            "AppleApplicationSupport64.msi",
            "AppleMobileDeviceSupport.msi",
            "AppleMobileDeviceSupport64.msi",
            "Bonjour.msi",
        ]
        bin_name = "iTunesSetup.exe"
        bin_msi_name = "iTunes.msi"

    print("Download URL is: %s" % download_url)

    # Downloading latest binaries
    if not isfile(bin_name):
        print("Downloading " + bin_name)
        wget(download_url, bin_name, proxies=proxies)

        # Extracting binaries from iTunesSetup
        for binary in bin_list:
            if isfile(binary):
                remove_file(binary)
        for bin_in_dir in glob.glob(bin_name):
            unzip_with_7zip(bin_in_dir, ".")
    version = get_file_properties(bin_name)["ProductVersion"]
    print("Latest %s version is: %s" % (control.name, version))

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        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()

    # Removing unwanted binaries
    for binary in glob.glob("*.exe") + glob.glob("*.msi"):
        if binary not in bin_dependencies_to_install or binary == bin_name:
            if binary != bin_msi_name:
                print("Removing %s" % binary)
                remove_file(binary)

    # Validating or not update-package-sources
    return package_updated

590e4b21d2aa522cfe789cc3fea95421b6141ddfa36e06525ae9715a5b5859e3 : AppleMobileDeviceSupport.msi
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
0691516208b6ce0b1ac7cd20042f0addda523ebaab8c2fa9cc050ee63dea2e99 : WAPT/changelog.txt
2efb6e942c6d8850e9ed9945cbcddacdc4a4c960844929d4a725a85677adef17 : WAPT/control
532cbf2faa6756421dd206b29508dc0c02edae78ce52800efff2b311652fb827 : WAPT/icon.png
e60826434ead328f58d22a346c12dfdd68d009bbc9b1a62322d67f78e6f024cf : iTunes.msi
7f5d1c519fc9fe9feb9a3493765efeed8628d35a4314ba48b902a213e2a79629 : luti.json
c759bf6cd85180aafb5f0f0bd1a9b9b34f82d8791917a2721596f4f8fe52d7f4 : setup.py
c76a919d2efc02a74062605a2940f4cc50598a76b4ef3d9ccdf05b2acb887d37 : update_package.py