Seite 1 von 2

[GELÖST] Paketbereitstellungsfehler

Veröffentlicht: 23. März 2020 – 16:02 Uhr
von Scud
Hallo,
ich habe einen WAPT-Server eingerichtet und versuche, eine .exe-Datei mit Parametern, die über Python übergeben werden, bereitzustellen.
Genauer gesagt, verteile ich owncloud.exe und habe Code geschrieben, der automatisch eine .cfg-Datei ausfüllt, sodass Benutzer nur noch ihre Passwörter eingeben müssen.
In der Serverkonsole funktioniert alles einwandfrei. Ich kann das Programm installieren und deinstallieren. Auch die Paketerstellung klappt problemlos. Sobald ich es jedoch einem Benutzer bereitstelle, erhalte ich eine Fehlermeldung.

Die Fehlermeldung und ein Screenshot der verwendeten WAPT-Version sind beigefügt.
Mein Server läuft unter Windows Server 2012 R2 Datacenter. Mein
Administrationsrechner verwendet Windows 10 Pro.


Falls Sie meinen Code benötigen, stelle ich ihn Ihnen gerne zur Verfügung. Vielleicht ist die Fehlermeldung aber auch schon aussagekräftig genug.

Vielen Dank im Voraus.

Betreff: Fehler bei der Paketbereitstellung

Veröffentlicht: 24. März 2020 - 09:23 Uhr
von Sfonteneau
Hallo,

uns fehlt die setup.py-Datei. :(

Könnten Sie bitte auch die Fehlermeldung posten (klicken Sie auf den Rechner mit dem Fehler, dann auf das Paket mit dem Fehler)? Die Paketfehlermeldung finden Sie unten rechts im Bedienfeld.

Betreff: Fehler bei der Paketbereitstellung

Veröffentlicht: 24. März 2020 - 12:13 Uhr
von Scud
Hallo,
vielen Dank für Ihre Antwort.
Ich habe meinen Code heute Morgen leicht angepasst, um die neueste Version von Owncloud (im .msi-Format) zu verwenden.
Installation und Deinstallation funktionieren jetzt, aber meine Einstellungen werden nicht angewendet. Ich vermute, es liegt ein Kodierungsfehler vor, obwohl meine Umgebung und Konfiguration korrekt auf UTF-8 eingestellt sind.

Ich habe setup.py angehängt
(und die Fehlermeldung als .csv-Datei hinzugefügt).

Mein Skript soll die benötigten Informationen nach der Owncloud-Installation vorausfüllen.
Das heißt, den Benutzernamen, den lokalen Speicherpfad und die Daten in eine .cfg-Datei in einem Windows-Ordner schreiben.

Lokal funktioniert es mit Python und den Installations- und Deinstallationsfunktionen. Wenn ich es jedoch auf einem anderen Rechner (derzeit in einer virtuellen Maschine) ausführe, scheint es nicht zu funktionieren.

Vielen Dank für Ihre Hilfe.

Betreff: Fehler bei der Paketbereitstellung

Veröffentlicht: 24. März 2020 – 16:07 Uhr
von Sfonteneau
Wenn Sie mit der Benutzerumgebung interagieren möchten, müssen Sie session_setup verwenden:

https://www.wapt.fr/fr/doc/wapt-create- ... index.html

Ich habe deinen Code etwas überarbeitet:

Code: Alle auswählen

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

uninstallkey = []

url_owncloud = 'https://cloud.test.fr'

def install():
    print('installing frej-owncloud')
    install_msi_if_needed('ownCloud-2.6.1.msi')

def session_setup():

    homeowncloud = makepath(os.environ.get('HOMEPATH'),'ownCloud')
    owncloud_appdata = makepath(application_data(),'ownCloud')
    fichiercfg = makepath(owncloud_appdata,'owncloud.cfg')

    mkdirs(homeowncloud)
    mkdirs(owncloud_appdata)

    inside_owncloud_file = r"""[General]
clientVersion=2.6.1 (build 12992)
confirmExternalStorage=false
newBigFolderSizeLimit=500
optionalDesktopNotifications=true
showInExplorerNavigationPane=true
useNewBigFolderSizeLimit=false

[Accounts]
version=2
0\Folders\1\localPath=c:/Users/%s/ownCloud
0\url=%s
0\http_user=%s
0\user=%s""" % (get_current_user(),url_owncloud,get_current_user(),get_current_user())

    with open(fichiercfg, "w") as fichier:
        fichier.write(inside_owncloud_file)

Betreff: Fehler bei der Paketbereitstellung

Veröffentlicht: 24. März 2020 – 17:08 Uhr
von Scud
Vielen Dank für Ihre Antwort.
Ihr Code ist deutlich übersichtlicher als meiner, aber entschuldigen Sie bitte, ich lerne Python erst seit zwei Wochen. :D
Ich glaube allerdings nicht, dass die Dateien am richtigen Ort gespeichert oder überhaupt befüllt werden.

Mir schwirrt gerade der Kopf, deshalb höre ich für heute Abend mit dem Programmieren auf. Ich werde morgen Tests durchführen und Ihnen einen ausführlichen Bericht zukommen lassen.

Nochmals vielen Dank

Betreff: Fehler bei der Paketbereitstellung

Veröffentlicht: 25. März 2020 - 11:49 Uhr
von Sfonteneau
Dies ist eine Sitzungseinrichtung.

Die Sitzungseinrichtung beginnt daher, wenn die Sitzung geöffnet wird.

Betreff: Fehler bei der Paketbereitstellung

Veröffentlicht: 26. März 2020 - 09:38 Uhr
von Scud
Hallo,
ich muss einen Fehler gemacht haben, denn es funktioniert nicht. Ich habe meinen gesamten Code durch Ihren ersetzt, aber es wird nichts in die .cfg-Datei geschrieben.
In Ihrem Code finde ich die Definition der Variable `current_user` nicht.

Da es sich um eine bekannte Funktion von Wapt handelt, muss ich sie nicht im Code einbinden, oder?

Auch bei der Variable `session_setup` verstehe ich nicht, wie sie automatisch alle Variablen (Pfade usw.) abruft und in die Datei schreibt. Mein Code war zwar etwas „einfacher“, aber für einen Anfänger leichter verständlich. ;)

