[RESOLU] Création paquet logiciel Sphinx v5

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum
* Questions can be asked in English or in French. If the thread is started in English, stick to English, if it is started in French, stick to French.
* Vous pouvez poser vos questions en Français ou en Anglais. Si un sujet est commencé en français, merci de répondre en français. Si un sujet est commencé en anglais, merci de répondre en anglais.
* Please prefix of the title of the thread to [SOLVED] if it is solved.
* Merci de préfixer le titre du thread par [RESOLU] si il est résolu.
olaplanche
Messages : 62
Inscription : 26 janv. 2017 - 11:11

14 déc. 2017 - 09:38

Bonjour,

J'ouvre un nouveau fil pour la finalisation de mon paquet d'installation du logiciel Sphinx.

J'ai trouvé une procédure plus simple d'installation silencieuse que ma première approche dans le fil "erreur codage de caractère". Il suffit de créer un fichier licence.dat avec les bonnes infos dedans à la racine du dossier d'installation.
Ensuite on lance le setup avec la commande suivante : install.exe /s

L'installation fonctionne sans problème hors wapt, par contre une fois paquetisé l’installation s'effectue mais sans la licence.
En regardant de plus près je remarque que dès l’exécution du fichier install.exe le dossier temporaire du paquet est supprimé.
Je suppose donc que le setup n'a pas le temps de lire le fichier de licence, est-il possible de temporiser la suppression du dossier temporaire ?

Pur info voici mon code :

Code : Tout sélectionner

# -*- 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')
Pour info :
- Version de WAPT installée : 1.3.13
- OS du serveur : Debian Jessie
- OS de la machine d'administration/création des paquets : Windows 10

Merci
Dernière modification par olaplanche le 14 déc. 2018 - 13:37, modifié 1 fois.
- Version de WAPT installée : 1.7.3.5
- OS du serveur : Linux / Debian Stretch
- OS de la machine d'administration/création des paquets : Windows 10
Avatar de l’utilisateur
dcardon
Expert WAPT
Messages : 286
Inscription : 18 juin 2014 - 09:58
Localisation : Nantes
Contact :

19 déc. 2017 - 18:57

Bonsoir Olaplanche,

le répertoire temporaire créé par WAPT lors de l'installation du paquet est supprimé après l'exécution de la fonction install(). Donc le fichier est disponible lors de l'exécution de SphinxV5\Install.exe

Il faut vérifier si le fichier de données doit être mis à la racine du paquet (basedir) ou bien dans le répertoire SphinxV5 (répertoire du binaire).

Il faut aussi faire attention aux anti-slash, il faut soit les doubler soit rajouter un r'' devant la string, eg. r'Install\Sphinxv5.exe'
Denis Cardon - Tranquil IT Systems
Communiquez autour de vous sur WAPT! Envoyez nous vos url de blog et d'articles dans la catégorie votre avis du forum, nous les mettrons en avant sur le site WAPT
olaplanche
Messages : 62
Inscription : 26 janv. 2017 - 11:11

20 déc. 2017 - 09:05

Bonjour et merci,

Le fichier licence doit se trouver dans le même dossier que le binaire.
Je viens de faire un test pour confirmer mon hypothèse avec ce nouveau code :

Code : Tout sélectionner

# -*- 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')
Comme cela l'activation fonctionne correctement. Si je laisse faire l'installation depuis le basedir, je vois clairement que dès l’exécution du install.exe, une partie des fichiers contenus dans le basedir sont supprimés (surement ceux n'étant pas verrouillés par le binaire) dont le fichier de licence :/ du coup le binaire devant y faire appel dans un second temps ne le trouve pas...
- Version de WAPT installée : 1.7.3.5
- OS du serveur : Linux / Debian Stretch
- OS de la machine d'administration/création des paquets : Windows 10
olaplanche
Messages : 62
Inscription : 26 janv. 2017 - 11:11

14 déc. 2018 - 13:37

Paquet finalisé !
Voici la version final du code :

Code : Tout sélectionner

# -*- 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')
- Version de WAPT installée : 1.7.3.5
- OS du serveur : Linux / Debian Stretch
- OS de la machine d'administration/création des paquets : Windows 10
Répondre