Page 1 sur 1

[RESOLU] Création paquet logiciel Sphinx v5

Publié : 14 déc. 2017 - 09:38
par olaplanche
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

Re: Création paquet logiciel Sphinx v5

Publié : 19 déc. 2017 - 18:57
par dcardon
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'

Re: Création paquet logiciel Sphinx v5

Publié : 20 déc. 2017 - 09:05
par olaplanche
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...

Re : Création paquet logiciel Sphinx v5

Publié : 14 déc. 2018 - 13:37
par olaplanche
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')