tis-itunes

12.13.4.4-28
iTunes is a media player, media library and mobile device management utility distributed by Apple (includes drivers for iPhone, etc.)
13762 downloads
Download
See build result See VirusTotal scan
tis-itunes icon
  • package : tis-itunes
  • name : iTunes
  • version : 12.13.4.4-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 : 2024-10-27 19:01
  • size : 187.02 Mo
  • installed_size : 482.86 Mo
  • homepage : https://apple.com/itunes/
package           : tis-itunes
version           : 12.13.4.4-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          : PROD
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      : f8340434-2b21-4cf0-89d9-547e460e8538
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            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2024-10-27T19:01:45.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         : FaIqZMxJEHXeisuMdL7Lk6iMbIr6RoOeCrKK4kx1xN3yFNFZYGYPGj7X+dHaqOg6XF93s3nZ6nl12bpSH2wVFMYYtLpMzJ6bQmuGSL6DnhicXAUrhBIAP4QNzrVSqGWO5NLz1ikyDmRWVc2Fm4YAeuUZvLh5qmUfm1pdFzCrrrjy1a40ThPD0sUD+9OnzuhYG8GDVtAEtgWhs6gybjp4ELLybS3Ov7Jxi++HjajQcW659chAnovlLaJjyjc0AwGj0YUwV4IP1rL5+GjZ4PnMAn7jOpZXzAmsiMzg15RUR1gWqYDL1qTYR9wxXQtN3lgecH9Vb2ZkojuU6Q+Eidp7nQ==
# -*- 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
505c0a3a6c43e436faee584ada53b14a7028cdae4020d64fa575a89237dacba9 : AppleMobileDeviceSupport.msi
7d7b2986d4fd35cc98af3607b1a5e2e004d6ab1116a4a9db37a66c17b63b6397 : Bonjour.msi
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
0691516208b6ce0b1ac7cd20042f0addda523ebaab8c2fa9cc050ee63dea2e99 : WAPT/changelog.txt
e27c6a0093a9a3262ba1f7adf850b9f1c9f8ecd07ddbcf266d8dbf8745b7d319 : WAPT/control
532cbf2faa6756421dd206b29508dc0c02edae78ce52800efff2b311652fb827 : WAPT/icon.png
8624744775e8e282ac47f431f9c343d4657cffeab491cb77668b17d9051dc19d : iTunes.msi
3e1c74fb7b5ccdc1586314401437f40d881da4400c2e50358f9793e917321599 : luti.json
c759bf6cd85180aafb5f0f0bd1a9b9b34f82d8791917a2721596f4f8fe52d7f4 : setup.py
c76a919d2efc02a74062605a2940f4cc50598a76b4ef3d9ccdf05b2acb887d37 : update_package.py
12.12.7.1-28
===
Fix Windows 11 installs
Reducing code