tis-affinity-uwp icon

Affinity

Silent install package for Affinity

3.2.2.4557-3
Utilities
Utilities

  • package: tis-affinity-uwp
  • name: Affinity
  • version: 3.2.2.4557-3
  • categories: Utilities
  • maintainer: WAPT Team,Tranquil IT,Kevin Cherel
  • editor: Canva
  • locale: all
  • target_os: windows
  • impacted_process: Affinity
  • architecture: arm64
  • signature_date:
  • size: 667.01 Mo
  • homepage : https://www.affinity.studio

package           : tis-affinity-uwp
version           : 3.2.2.4557-3
architecture      : arm64
section           : base
priority          : optional
name              : Affinity
categories        : Utilities
maintainer        : WAPT Team,Tranquil IT,Kevin Cherel
description       : Affinity is a multidisciplinary application dedicated to three main design areas: vector design, photo editing, and layout design.
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://www.affinity.studio/fr_fr/download
installed_size    : 
impacted_process  : Affinity
description_fr    : Affinity est une application pluridisciplinaire dédiée à trois secteurs de conception principaux : conception vectorielle, retouche photo et mise en page.
description_pl    : Affinity to wielofunkcyjna aplikacja przeznaczona do trzech głównych obszarów projektowania: grafiki wektorowej, edycji zdjęć oraz składu publikacji.
description_de    : Affinity ist eine multidisziplinäre Anwendung, die sich auf drei Hauptbereiche des Designs konzentriert: Vektordesign, Bildbearbeitung und Layoutgestaltung.
description_es    : Affinity es una aplicación multidisciplinaria dedicada a tres áreas principales de diseño: diseño vectorial, edición de fotos y maquetación.
description_pt    : Affinity é um aplicativo multidisciplinar dedicado a três áreas principais de design: design vetorial, edição de fotos e diagramação.
description_it    : Affinity è un'applicazione multidisciplinare dedicata a tre principali ambiti del design: progettazione vettoriale, fotoritocco e impaginazione.
description_nl    : Affinity is een multidisciplinaire applicatie die zich richt op drie belangrijkste ontwerpgebieden: vectorontwerp, fotobewerking en lay-out.
description_ru    : Affinity — это многопрофильное приложение, предназначенное для трёх основных областей дизайна: векторная графика, редактирование фотографий и верстка.
audit_schedule    : 
editor            : Canva
keywords          : graphic,design
licence           : 
homepage          : https://www.affinity.studio
package_uuid      : 8b43197e-336a-4339-807e-51ef19acb9e8
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.affinity.studio/fr_fr/help/release-notes/
min_os_version    : 10.0.19041
max_os_version    : 
icon_sha256sum    : 8915f9ebe5e1e044b0c517d1ff8658fd4f4cac90335f4c02762f4357701168fe
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2026-06-20T10:05:55.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         : IRbIYbRfVmsHTTDhSBJi81rbvdfhw47xg6nh3Q/jCGV1ZnkdP0cRWwrh55ugemDrtDpJxM4gbWVcJFTbGiCIK3vVWyaFKtn39BIaruM1Xz6QS8VXDQUeQZpeRIWWAfXq8uWgjl9W8JpH0czt3ZHSMTy1cChZzPTNfJ340XfHSlk3ibT1GCIuBh10+pd7HUJVXqf8K5yHZUPo/hD120C3I9DxOExi/9nhSo0klEMhCSAMItiHi6CRqAA8g/iUKlKQkFJzzzh5mg7MSPw1HQUNQRm9utHrhgM8UjoI+QGVXDJcxgAeZBycfU6eM7iB3AUwP2q/AS+ewkqpDTKr1FYu3Q==

# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls
# -*- coding: utf-8 -*-
from setuphelpers import *

appx_package_name = "Canva.Affinity"
appx_dir = makepath(programfiles, "WindowsAppsInstallers")

def install():
    # Declare local variables
    bin_path = glob.glob(f"Affinity*.msix")[0]
    add_appx_cmd = f'Add-AppxProvisionedPackage -Online -PackagePath "{bin_path}" -SkipLicense'

    # Installing the UWP application
    appxprovisionedpackage = run_powershell(
        f'Get-AppXProvisionedPackage -Online | '
        f'Where-Object DisplayName -Like "*{appx_package_name}*" | '
        f'Select-Object -First 1 DisplayName, Version, PackageName',
        output_format="json"
    )
    pkg_version = "0"
    if appxprovisionedpackage:
        pkg_version = appxprovisionedpackage.get("Version", "0")
    print(f"Detected installed version: {pkg_version}")
    print(f"Target version: {control.get_software_version()}")

    if Version(pkg_version, 4) < Version(control.get_software_version(), 4):
        print(f"Installing: {bin_path.split(os.sep)[-1]} ({control.get_software_version()})")
        killalltasks(ensure_list(control.impacted_process))
        run_powershell(add_appx_cmd, output_format="text")
    else:
        print(f"{appx_package_name} is already installed and up-to-date ({pkg_version}).")

def uninstall():
    print(f"Removing AppX: {appx_package_name}")
    remove_appx(appx_package_name)
    #remove_appx("com.canva.CanvaDesktop")

def remove_appx(package, default_user=True):
    if running_as_admin() or running_as_system():
        if default_user:
            run_powershell(
                f'Get-AppXProvisionedPackage -Online | Where-Object DisplayName -Like "{package}" | Remove-AppxProvisionedPackage -Online -AllUsers',
                output_format="text",
            )
        run_powershell(
            r'Get-AppxPackage -Name "%s" -AllUsers | Where-Object {{ -not ($_.NonRemovable) }} | Remove-AppxPackage -AllUsers' % package,
            output_format="text",
        )
    else:
        run_powershell(r'Get-AppxPackage -Name "%s" | Where-Object {{ -not ($_.NonRemovable) }} | Remove-AppxPackage' % package, output_format="text")

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import json
import glob

appx_package_name = "Canva.Affinity"

def update_package():
    proxies = get_proxies() or get_proxies_from_wapt_console()

    download_url = "https://downloads.affinity.studio/Affinity%20arm64.msix"
    latest_bin = download_url.rsplit("/", 1)[1].replace("%20", "_")

    print(f"Download URL: {download_url}")

    # Download si nécessaire
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary already present: {latest_bin}")

    # Extraction version depuis le MSIX
    version_bin = unzip(latest_bin, ".", r"app\Affinity.exe", False)[0]
    version = get_version_from_binary(version_bin)
    remove_file(version_bin)

    print(f"Detected version: {version}")

    # Nettoyage anciens MSIX
    for f in glob.glob("*.msix"):
        if f != latest_bin:
            remove_file(f)

    # Mise à jour control
    control.set_software_version(version)
    control.save_control_to_wapt()

0eb94cec093a27e7de4045feb6d4158f21dd31b4a872b21ae204180e761558f7 : Affinity_arm64.msix
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
3e421f37a721072dd813484da0a09030fad1111a98bbeb2599e6eb9cb51fee2c : WAPT/control
8915f9ebe5e1e044b0c517d1ff8658fd4f4cac90335f4c02762f4357701168fe : WAPT/icon.png
60e87dfe574aec14e3ac5e6879687eefae5235c96b81f3acb9b068a553338680 : luti.json
53e4576dbe419c335d7ffba9dc5edaae1298e448a455ae6375261a315b42cd95 : setup.py
78875aecfc3bbcc1ef4843ee07da979b198de598548a7d456367a7890a033bb4 : update_package.py