[RISOLTO] Errore di distribuzione del pacchetto

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
Scud
Messaggi: 27
Registrazione: 23 marzo 2020 - 15:37

23 marzo 2020 - 16:02

Salve,
ho configurato un server WAPT e sto cercando di distribuire un file .exe con parametri inviati tramite Python.
Per essere più precisi, sto distribuendo owncloud.exe e ho creato del codice che popola automaticamente un file .cfg in modo che gli utenti debbano solo inserire le proprie password.
Nella console del server, tutto funziona correttamente. Posso installare e disinstallare il programma. Genero il pacchetto senza problemi, MA non appena lo distribuisco a un utente, ricevo un errore.

In allegato trovate il messaggio di errore e uno screenshot che mostra la versione di WAPT che sto utilizzando.
Il mio server è Windows Server 2012 R2 Datacenter. Il mio
computer di amministrazione è Windows 10 Pro.


Se avete bisogno del mio codice, non c'è problema, ma forse il messaggio di errore vi sarà utile senza sovraccaricarvi di informazioni.

Grazie in anticipo.
Allegati
Wapt.7z
(197,37 KB) Scaricato 255 volte
Ultima modifica di Scud il 07 aprile 2020 - 11:20, modificato 1 volta.
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

24 marzo 2020 - 09:23

Ciao,

ci manca il file setup.py. :(

Potresti anche pubblicare l'errore (clicca sulla macchina con l'errore, clicca sul pacchetto con l'errore)? L'errore del pacchetto si trova nel pannello in basso a destra.
Scud
Messaggi: 27
Registrazione: 23 marzo 2020 - 15:37

24 marzo 2020 - 12:13

Salve,
grazie per la risposta.
Stamattina ho leggermente modificato il mio codice per utilizzare l'ultima versione di Owncloud (in formato .msi).
Ora l'installazione e la disinstallazione funzionano, ma le mie impostazioni non vengono applicate. Credo che si tratti di un errore di codifica, anche se il mio ambiente e la mia configurazione sono impostati correttamente su UTF-8.

Ho allegato il file setup.py
(e ho appena aggiunto il messaggio di errore come file .csv).

Lo scopo del mio script è precompilare le informazioni richieste dopo l'installazione di Owncloud,
ovvero il nome utente, il percorso di archiviazione locale e scrivere tutto in un file .cfg in una cartella di Windows.

In locale, utilizzando Python con le funzioni install e remove, funziona. Ma quando lo eseguo su un'altra macchina (per ora una virtuale), il mio script non sembra essere eseguito.

Grazie per l'aiuto.
Allegati
GridHostTasksErrors00000.7z
(1,11 KB) Scaricato 311 volte
configurazione.7z
(1,01 KB) Scaricato 318 volte
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

24 marzo 2020 - 16:07

Quando si desidera interagire con l'ambiente utente, è necessario utilizzare session_setup:

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

Ho rielaborato un po' il tuo codice:

Codice: Seleziona tutto

# -*- 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)
Scud
Messaggi: 27
Registrazione: 23 marzo 2020 - 15:37

24 marzo 2020 - 17:08

Grazie per la risposta.
Il tuo codice è molto più pulito del mio, ma scusami, studio Python solo da due settimane. :D
Comunque, non credo che i file vengano scritti nella posizione corretta, o addirittura che vengano popolati.

Ora però ho la testa che mi gira, quindi per stasera smetto di programmare. Farò dei test domani e ti fornirò un resoconto completo.

Grazie ancora
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

25 marzo 2020 - 11:49

Questa è la configurazione della sessione.

La configurazione della sessione inizia quindi all'apertura della sessione stessa.
Scud
Messaggi: 27
Registrazione: 23 marzo 2020 - 15:37

26 marzo 2020 - 09:38

Ciao,
devo aver commesso un errore perché non funziona. Ho sostituito tutto il mio codice con il tuo, ma non scrive nulla nel file .cfg.
Per quanto riguarda il tuo codice, non vedo dove definisci la variabile `current_user`.

Dato che è una funzione nota di Wapt, non devo includerla nel codice, giusto?

Allo stesso modo, per la variabile `session_setup`, ho difficoltà a capire come recupera automaticamente tutte le variabili (percorsi, ecc.) e come scrive nel file. Il mio codice era più "grezzo" ma più facile da capire per un principiante. ;)

Grazie per l'aiuto.
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

26 marzo 2020 - 12:50

Per me funziona comunque

E nella parte superiore dello script, importiamo setuphelpers:

Codice: Seleziona tutto

from setuphelpers import *
Questo spiega perché abbiamo già molte cose disponibili; pyscripter offre il completamento automatico per aiutarti.

Per le diverse cose da usare:
- `get_current_user()` è in setuphelpers e recupera l'utente corrente
- install_msi_if_needed è in setuphelpers, disinstalla facilmente un MSI
- os.environ.get('HOMEPATH') è approssimativamente il valore di %HOMEPATH%
- `makepath` è in setuphelpers, ti permette di trasformare questo `makepath('c:','toto','tata')` in questo `'c:\toto\tata'`
- mkdirs è in setuphelpers, crea una cartella
- url_owncloud è definito nella parte superiore di setup.py
- inside_owncloud_file rappresenta il contenuto del nostro file con le diverse variabili (%s) https://python.developpez.com/cours/Div ... trings.php
Scud
Messaggi: 27
Registrazione: 23 marzo 2020 - 15:37

26 marzo 2020 - 15:19

Ho appena eseguito un altro test.
Ho eliminato il pacchetto dal mio repository privato (e mi sono reso conto che se mantieni lo stesso nome, devi eliminarlo tante volte quante lo hai aggiunto).
Una volta vuoto, ho ricreato un pacchetto usando il tuo codice. Stesso risultato. Owncloud si installa e si disinstalla senza problemi.
Tuttavia, chiudo la sessione (o addirittura la riavvio) e non creo una cartella, quindi non popola il file .cfg.
Avatar utente
sfontenau
Esperto WAPT
Messaggi: 2312
Registrato: 10 luglio 2014 - 23:52
Contatto:

26 marzo 2020 - 15:22

In un prompt dei comandi puoi eseguire:

Codice: Seleziona tutto

wapt-get session-setup nomdevotrepaquet -f
Bloccato