tis-canva-uwp icon

Canva

Paquet d’installation silencieuse pour Canva

1.120.0-3
Drivers
Drivers

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-canva-uwp
  • name: Canva
  • version: 1.120.0-3
  • categories: Drivers
  • maintainer: WAPT Team,Tranquil IT,Amel FRADJ
  • licence: proprietary_free,wapt_public
  • locale: all
  • target_os: windows
  • impacted_process: Canva
  • architecture: x64
  • signature_date:
  • size: 152.19 Mo
  • installed_size: 263.87 Mo
  • homepage : https://www.canva.com/

package           : tis-canva-uwp
version           : 1.120.0-3
architecture      : x64
section           : base
priority          : optional
name              : Canva
categories        : Drivers
maintainer        : WAPT Team,Tranquil IT,Amel FRADJ
description       : Canva is an online template editor app for creating social media graphics and presentations
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.3
sources           : https://www.canva.com/help/msix-installer/
installed_size    : 263865226
impacted_process  : Canva
description_fr    : Canva est une application d'édition de modèles en ligne qui permet de créer des graphiques et des présentations pour les médias sociaux
description_pl    : Canva to internetowy edytor szablonów do tworzenia grafik i prezentacji w mediach społecznościowych
description_de    : Canva ist eine Online-Vorlagen-Editor-App zur Erstellung von Grafiken und Präsentationen für soziale Medien
description_es    : Canva es una aplicación de edición de plantillas en línea para crear gráficos y presentaciones para redes sociales
description_pt    : O Canva é uma aplicação de edição de modelos online para criar gráficos e apresentações para as redes sociais
description_it    : Canva è un editor di modelli online per la creazione di grafica e presentazioni per i social media
description_nl    : Canva is een online sjabloon-editorapp voor het maken van afbeeldingen en presentaties voor sociale media
description_ru    : Canva - это онлайн-редактор шаблонов для создания графики и презентаций для социальных сетей
audit_schedule    : 
editor            : 
keywords          : 
licence           : proprietary_free,wapt_public
homepage          : https://www.canva.com/
package_uuid      : 28a64e30-b528-4626-8ab5-20d61cfc44e0
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.canva.dev/docs/extensions/changelog/
min_os_version    : 10.0.19041
max_os_version    : 
icon_sha256sum    : 730dcf8d40fd9bb1822d827f427bd6ead4513110a85a4518c89651b86dc5d0f2
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-01-22T03:53:15.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         : A5TxEf2jfXtdR2Yks8jkPlI/43IhnlRMtl0waoelEoJKlX/HmERABUizwj0iji2RuGh68UouDl5aIJWtjQwiX0WlY4838e5H8dxk+Zt1CQ6Ura5NgFYJygsqgcWCU5d9R5ipL6lO7nmsrdgkPXfcF1bXSH8hiV3DNGGRxkXJmoT8XGDND/wpUAd3FklAsnYYQI212jvSYZkcoBMLMsr/D6cA0zXU2UEiaOJj/zEHtjzPmZnkD1QS7GlPX6fOzyTfeYW55wShce+xB94fptqzIJazDrvTA3IKqRtqOyNKETioAutQzyA6P5b76DX0Z2wPRxVsu5Lc8KRfz3vcy6xsSw==

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


appx_package_name = "com.canva.CanvaDesktop"
appx_dir = makepath(programfiles, "WindowsAppsInstallers")


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

    # Installing the UWP application if needed
    appxprovisionedpackage = run_powershell(f'Get-AppXProvisionedPackage -Online | Where-Object DisplayName -Like "{appx_package_name}"')
    if appxprovisionedpackage is None:
        remove_appx(appx_package_name, False)
        appxprovisionedpackage = {"Version": "0"}
    elif force:
        uninstall()
    if Version(appxprovisionedpackage["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'{appxprovisionedpackage["PackageName"]} is already installed and up-to-date.')


def uninstall():
    print(f"Removing AppX: {appx_package_name}")
    remove_appx(appx_package_name)


def audit():
    # Declaring local variables
    audit_result = "OK"
    audit_version = True
    appxprovisionedpackage = run_powershell(f'Get-AppXProvisionedPackage -Online | Where-Object DisplayName -Like "{appx_package_name}"')

    # Auditing software
    if appxprovisionedpackage is None:
        print(f"{appx_package_name} is not installed.")
        audit_result = "ERROR"
    elif audit_version:
        if Version(appxprovisionedpackage.get("Version", "0"), 4) < Version(control.get_software_version(), 4):
            print(
                f'{appxprovisionedpackage["PackageName"]} is installed in version: {appxprovisionedpackage["Version"]} instead of: {control.get_software_version()}.'
            )
            audit_result = "WARNING"
        else:
            print(f'{appxprovisionedpackage["PackageName"]} is installed and up-to-date.')
    else:
        print(f'{appxprovisionedpackage["PackageName"]} is installed.')

    return audit_result


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 *


def update_package():
    # Declaring local variables
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    update_dict = {
        "download_url": {
            "windows-x86": "https://desktop-release.canva.com/windows-enterprise/Canva Setup Latest x86.msix",
            "windows-x64": "https://desktop-release.canva.com/windows-enterprise/Canva Setup Latest x64.msix",
        },
    }
    download_url = update_dict["download_url"][f'{ensure_list(control.target_os)[0].split("(")[0]}-{ensure_list(control.architecture)[0]}']
    latest_bin = download_url.split("/")[-1]

    # Deleting all binaries
    remove_outdated_binaries("*", "msix")

    # Downloading latest binaries
    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)

    # Checking version from file
    if get_os_name() == "Windows" and "windows" in control.target_os.lower():
        version_bin = unzip(latest_bin, ".", r"app\Canva.exe", False)[0]
        version = get_version_from_binary(version_bin)
        remove_file(version_bin)
    else:
        version = control.get_software_version()

    # 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 update-package-sources
    return package_updated

    # # Changing version of the package and validating update-package-sources
    # return complete_control_version(control, version)

9d5f9e10775d64bc9da42ff59da08ca156429d9db0704a11c09e104630b880cc : Canva Setup Latest x64.msix
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
ba72a648b2227593ed2302d9af2707908287248670a4b02cf23d35ab7b80cb4a : WAPT/control
730dcf8d40fd9bb1822d827f427bd6ead4513110a85a4518c89651b86dc5d0f2 : WAPT/icon.png
dc0c6a4a833af34e1fd95996e90520f8782874664ac901c45d922b8ebe76b07b : luti.json
ceedc0c1754c0fec9b12b7345c03e74e1109dfa166886a61097c93660da967dd : setup.py
7c8de0aa2a01603ea46d7f4323c818c5f0cda4bf900605385d1968dd2382650b : update_package.py