[RISOLTO] Creazione del pacchetto software Sphinx v5

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
Bloccato
olaplanche
Messaggi: 178
Registrazione: 26 gennaio 2017 - 11:11

14 dicembre 2017 - 09:38

Buongiorno,

Sto aprendo un nuovo thread per finalizzare il mio pacchetto di installazione del software Sphinx.

Ho trovato una procedura di installazione silenziosa più semplice rispetto al mio approccio iniziale nel thread "errore di codifica dei caratteri". Basta creare un file license.dat con le informazioni corrette nella radice della cartella di installazione.
Successivamente, avviamo l'installazione con il seguente comando: install.exe /s

L'installazione funziona senza problemi al di fuori di wapt, tuttavia una volta impacchettato l'installazione procede ma senza la licenza.
A un esame più attento, noto che non appena viene eseguito il file install.exe, la cartella temporanea del pacchetto viene eliminata.
Presumo quindi che il programma di installazione non abbia il tempo di leggere il file di licenza; è possibile ritardare l'eliminazione della cartella temporanea?

Per vostra informazione, ecco il mio codice:

Codice: Seleziona tutto

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

uninstallkey = []

def install():
    print('installing wapt-sphinxv5')
    install_exe_if_needed("SphinxV5\Install.exe",'/s')

def uninstall():
    run(r'"C:\SphinxV5\licence\UNWISE.EXE" /s C:\SphinxV5\licence\install.log')
    remove_tree(r'C:\SphinxV5')
Per vostra informazione:
- Versione WAPT installata: 1.3.13
- Sistema operativo del server: Debian Jessie
- Sistema operativo della macchina di amministrazione/creazione pacchetti: Windows 10

GRAZIE
Ultima modifica di olaplanche il 14 dic 2018 - 13:37, modificato 1 volta.
- Versione WAPT installata: 2.6.0.16795 Enterprise
- Sistema operativo del server: Linux / Debian Bookworm
- Sistema operativo della macchina per l'amministrazione/creazione dei pacchetti: Windows 10
Avatar utente
dcardon
Esperto WAPT
Messaggi: 1908
Registrazione: 18 giugno 2014 - 09:58
Ubicazione: Saint Sébastien sur Loire
Contatto:

19 dicembre 2017 - 18:57

Buonasera Olaplanche,

la directory temporanea creata da WAPT durante l'installazione del pacchetto viene eliminata dopo l'esecuzione della funzione `install()`. Pertanto, il file è disponibile quando viene eseguito `SphinxV5\Install.exe`.

Devi verificare se il file di dati deve essere posizionato nella directory principale del pacchetto (`basedir`) o nella directory di SphinxV5 (la directory del file binario).

Fai attenzione anche alle barre rovesciate: devi raddoppiarle o aggiungere una 'r' prima della stringa, ad esempio `r'Install\Sphinxv5.exe'`.
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
olaplanche
Messaggi: 178
Registrazione: 26 gennaio 2017 - 11:11

20 dicembre 2017 - 9:05

Ciao e grazie

Il file di licenza deve trovarsi nella stessa cartella del file binario.
Ho appena eseguito un test per confermare la mia ipotesi con questo nuovo codice:

Codice: Seleziona tutto

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

uninstallkey = []

def install():
    print('installing wapt-sphinxv5')
    mkdirs(r'c:\temp')
    copytree2('SphinxV5',r'c:\temp\SphinxV5')
    install_exe_if_needed(r'c:\temp\SphinxV5\Install.exe','/s')

def uninstall():
    run(r'"C:\SphinxV5\licence\UNWISE.EXE" /s C:\SphinxV5\licence\install.log')
    remove_tree(r'C:\SphinxV5')
In questo modo, l'attivazione funziona correttamente. Se lascio che l'installazione proceda dal basedir, noto chiaramente che non appena viene eseguito install.exe, alcuni file nel basedir vengono eliminati (probabilmente quelli non bloccati dal binario), incluso il file di licenza. Di conseguenza, il binario, che dovrebbe accedervi in ​​seguito, non riesce a trovarlo.
- Versione WAPT installata: 2.6.0.16795 Enterprise
- Sistema operativo del server: Linux / Debian Bookworm
- Sistema operativo della macchina per l'amministrazione/creazione dei pacchetti: Windows 10
olaplanche
Messaggi: 178
Registrazione: 26 gennaio 2017 - 11:11

14 dicembre 2018 - 13:37

Pacchetto finalizzato!
Ecco la versione finale del codice:

Codice: Seleziona tutto

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

uninstallkey = []

def install():
    print('installing wapt-sphinxv5')
    install_exe_if_needed("SphinxV5\Install.exe","/s")
    time.sleep(60)
    killalltasks('Licence.exe')

def uninstall():
    run(r'"C:\SphinxV5\licence\UNWISE.EXE" /s C:\SphinxV5\licence\install.log')
    remove_tree(r'C:\SphinxV5')
- Versione WAPT installata: 2.6.0.16795 Enterprise
- Sistema operativo del server: Linux / Debian Bookworm
- Sistema operativo della macchina per l'amministrazione/creazione dei pacchetti: Windows 10
Bloccato