tis-claude-uwp icon

Claude

Paquet d'installation silencieuse pour Claude

2.37337.1-2
Utilities
Office
Utilities
Office

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-claude-uwp
  • name: Claude
  • version: 2.37337.1-2
  • categories: Utilities,Office
  • maintainer: Tranquil IT,WAPT Team,Kevin Cherel
  • editor: Anthropic, PBC
  • licence: proprietary_free,wapt_public
  • locale: all
  • target_os: windows
  • impacted_process: Claude.exe
  • architecture: arm64
  • signature_date:
  • size: 290.06 Mo
  • homepage : https://claude.com/download

package           : tis-claude-uwp
version           : 2.37337.1-2
architecture      : arm64
section           : base
priority          : optional
name              : Claude
categories        : Utilities,Office
maintainer        : Tranquil IT,WAPT Team,Kevin Cherel
description       : Claude Desktop (MSIX) is the MSIX-packaged version of Anthropic's Claude AI assistant for Windows, designed for enterprise deployment and centralized management.
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : windows
min_wapt_version  : 2.5
sources           : https://support.claude.com/en/articles/12622703-deploy-claude-desktop-for-windows
installed_size    : 
impacted_process  : Claude.exe
description_fr    : Claude Desktop (MSIX) est la version empaquetée au format MSIX de l'assistant IA Claude d'Anthropic pour Windows, conçue pour le déploiement en entreprise et la gestion centralisée.
description_pl    : Claude Desktop (MSIX) to wersja asystenta AI Claude firmy Anthropic dla systemu Windows spakowana w formacie MSIX, przeznaczona do wdrażania w środowisku przedsiębiorstwa i centralnego zarządzania.
description_de    : Claude Desktop (MSIX) ist die im MSIX-Format paketierte Version des KI-Assistenten Claude von Anthropic für Windows, entwickelt für die Bereitstellung in Unternehmen und die zentrale Verwaltung.
description_es    : Claude Desktop (MSIX) es la versión empaquetada en formato MSIX del asistente de IA Claude de Anthropic para Windows, diseñada para implementaciones empresariales y administración centralizada.
description_pt    : Claude Desktop (MSIX) é a versão empacotada no formato MSIX do assistente de IA Claude da Anthropic para Windows, projetada para implantação empresarial e gerenciamento centralizado.
description_it    : Claude Desktop (MSIX) è la versione in formato MSIX dell'assistente IA Claude di Anthropic per Windows, progettata per la distribuzione aziendale e la gestione centralizzata.
description_nl    : Claude Desktop (MSIX) is de in MSIX verpakte versie van Anthropic's Claude AI-assistent voor Windows, ontworpen voor bedrijfsimplementatie en gecentraliseerd beheer.
description_ru    : Claude Desktop (MSIX) представляет собой версию ИИ-ассистента Claude от Anthropic для Windows, упакованную в формат MSIX и предназначенную для корпоративного развертывания и централизованного управления.
audit_schedule    : 
editor            : Anthropic, PBC
keywords          : claude,anthropic,ai,assistant,chat,llm
licence           : proprietary_free,wapt_public
homepage          : https://claude.com/download
package_uuid      : d494a201-57ab-45d9-ad85-093e023d3faf
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 10.0.18362
max_os_version    : 
icon_sha256sum    : 3487c5f5d046d0a90b46396919c232709c623413e068cdaa9ea9fa132e710689
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2026-10-14T06:37:29.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         : EWUdXqFuFARZQl3ZW2Z63Hpiz6MEZ6CGjxab1l+2IO6aYLAPAa0JCir430VGoFEQ6X+xwaMnjgfYyRTbm3AUF5l+D3/0xsHVUvosZzjYuYOThOteS922jzQ5Ko9RI1X0S7WqanLdQ25UaqMgvJJYZaIZJ7ZEhj6Ee3mCeZQzQ1d2EEx+ejYUVvpNm8HxN9NTziqNZY+qxFFQM00ApyBby+pu+qctUBnSTwsETS+cnS6tBTybg0CBuRXSpqKOD0U89LycJ9jkphxyi5n6dutFGzqOrmC1WKPIW9dEADkT0SApOpaLOsciOnssk8If+YvArtvPq2ZsqZ+wnlsjIzp9Fw==

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

appx_package_name = "Claude"


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

    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"}
    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_script(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"
    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 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.')

    return audit_result


def remove_appx(package, default_user=True):
    if running_as_admin() or running_as_system():
        if default_user:
            ps_script = f'Get-AppXProvisionedPackage -Online | Where-Object DisplayName -Like ""{package}"" | Remove-AppxProvisionedPackage -Online -AllUsers'
            run_powershell_script(ps_script, output_format="text")

        ps_script = f'Get-AppxPackage -Name ""{package}"" -AllUsers | Where-Object -property NonRemovable -notlike True | Remove-AppxPackage -AllUsers'
        run_powershell_script(ps_script, output_format="text")
    else:
        ps_script = f'Get-AppxPackage -Name ""{package}"" | Where-Object -property NonRemovable -notlike True | Remove-AppxPackage'
        run_powershell_script(ps_script, 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()
    app_name = control.name

    os_dict = {
        "windows-x64": "https://claude.ai/api/desktop/win32/x64/msix/latest",
        "windows-arm64": "https://claude.ai/api/desktop/win32/arm64/msix/latest",
    }
    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]
    msix_url = os_dict[os_type]
    user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0"

    json_latest_version = wgets(msix_url, proxies=proxies, user_agent=user_agent, as_json=True)
    version, download_url = json_latest_version["version"], json_latest_version["url"]
    latest_bin = download_url.rsplit("/", 1)[-1]
    latest_bin_extension = latest_bin.rsplit(".", 1)[-1]

    # Downloading latest binaries
    print(f"Latest {app_name} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")

    # Deleting outdated binaries
    for f in glob.glob(f"*.{latest_bin_extension}"):
        if f != latest_bin:
            print(f"Deleting outdated binary: {f}")
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated

c3672dadd76524b2a78abb4530786a60459ecc2d8ab57567003e56bf5882c660 : Claude-ba51ab579cc4029765083ec9f9f0bd23d37a32ee.msix
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
52ded3b5d01c90ed6ccf914668d00ae9af85543cd1d526b284160d92fe603f7a : WAPT/control
3487c5f5d046d0a90b46396919c232709c623413e068cdaa9ea9fa132e710689 : WAPT/icon.png
64bb630fdd85c73ea7e6e99817bc55544d3cf023f73c759f2faafb2eaa8fa200 : luti.json
b6bf69da8564e8599d4cd6d108a91d3b2a7242eb43c3735db289b7bc78bb6ef3 : setup.py
26e747090e5e2674a4266906173c6bdcfa63d816d95d63d64f2cb101465b4f49 : update_package.py