Page 1 sur 1

Add-AppxProvisionedPackage et paramètre positionel

Posté : 26 juin 2025 - 13:19
par cefinformatique
Version WAPT : 2.6.0.17293

Bonjour,

J'essaie de créer un paquet pour installer la dernière version du client 3CX pour windows. J'ai donc récupéré 3CX.msix et sa dépendance : Microsoft.WindowsAppRuntime.1.7_7000.498.2246.0_x64__8wekyb3d8bbwe.msix que j'ai tout deux ajoutés dans le répertoire du paquet WAPT.

Ensuite j'ai utilisé cette fonction :

Code : Tout sélectionner

appx_package_name = "3CX"

def install():
    # Sélection du fichier principal .msix
    bin_path_candidates = glob.glob(makepath(f"{appx_package_name}.msix"))
    if not bin_path_candidates:
        raise Exception(f"Erreur : fichier {appx_package_name}.msix introuvable")
    bin_path = bin_path_candidates[0]

    # Détection des dépendances éventuelles
    dependencies_paths = [
        f'"{a}"' for a in glob.glob("*.msix")
        if not os.path.basename(a).startswith(appx_package_name)
    ]
    dependencies_pathes_str = ", ".join(dependencies_paths)

    # Construction de la commande PowerShell
    add_appx_cmd = (
        f'Add-AppxProvisionedPackage -Online '
        f'-PackagePath "{bin_path}" '
        f'-SkipLicense'
    )
    if dependencies_pathes_str:
        add_appx_cmd += f' -DependencyPackagePath {dependencies_pathes_str}'

    # Vérification de la version installée de l'appx
    appxprovisionedpackage = run_powershell(
        f'Get-AppXProvisionedPackage -Online | Where-Object DisplayName -Like "{appx_package_name}"',
        output_format="json"
    )
    current_version = appxprovisionedpackage[0]["Version"] if appxprovisionedpackage else "0.0.0.0"

    # Installation si version plus récente ou install forcée
    if Version(current_version, 4) < Version(control.get_software_version(), 4) or force:
        print(f"Installing: {os.path.basename(bin_path)}")
        killalltasks(ensure_list(control.impacted_process))
        run_powershell_script(add_appx_cmd.strip(), output_format="text")
    else:
        print(f"{appx_package_name} is already installed and up-to-date.")
Mais lorsque je teste le paquet j'obtiens l'erreur suivante :

Code : Tout sélectionner

Invoke-Expression : Impossible de trouver un paramètre positionnel acceptant l\'argument «3CX.msix -SkipLicense _x000D__x000A_</S><S S="Error">-DependencyPackagePath Microsoft.WindowsAppRuntime.1.7_7000.498.2246.0_x005F_x64__8wekyb3d8bbwe.msix»._x000D__x000A_</S><S S="Error">Au caractère Ligne:1 : 2_x000D__x000A_</S><S S="Error">+ (invoke-expression -Command "Add-AppxProvisionedPackage -Online -Pack ..._x000D__x000A_</S><S S="Error">
Qu'est-ce qui ne va pas dans ma fonction ?

Re: Add-AppxProvisionedPackage et paramètre positionel

Posté : 26 juin 2025 - 15:39
par jlepiquet
Bonjour,

Il y a un soucis avec l'ajout des packages en dépendances visiblement.
Je profite de votre demande pour ajouter le paquet dans notre store.

Il est disponible en préprod ici : https://wapt.tranquil.it/wapt-testing/t ... EPROD.wapt
Et sera disponible en prod d'ici 5 jours.

Cordialement,

Re: Add-AppxProvisionedPackage et paramètre positionel

Posté : 01 juil. 2025 - 11:21
par cefinformatique
Bonjour,

Merci pour le paquet !

Je viens de le tester sur un poste Windows 11 Pro que je viens de réinstaller et j'ai cette erreur :

Code : Tout sélectionner

