tis-itunes-uwp icon

iTunes

Silent install package for iTunes

12128.2.57059.0-24

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

package           : tis-itunes-uwp
version           : 12128.2.57059.0-24
architecture      : x64
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.0
sources           : https://www.apple.com/itunes/download/
installed_size    : 
impacted_process  : iTunesVisualizerHost,iTunesHelper,iTunes,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      : df69d3d0-91db-438e-8925-7fa187f88c3a
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
max_os_version    : 
icon_sha256sum    : 532cbf2faa6756421dd206b29508dc0c02edae78ce52800efff2b311652fb827
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature         : lV9/1hL/GECt6AeBgk1EDFRh+7pCGeEcYgC8arLZivDXylbSn2Exo5Hc5699eerCl2aRjz/nNEvk00VWbjzhCTM90OtdtNDOFdCYYvYhvdLtwsQCVlb4RVyFyKxx0LLF0FfHrnah+NSC9sLdy0eCXZzpVOPILSPoTO4oSQopQxMa+EASTtr3p3U09QNSij0hGnFm2mhKdkJ+WCgbucsMlAlim9OtEwE+fjj2nLglh4sdsTSk3Fq3mZk7In75+kff4GzHdIshRXHIqmzxKmNwNnh0U4oAdPYmoMJsN79EScCBtF+EB3jKgc/Am85GtTZ5RFeTtmoLFlqY9/9LbB+XxA==
signature_date    : 2023-04-04T02:00:26.507704
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

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

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_contains = "iTunes"
appx_package = "AppleInc.iTunes"
appx_dir = makepath(programfiles, "WindowsAppsInstallers")
file_extension = "appxbundle"


def install():
    # Declaring local variables
    package_version = control.get_software_version()
    bin_name = glob.glob("*%s*.%s" % (bin_contains, file_extension))[0]
    bin_path = makepath(appx_dir, bin_name)
    # Checking minimum Windows version for this UWP application
    if windows_version() >= WindowsVersions.Windows10v1607:
        # Copying the software
        if not isdir(appx_dir):
            mkdirs(appx_dir)
        else:
            for appx_file in glob.glob(makepath(appx_dir, "*%s*.%s" % (bin_contains, file_extension))):
                if not package_version in appx_file:
                    remove_file(appx_file)
        if not isfile(bin_path):
            print("Copying: %s to: %s" % (bin_name, appx_dir))
            filecopyto(bin_name, appx_dir)
    else:
        error(
            "This Windows version (%s) need to be upgraded to minimum version (%s) to use this package"
            % (windows_version(), WindowsVersions.Windows10v1607)
        )


def uninstall():
    # Uninstalling the package
    remove_appx(appx_package)
    for appx_file in glob.glob(makepath(appx_dir, "*%s*.%s" % (bin_contains, file_extension))):
        remove_file(appx_file)
    if isdir(appx_dir) and dir_is_empty(appx_dir):
        print("Removing: %s since he is empty" % (appx_dir))
        remove_tree(appx_dir)


def session_setup():
    # Declaring local variables
    package_version = control.get_software_version()
    app_name = control.name
    bin_path = glob.glob(makepath(appx_dir, "*%s*.%s" % (bin_contains, file_extension)))[0]
    user_app_dir = makepath(user_appdata, "iTunes")
    user_app_path = makepath(user_app_dir, "iTunes.exe")
    # Uninstalling  from user environment
    try:
        if isfile(user_app_path):
            killalltasks(control.get_impacted_process_list())
            registry_deletekey(HKEY_CURRENT_USER, r"SOFTWARE\WAPT", "iTunes")
            run('"%s" %s' % (user_app_path, "/uninstall /silent"))
            time.sleep(60)
    except:
        killalltasks(control.get_impacted_process_list())
        # HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\iTunes
        registry_deletekey(HKEY_CURRENT_USER, r"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", "iTunes")
        app_user_local_appdata = makepath(user_local_appdata, "iTunes")
        app_application_data = makepath(application_data, "iTunes")
        if isdir(app_user_local_appdata):
            remove_tree(app_user_local_appdata)
        if isdir(app_application_data):
            remove_tree(app_application_data)
        remove_user_desktop_shortcut("iTunes")
        remove_user_programs_menu_folder("iTunes")
    # Installing iTunes UWP in user env
    appx_version = get_powershell_str("Get-AppxPackage -Name %s" % appx_package, "Version")
    if not appx_version or appx_version < package_version or force:
        run_powershell('Add-AppxPackage -Path "%s"' % bin_path)
    else:
        print("%s is installed in correct version (%s)" % (app_name, appx_version))

# -*- coding: utf-8 -*-
from setuphelpers import *
import requests
from bs4 import BeautifulSoup

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
bin_contains = "iTunes_"
file_extension = "appxbundle"


def update_package():
    # Declaring local variables
    result = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name
    store_id = "9PB2MZ1ZMB1S"
    res = requests.post(
        "https://store.rg-adguard.net/api/GetFiles",
        "type=ProductId&url=%s&ring=RP&lang=fr-FR" % store_id,
        headers={"content-type": "application/x-www-form-urlencoded"},
        proxies=proxies,
    )
    page = BeautifulSoup.BeautifulSoup(res.content, features="html.parser")
    for bs_search in page.find_all("a"):
        if bin_contains in bs_search.text and ".%s" % file_extension in bs_search.text:
            version = bs_search.text.split("_")[1]
            latest_bin = bs_search.text
            download_url = bs_search["href"]
            break
    if download_url.split("/")[2].endswith("microsoft.com"):
        if not isfile(latest_bin):
            print("Downloading: %s" % latest_bin)
            wget(download_url, latest_bin, proxies=proxies)
        else:
            print("Binary file version corresponds to online version")
        if Version(version) > Version(control.get_software_version()):
            print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
            result = True
        else:
            print("Software version up-to-date (%s)" % Version(version))
        control.version = "%s-%s" % (Version(version), control.version.split("-", 1)[-1])
    else:
        print("ERROR: The retrieved url will not download from microsoft's servers")
    # control.set_software_version(version)
    control.save_control_to_wapt()
    # Deleting outdated binaries
    remove_outdated_binaries(version)
    # Validating or not update-package-sources
    return result

6297d2030747670d92fafa8b3c01d8d8b99d2d63980e7d735540ddbbbc6132ab : setup.py
91a674784a54da0669a7db8a22457ef7adfe3aefc2992e7cd2bbc44dd563badc : update_package.py
dcdc94820d9c3b74376228ac941fdb0d3b19794d0a6399e9037321791e3c67bb : AppleInc.iTunes_12128.2.57059.0_neutral_~_nzyj5cx40ttqa.appxbundle
532cbf2faa6756421dd206b29508dc0c02edae78ce52800efff2b311652fb827 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
b453ba4752cad761099d08a3a295e06e07c2a305ceb6792e34fb1eadcb9f6d07 : WAPT/changelog.txt
3cae6127de3c171edffacbe32da56344567ea3d4db9fd1751b14335367954bf3 : luti.json
273ea4a57e126cb981b398b378173213714fcbb93e43206ee355736061dd442e : WAPT/control