Seite 1 von 2

[GELÖST] Problem mit install_msi_if_needed und der MSIX-Datei

Veröffentlicht: 9. November 2023 - 15:24 Uhr
von t.heroult
Guten Morgen
Ich möchte ein Paket für das neue MS-TEAMS entwickeln, das als msix bereitgestellt wird.

Wenn ich aber in PyScripter ein einfaches `install_msi_if_needed('MSTeams-x86.msix')` ausführe, erhalte ich folgende Ausgabe:

Code: Alle auswählen

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
Hat jemand eine Ahnung, was da los ist?

Betreff: Problem mit install_msi_if_needed und der MSIX-Datei

Veröffentlicht: 9. November 2023 - 17:50 Uhr
von dcardon
Hallo Thomas,

mir scheint, dass das MSIX-Format kaum etwas mit dem MSI-Format zu tun hat. Die Msilib-Bibliothek, die der Funktion `install_msi_if_needed` zugrunde liegt, unterstützt es anscheinend nicht.

Wir müssen es wohl vorerst mit etwas wie `run()` ausführen.

Denis

Betreff: Problem mit install_msi_if_needed und der MSIX-Datei

Veröffentlicht: 10. November 2023 - 09:08 Uhr
von t.heroult
Ich verstehe, aber es ist inkonsistent, dass ich über die Konsole den Assistenten für neue Pakete gestartet habe. Die erste Option bot MSI, MSIX und EXE an, und nach der Auswahl von MSIX öffnete sich PyScripter mit der bereits vorhandenen Zeile `install_msi_if_needed`.
Dies sollte überprüft werden, falls die Funktion keine MSIX-Dateien verarbeiten kann.

Betreff: Problem mit install_msi_if_needed und der MSIX-Datei

Veröffentlicht: 10. November 2023 - 10:54 Uhr
von t.heroult
Ich verstehe nicht, wie ich MSIX mit WAPT installieren kann.
Normalerweise wäre die einfachste Methode die Verwendung von PowerShell mit dem Befehl „Add-AppxPackage“, aber dieser Vorgang ist mit dem von WAPT verwendeten lokalen Systemkonto nicht möglich.

Betreff: Problem mit install_msi_if_needed und der MSIX-Datei

Veröffentlicht: 10. November 2023 - 11:01 Uhr
von Sfonteneau
Tatsächlich habe ich gerade gesehen, dass msix in waptconsole fest codiert ist

Wir werden den Verweis entfernen; es handelt sich um einen historischen Fehler

In der Zwischenzeit können Sie beispielsweise Folgendes versuchen:

Code: Alle auswählen


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

def session_setup():
    run(r'powershell Add-AppPackage -path "c:\MyApp.msix"')

Betreff: Problem mit install_msi_if_needed und der MSIX-Datei

Veröffentlicht: 10. November 2023 - 11:42 Uhr
von t.heroult
Hallo Simon
, wie ich bereits in meinem vorherigen Kommentar erwähnt habe, funktioniert es nicht.
Zumindest funktioniert es in PyScripter, da es mit meinem Benutzerkonto gestartet wurde. Der WAPT-Agent läuft jedoch mit dem lokalen Systemkonto, welches keine Berechtigung zum Ausführen von „PowerShell Add-AppxPackage“ hat. Dies ist unter Windows verboten, und das Gleiche gilt für „Add-AppPackage“ selbst.

Betreff: Problem mit install_msi_if_needed und der MSIX-Datei

Veröffentlicht: 10. November 2023 - 12:35 Uhr
von Sfonteneau
Aber in meinem Beispiel handelt es sich um eine session_setup-Aufrufe, also nicht um Systemaufrufe, daher funktioniert es auch nicht?

Betreff: Problem mit install_msi_if_needed und der MSIX-Datei

Veröffentlicht: 10. November 2023 - 12:41 Uhr
von t.heroult
Ich weiß nicht, was das Ergebnis in session_setup sein wird...
Ich teste es und schaue, was passiert.

Mehr später!

Betreff: Problem mit install_msi_if_needed und der MSIX-Datei

Veröffentlicht: 10. November 2023 - 15:04 Uhr
von t.heroult
Negatives Feedback, nichts passiert.
Der verwendete Befehl lautet: powershell Add-AppPackage -Path "C:\Software\bin\MSTeams-x64.msix"
Gestartet durch session_setup: Es passiert nichts
Aus einem PowerShell-Fenster gestartet (Standardbenutzer): Es funktioniert...

Code: Alle auswählen


def session_setup():
    cmd = 'powershell Add-AppPackage -Path "C:\Logiciels\bin\MSTeams-x64.msix"'
    run(cmd)

Betreff: Problem mit install_msi_if_needed und der MSIX-Datei

Veröffentlicht: 10. November 2023 – 15:42 Uhr
von Sfonteneau
Hmm, das 'r' vor der Zeichenkette?

Oder sollte ich einfach den vollständigen Pfad verwenden:

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