Vielen Dank für Ihre Hilfe.

Betreff: Fehler bei der Paketbereitstellung

Veröffentlicht: 26. März 2020 - 12:50 Uhr
von Sfonteneau
Bei mir funktioniert es aber

Und ganz oben im Skript importieren wir setuphelpers:

Code: Alle auswählen

from setuphelpers import *
Dies erklärt, warum wir bereits viele Dinge zur Verfügung haben; pyscripter bietet eine Autovervollständigung, die Ihnen dabei hilft.

Für die verschiedenen Dinge, die man verwenden kann:
- Die Funktion `get_current_user()` befindet sich in setuphelpers und gibt den aktuellen Benutzer zurück
- install_msi_if_needed befindet sich in setuphelpers und ermöglicht die einfache Deinstallation einer MSI-Datei
- os.environ.get('HOMEPATH') entspricht ungefähr dem Wert von %HOMEPATH%
- `makepath` befindet sich in setuphelpers und ermöglicht es Ihnen, diesen `makepath('c:','toto','tata')` in diesen `'c:\toto\tata'` umzuwandeln
- mkdirs befindet sich in setuphelpers, erstellt einen Ordner
- url_owncloud ist am Anfang von setup.py definiert
- inside_owncloud_file repräsentiert den Inhalt unserer Datei mit den verschiedenen Variablen (%s) https://python.developpez.com/cours/Div ... trings.php

Betreff: Fehler bei der Paketbereitstellung

Veröffentlicht: 26. März 2020 – 15:19 Uhr
von Scud
Ich habe gerade einen weiteren Test durchgeführt.
Ich habe das Paket aus meinem privaten Repository gelöscht (und festgestellt, dass man es jedes Mal löschen muss, wenn man denselben Namen beibehält).
Nachdem das Repository leer war, habe ich es mithilfe Ihres Codes neu erstellt. Das Ergebnis ist dasselbe. Owncloud lässt sich problemlos installieren und deinstallieren.
Ich schließe die Sitzung (oder starte sie sogar neu) und erstelle keinen Ordner, sodass die .cfg-Datei nicht befüllt wird.

Betreff: Fehler bei der Paketbereitstellung

Veröffentlicht: 26. März 2020 – 15:22 Uhr
von Sfonteneau
In der Eingabeaufforderung können Sie Folgendes ausführen:

Code: Alle auswählen

wapt-get session-setup nomdevotrepaquet -f