[RISOLTO] Problema con install_msi_if_needed e file msix

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Avatar utente
t.heroult
Messaggi: 304
Iscrizioni: 8 dicembre 2020 - ore 10:13

9 novembre 2023 - 15:24

Buongiorno
Voglio sviluppare un pacchetto per il nuovo MS-TEAMS fornito come msix.

Ma quando provo un semplice install_msi_if_needed('MSTeams-x86.msix') in pyscripter, ottengo questo output:

Codice: Seleziona tutto

2023-11-09 15:13:13,714 CRITICAL Fatal error in install script: MSIError: open failed:
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 4083, in install_wapt
    exitstatus = setup.install()
  File "c:\waptdev\ln-msteams-x86_0.0.0_Windows_PROD\setup.py", line 16, in install
    install_msi_if_needed('MSTeams-x86.msix')
  File "C:\Program Files (x86)\wapt\common.py", line 4033, in new_func
    return func(*args, **kwargs)
  File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 1379, in install_msi_if_needed
    key = get_msi_properties(msi)['ProductCode']
  File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 2825, in get_msi_properties
    db = msilib.OpenDatabase(msi_filename, msilib.MSIDBOPEN_READONLY)
_msi.MSIError: open failed

FATAL ERROR : MSIError: open failed
Exit code:  3
Hai idea di cosa sta succedendo?
Ultima modifica di t.heroult il 10 novembre 2023 alle 16:31, modificato 1 volta.
Server: WAPT Enterprise 2.6.1.17765 su Debian
Console: Windows 10 e 11
Infrastruttura: Windows

Lo sapevi? Quando i pesci pappagallo subiscono la smoltificazione, il loro meccanismo di osmoregolazione si inverte!
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

9 novembre 2023 - 17:50

Ciao Thomas,

mi sembra che il formato msix abbia ben poco a che fare con il formato msi. La libreria msilib, che viene utilizzata alla base della funzione install_msi_if_needed, a quanto pare non lo gestisce.

Per ora, credo che dovremo eseguirlo con qualcosa come run()...

Denis
Denis Cardon - Tranquil IT
Condividi le tue esperienze su WAPT! Inviaci gli URL dei tuoi blog e articoli nella "La tua opinione del forum e li pubblicheremo sul di WAPT
Avatar utente
t.heroult
Messaggi: 304
Iscrizioni: 8 dicembre 2020 - ore 10:13

10 novembre 2023 - 09:08

Capisco, ma ciò che è incoerente è che dalla console, ho avviato la procedura guidata per la creazione di nuovi pacchetti, la prima opzione che offre msi, msix ed exe, e dopo aver selezionato msix, PyScripter si apre con la riga `install_msi_if_needed` già creata.
Questo deve essere verificato se la funzione non è in grado di gestire i file msix.
Server: WAPT Enterprise 2.6.1.17765 su Debian
Console: Windows 10 e 11
Infrastruttura: Windows

Lo sapevi? Quando i pesci pappagallo subiscono la smoltificazione, il loro meccanismo di osmoregolazione si inverte!
Avatar utente
t.heroult
Messaggi: 304
Iscrizioni: 8 dicembre 2020 - ore 10:13

10 novembre 2023 - 10:54

Quindi, non capisco come installare MSIX con WAPT.
Il modo più semplice sarebbe normalmente usare PowerShell con Add-AppxPackage, se non fosse che questa operazione non è possibile con l'account LOCAL SYSTEM utilizzato da WAPT...
Server: WAPT Enterprise 2.6.1.17765 su Debian
Console: Windows 10 e 11
Infrastruttura: Windows

Lo sapevi? Quando i pesci pappagallo subiscono la smoltificazione, il loro meccanismo di osmoregolazione si inverte!
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

10 novembre 2023 - 11:01

In effetti, ho appena visto che msix è codificato in modo rigido in waptconsole

Rimuoveremo il riferimento: è un errore storico

Nel frattempo, puoi provare qualcosa del genere:

Codice: Seleziona tutto


def install():
    filecopyto('MyApp.msix','c:\MyApp.msix')

def session_setup():
    run(r'powershell Add-AppPackage -path "c:\MyApp.msix"')
Avatar utente
t.heroult
Messaggi: 304
Iscrizioni: 8 dicembre 2020 - ore 10:13

10 novembre 2023 - 11:42

Ciao Simon
, come ho già detto nel mio commento precedente, non funziona.
Almeno, funziona in PyScripter perché viene avviato con il mio account, ma l'agente WAPT viene eseguito con l'account SYSTEM LOCAL, che non ha l'autorizzazione per eseguire "PowerShell Add-AppxPackage". Questo è vietato da Windows, e lo stesso vale per Add-AppPackage stesso.
Server: WAPT Enterprise 2.6.1.17765 su Debian
Console: Windows 10 e 11
Infrastruttura: Windows

Lo sapevi? Quando i pesci pappagallo subiscono la smoltificazione, il loro meccanismo di osmoregolazione si inverte!
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

10 novembre 2023 - 12:35

Ma nel mio esempio è un session_setup, quindi non è un sistema, quindi non funziona neanche questo?
Avatar utente
t.heroult
Messaggi: 304
Iscrizioni: 8 dicembre 2020 - ore 10:13

10 novembre 2023 - 12:41

Non so quale sarebbe il risultato in session_setup...
Lo testerò e vedrò.

A presto!
Server: WAPT Enterprise 2.6.1.17765 su Debian
Console: Windows 10 e 11
Infrastruttura: Windows

Lo sapevi? Quando i pesci pappagallo subiscono la smoltificazione, il loro meccanismo di osmoregolazione si inverte!
Avatar utente
t.heroult
Messaggi: 304
Iscrizioni: 8 dicembre 2020 - ore 10:13

10 novembre 2023 - 15:04

Feedback negativo, non succede nulla.
Il comando utilizzato è: powershell Add-AppPackage -Path "C:\Software\bin\MSTeams-x64.msix"
Avviato da session_setup: non succede nulla
Avviato da una finestra di PowerShell (utente standard): funziona...

Codice: Seleziona tutto


def session_setup():
    cmd = 'powershell Add-AppPackage -Path "C:\Logiciels\bin\MSTeams-x64.msix"'
    run(cmd)
Server: WAPT Enterprise 2.6.1.17765 su Debian
Console: Windows 10 e 11
Infrastruttura: Windows

Lo sapevi? Quando i pesci pappagallo subiscono la smoltificazione, il loro meccanismo di osmoregolazione si inverte!
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

10 novembre 2023 - 15:42

Hmm, la 'r' prima della stringa?

O dovrei usare semplicemente il percorso completo:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
Bloccato