Erreur lors de l'installation de ['cef-3cx-appx(=20.0.895.0-66)']: erreurs dans les paquets [[PackageRequest(package='cef-3cx-appx',version=(Version('20.0.895.0'), 66),architectures=['x64'],locales=['fr'],maturities=['PROD'],tags=['windows-10', 'win-10', 'w-10', 'windows10', 'win10', 'w10', 'windows', 'win', 'w'],min_os_version=Version('10.0.26100'),max_os_version=Version('10.0.26100')), PackageEntry('cef-3cx-appx','20.0.895.0-66' architecture='x64',maturity='PROD',target_os='windows'), 'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 5609, in install\n    result = self.install_wapt(p.localpath,\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4548, in install_wapt\n    raise e\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4454, in install_wapt\n    exitstatus = setup.install()\n  File "C:\\WINDOWS\\TEMP\\wapt2x3d94vg\\setup.py", line 36, in install\nIndexError: list index out of range\n']]
Traceback (most recent call last):
  File "<string>", line 1662, in run
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 875, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1484, in _run
    raise Exception(_('Error during install of {}: errors in packages {}').format(
Exception: Erreur lors de l'installation de ['cef-3cx-appx(=20.0.895.0-66)']: erreurs dans les paquets [[PackageRequest(package='cef-3cx-appx',version=(Version('20.0.895.0'), 66),architectures=['x64'],locales=['fr'],maturities=['PROD'],tags=['windows-10', 'win-10', 'w-10', 'windows10', 'win10', 'w10', 'windows', 'win', 'w'],min_os_version=Version('10.0.26100'),max_os_version=Version('10.0.26100')), PackageEntry('cef-3cx-appx','20.0.895.0-66' architecture='x64',maturity='PROD',target_os='windows'), 'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 5609, in install\n    result = self.install_wapt(p.localpath,\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4548, in install_wapt\n    raise e\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4454, in install_wapt\n    exitstatus = setup.install()\n  File "C:\\WINDOWS\\TEMP\\wapt2x3d94vg\\setup.py", line 36, in install\nIndexError: list index out of range\n']]

Exception: Erreur lors de l'installation de ['cef-3cx-appx(=20.0.895.0-66)']: erreurs dans les paquets [[PackageRequest(package='cef-3cx-appx',version=(Version('20.0.895.0'), 66),architectures=['x64'],locales=['fr'],maturities=['PROD'],tags=['windows-10', 'win-10', 'w-10', 'windows10', 'win10', 'w10', 'windows', 'win', 'w'],min_os_version=Version('10.0.26100'),max_os_version=Version('10.0.26100')), PackageEntry('cef-3cx-appx','20.0.895.0-66' architecture='x64',maturity='PROD',target_os='windows'), 'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 5609, in install\n    result = self.install_wapt(p.localpath,\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4548, in install_wapt\n    raise e\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4454, in install_wapt\n    exitstatus = setup.install()\n  File "C:\\WINDOWS\\TEMP\\wapt2x3d94vg\\setup.py", line 36, in install\nIndexError: list index out of range\n']]
Traceback (most recent call last):
  File "<string>", line 1662, in run
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 875, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1484, in _run
    raise Exception(_('Error during install of {}: errors in packages {}').format(
Exception: Erreur lors de l'installation de ['cef-3cx-appx(=20.0.895.0-66)']: erreurs dans les paquets [[PackageRequest(package='cef-3cx-appx',version=(Version('20.0.895.0'), 66),architectures=['x64'],locales=['fr'],maturities=['PROD'],tags=['windows-10', 'win-10', 'w-10', 'windows10', 'win10', 'w10', 'windows', 'win', 'w'],min_os_version=Version('10.0.26100'),max_os_version=Version('10.0.26100')), PackageEntry('cef-3cx-appx','20.0.895.0-66' architecture='x64',maturity='PROD',target_os='windows'), 'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 5609, in install\n    result = self.install_wapt(p.localpath,\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4548, in install_wapt\n    raise e\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4454, in install_wapt\n    exitstatus = setup.install()\n  File "C:\\WINDOWS\\TEMP\\wapt2x3d94vg\\setup.py", line 36, in install\nIndexError: list index out of range\n']]