tis-canva-uwp icon

Canva

Paquet d’installation silencieuse pour Canva

1.108.0-3

  • package: tis-canva-uwp
  • name: Canva
  • version: 1.108.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: x86
  • signature_date:
  • size: 125.27 Mo
  • installed_size: 263.87 Mo
  • homepage : https://www.canva.com/

package           : tis-canva-uwp
version           : 1.108.0-3
architecture      : x86
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          : PROD
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      : 30008d07-d7c1-4367-ad22-520e374a2ea5
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.canva.dev/docs/extensions/changelog/
min_os_version    : 10.0
max_os_version    : 
icon_sha256sum    : 730dcf8d40fd9bb1822d827f427bd6ead4513110a85a4518c89651b86dc5d0f2
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-05-19T03:05:34.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         : vj64DrT65a73l2IKew9plTX8iBw85s5qFmXLNLx1XUNbQ3dNXIelT61+67l6dt55Kn2tI4NuZmF0wupSjT/t0D8gaHDV6Fvsi7U+Uw0uHGmdABwYi2omgPdnFusx6kOX8TZQdqO2WHPebF33HCn8+PczWRyOOO15zdgdUsIjDA+rmkhki3JgFWKP3KJK8Vnf5IOLLvun2MMFBnquWcVzYF0LIURRycC2Fdsa41ZzU4BYo5zyRJrtjf/dj9081wt5Wfma/0ByoxhCV1yXmImiATStTx3MLOpeKau3BR3c/xjUl3hJahEBHbiJGGfXNXDiMgv13ejM7ksz2Qlon0apew==

# -*- 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)

8984c61e99c03570729330049df059df3dafb373defb636d33ae38db5c7bfb5d : Canva Setup Latest x86.msix
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
1a65a1ef0466c439635dd0411858e49465d383b00db5b066112034f9e85a8855 : WAPT/control
730dcf8d40fd9bb1822d827f427bd6ead4513110a85a4518c89651b86dc5d0f2 : WAPT/icon.png
b7049e8b8ee8cc34a96e8fd8d711804a13f31f7f60c5d8b5856080b26bc607b6 : luti.json
ceedc0c1754c0fec9b12b7345c03e74e1109dfa166886a61097c93660da967dd : setup.py
7c8de0aa2a01603ea46d7f4323c818c5f0cda4bf900605385d1968dd2382650b : update_package.py