[RESOLU] Erreur Déploiement paquet

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
Scud
Messages : 27
Enregistré le : 23 mars 2020 - 15:37

23 mars 2020 - 16:02

Bonjour,
Je me suis monté un serveur Wapt et j'essaie de déployer un .exe avec des paramètres envoyer en python.
Pour être plus précis, je déploie owncloud.exe et j'ai créer un code qui rempli automatiquement un fichier .cfg pour que les utilisateurs n'aient plus qu'a mettre leurs mot de passe.
En console ,sur le serveur, tout ce passe bien. Je peux installer et désinstaller le programme. Je génère le paquet sans soucis MAIS dès que je le déploie sur un pose, j'obtiens une erreur.

En pièce jointe, mon erreur plus une capture d'écran pour la version de wapt utilisé.
Mon serveur tourne sous Windows 2012R2 Datacenter
Machine d'administration : Windows 10 Pro


S'il faut que je vous fournisse mon code, ce n'est pas un problème mais avant, peux être que l'erreur vous dira quelque chose sans vous surcharger d'informations.

Merci par avance.
Fichiers joints
Wapt.7z
(197.37 Kio) Téléchargé 121 fois
Modifié en dernier par Scud le 07 avr. 2020 - 11:20, modifié 1 fois.
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

24 mars 2020 - 09:23

Bonjour

Il nous manque le setup.py :(

Pouvez-vous également poster l'erreur, (cliquez sur la machine en erreur, cliquez sur le paquet en erreur) l'erreur du paquet est dans le panneau en bas a droite.
Scud
Messages : 27
Enregistré le : 23 mars 2020 - 15:37

24 mars 2020 - 12:13

Bonjour,
Déjà merci de votre réponse.
J'ai modifier légèrement mon code ce matin pour pouvoir utiliser la dernière version de Owncloud (en .msi).
Maintenant, l'installation s'effectue et la désinstallation aussi mais mes paramètres ne passe pas. J'ai l'impression qu'il me dit erreur d'encodage alors que mon environnement et ma déclaration son bien en utf-8.

Je vous mets en pièce jointe le setup.py
(et je viens de rajouter l'erreur en .csv)

Le but de mon script et de pré-remplir les infos demandées après installation de owncloud.
C'est a dire, le nom d'utilisateur, le chemin local de stockage, et d'inscrire le tout dans un fichier .cfg dans un dossier de windows.

En local, sous python avec les fonctions install et remove, cela fonctionne. Mais quand je l'envoi sur une autre machine (virtuelle pour l'instant), mon script n'a pas l'air de s’exécuter.

Merci pour votre aide.
Fichiers joints
GridHostTasksErrors00000.7z
(1.11 Kio) Téléchargé 162 fois
setup.7z
(1.01 Kio) Téléchargé 169 fois
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

24 mars 2020 - 16:07

Lorsque vous souhaitez interagire avec l'environement utilisateur il faut utiliser le session_setup:

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

J'ai refais un peu votre code :

Code : Tout sélectionner

# -*- 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
Messages : 27
Enregistré le : 23 mars 2020 - 15:37

24 mars 2020 - 17:08

Merci pour ta réponse.
Ton code est beaucoup plus propre que le miens mais mon excuse, j'ai découvert python depuis 2 semaines :D
Par contre, je n'ai pas l'impression qui écrit les fichiers au bon endroit, ni qu'il les remplis.

Mais là, j'en ai pleins la tête et je m'arrête de coder pour ce soir. Je fais tests demain et je ferais un retour exact de la situation.

Encore merci
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

25 mars 2020 - 11:49

C'est un session-setup

Le session setup se lance donc a l'ouverture de session
Scud
Messages : 27
Enregistré le : 23 mars 2020 - 15:37

26 mars 2020 - 09:38

Bonjour,
J'ai du faire une bêtise car ça ne marche pas. J'ai remplacé tout mon code par le tiens. Mais ça n'écrit rien dans le fichier .cfg
Par rapport à ton code, je ne vois pas ou tu défini la variable current_user.

Vu que c'est une fonction connu de wapt, je n'ai pas besoin de le mettre dans le code ?

Pareil pour la variable session_setup, j'ai du mal à comprendre comment il récupère tout seul toutes les variables (chemins, etc...) et comment il écrit dans le fichier. Mon code était plus "brut" mais plus facile à comprendre pour un débutant ;)

Merci de ton aide.
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

26 mars 2020 - 12:50

Fonctionne chez moi pourtant

Et en haut du script on import setuphelpers:

Code : Tout sélectionner

from setuphelpers import *
Ce qui explique qu'on a beaucoup de chose déjà disponible, pyscripter vous propose une complétion automatique pour vous aider.

Pour les différente chose utiliser :
- get_current_user() est dans setuphelpers récupère l'utilisateur actuel
- install_msi_if_needed est dans setuphelpers uninstall un msi facilement
- os.environ.get('HOMEPATH') est en gros la valeur de %HOMEPATH%
- makepath est dans setuphelpers, permet de transformer ceci makepath('c:','toto','tata') en ceci 'c:\toto\tata'
- mkdirs est dans setuphelpers créer un dossier
- url_owncloud est défini en haut du setup.py
- inside_owncloud_file représente le contenue de notre fichier avec les différente variable ( %s ) https://python.developpez.com/cours/Div ... trings.php
Scud
Messages : 27
Enregistré le : 23 mars 2020 - 15:37

26 mars 2020 - 15:19

Je viens de refaire un test.
J'ai supprimer le paquet dans mon dépôt privé (et je me suis rendu compte que si on laissé le même nom, il fallait supprimer autant de fois que ce qu'on en avait ajouté).
Une fois vide, j'ai re-créer un paquet avec ton code. Même résultat. Owncloud s'installe et se désinstalle sans problème.
Par contre, je ferme la session (ou même redémarrer) et ne crée pas de dossier et donc ne remplis pas le fichier .cfg
Avatar du membre
sfonteneau
Expert WAPT
Messages : 2084
Enregistré le : 10 juil. 2014 - 23:52
Contact :

26 mars 2020 - 15:22

Dans un cmd vous pouvez executer:

Code : Tout sélectionner

wapt-get session-setup nomdevotrepaquet -f
Verrouillé