[RESOLU] Paquet Edt v2022 build 0.3.0 / Pronote v2022 build 0.3.0

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
stephane2b
Messages : 4
Enregistré le : 24 mars 2017 - 11:07

10 oct. 2018 - 11:18

Pour apporter ma contribution à ce poste, voici mon paquet encore en test. Je ne comprend rien en python et à la programmation en général.

Code : Tout sélectionner

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

year = '2018'       # à changer chaque année

#test du système pour chemin valide
if iswin64():
    #version 2018
    uninstallkey = "{26BC6156-3E08-4D06-89BD-A39711861AAA}"
    installsheildpath = 'c:\\program files (x86)\\InstallShield Installation Information'
    archi = 'x64'
else:
    uninstallkey = "{0BBE1447-6994-406D-B62B-D01A3DE0F2E7}"
    installsheildpath = 'c:\\program files\\InstallShield Installation Information'
    archi = 'x86'

try:
    os.stat('c:\\ematt')
except:
    os.mkdir('c:\\ematt')

try:
    os.stat('c:\\ematt\\pronote')
except:
    os.mkdir('c:\\ematt\\pronote')

try:
    os.stat('c:\\ematt\\pronote\\'+year+'')
except:
    os.mkdir('c:\\ematt\\pronote\\'+year+'')

unattend_install = 'c:\\ematt\\pronote\\'+year+'\\pronote_unattend_install.iss'
#print(installsheildpath) #control

#Lister les différents produit installés et les désinstaller
# p['key'] variable contenant la clef d'identification des versions         !créer les fichiers dans un repertoire temporaire!
def uninstall():
    pronoteinstall = setuphelpers.installed_softwares('pronote') #identique à wapt-get list-registry pronote

    #print(pronoteinstall) ##control

    ## à implémenter une condition pour savoir si la variable précédente est non nul, dans le cas contraire il faut sauter la boucle!!!!
    if len(pronoteinstall) != 0: ##-----> connais pas en python????

        for p in pronoteinstall:
            unattend_uninstall = ("c:\\ematt\\pronote\\"+year+"\\"+"Uninstall_pronote_"+p['key']+".iss") #stocke un chemin pour un fichier réponse prore à une version

            #print(unattend_uninstall) # control
            #test = 'Uninstall_pronote_'+p['key']+'.iss' # control
            #print(p['key']) #control
            #print(test) #control

            #Création du fichier réponse à la volée
            file = open(unattend_uninstall,'w')
            file.write("[InstallShield Silent]"'\n')
            file.write("Version=v7.00"'\n')
            file.write("File=Response File"'\n')
            file.write("OverwrittenReadOnly=NoToAll"'\n')
            file.write("["+p['key']+"-DlgOrder]"'\n')
            file.write("Dlg0="+p['key']+"-MessageBox-0"'\n')
            file.write("Count=2"'\n')
            file.write("Dlg1="+p['key']+"-SdFinishReboot-0"'\n')
            file.write("["+p['key']+"-MessageBox-0]"'\n')
            file.write("Result=6"'\n')
            file.write("["+p['key']+"-SdFinishReboot-0]"'\n')
            file.write("Result=1"'\n')
            file.write("BootOption=0")
            file.close()

            #lancer la désinstallation
            #print('"'+installsheildpath+'\\'+p['key']+'\\setup.exe" -s -uninst -f1'+unattend_uninstall) #control
            #time.sleep(300) ## pause pour controle
            print('Desinstallation de '+p['name'])
            os.system('"'+installsheildpath+'\\'+p['key']+'\\setup.exe" -s -uninst -f1'+unattend_uninstall)

        print('toutes les installations ont ete supprimees')

    else :
        print('aucune version de pronote installee')


def install():
    uninstall()                     ##sortir les installations précédentes

    ##Creation du fichier reponse de l'installation

    file = open(unattend_install,'w')
    file.write("[InstallShield Silent]"'\n')
    file.write("Version=v7.00"'\n')
    file.write("File=Response File"'\n')
    file.write("[File Transfer]"'\n')
    file.write("OverwrittenReadOnly=NoToAll"'\n')
    file.write("[{26BC6156-3E08-4D06-89BD-A39711861AAA}-DlgOrder]"'\n')
    file.write("Dlg0="+uninstallkey+"-SdLicense2Rtf-0"'\n')
    file.write("Count=5"'\n')
    file.write("Dlg1="+uninstallkey+"-SdAskDestPath-0"'\n')
    file.write("Dlg2="+uninstallkey+"-AskOptions-0"'\n')
    file.write("Dlg3="+uninstallkey+"-AskOptions-1"'\n')
    file.write("Dlg4="+uninstallkey+"-SdFinish-0"'\n')
    file.write("["+uninstallkey+"-SdLicense2Rtf-0]"'\n')
    file.write("Result=1"'\n')
    file.write("["+uninstallkey+"-SdAskDestPath-0]"'\n')
    file.write("szDir=C:\Program Files\Index Education\Pronote 2018\Réseau"'\n')
    file.write("Result=1"'\n')
    file.write("["+uninstallkey+"-AskOptions-0]"'\n')
    file.write("Result=1"'\n')
    file.write("Sel-0=1"'\n')
    file.write("Sel-1=0"'\n')
    file.write("Sel-2=0"'\n')
    file.write("Sel-3=0"'\n')
    file.write("["+uninstallkey+"-AskOptions-1]"'\n')
    file.write("Result=1"'\n')
    file.write("Sel-0=1"'\n')
    file.write("["+uninstallkey+"-SdFinish-0]"'\n')
    file.write("Result=1"'\n')
    file.write("bOpt1=0"'\n')
    file.write("bOpt2=0")
    file.close()

    #print('"'+'pronote_'+year+'_'+archi+'.exe"-s -f1'+unattend_install)  ##control
    print('installing pronote-2018')
    os.system('"pronote_'+year+'_'+archi+'.exe" -s -f1'+unattend_install)

def remove():
    uninstall()
olaplanche
Messages : 173
Enregistré le : 26 janv. 2017 - 11:11

05 nov. 2018 - 14:29

Version final du code avec installation et désinstallation qui fonctionnent (merci à stephane2b) :
Il suffit de remplacer les valeurs SERVERNAME et SERVERPORT par les votre.

Edt 2018 :

Code : Tout sélectionner

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

uninstallkey = []

def install():
    print('installing wapt-edt2018')
    install_exe_if_needed("Install_EDTclient_FR_2018.0.2.1_win64.exe",silentflags='-s -f1%s\Setup.iss' % basedir,key='{56186141-47B5-4BF6-A06E-6D6EED12C720}',min_version='0.0.2.1',killbefore='Client EDT.exe')
    uninstallkey.remove('{56186141-47B5-4BF6-A06E-6D6EED12C720}')
    remove_desktop_shortcut('EDT2017.lnk')
    create_desktop_shortcut(r'EDT2018',target=u'C:\Program Files\Index Education\EDT 2018\Réseau\Client EDT.exe',arguments=r'-Adresse "SERVERNAME" -PortTcp "SERVERPORT"')

def uninstall():
    print('uninstalling wapt-edt2018')
    import tempfile
    pathuninstallfile = makepath(tempfile.gettempdir(),'Uninstall.iss')
    data = ur"""[InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{56186141-47B5-4BF6-A06E-6D6EED12C720}-DlgOrder]
Dlg0={56186141-47B5-4BF6-A06E-6D6EED12C720}-MessageBox-0
Count=2
Dlg1={56186141-47B5-4BF6-A06E-6D6EED12C720}-SdFinishReboot-0
[{56186141-47B5-4BF6-A06E-6D6EED12C720}-MessageBox-0]
Result=6
[{56186141-47B5-4BF6-A06E-6D6EED12C720}-SdFinishReboot-0]
Result=1
BootOption=0
"""
    fichier = open(pathuninstallfile, "w")
    fichier.write(data)
    fichier.close()
    run(r'"%s\InstallShield Installation Information\{56186141-47B5-4BF6-A06E-6D6EED12C720}\setup.exe" -s -uninst -f1%s' % (programfiles32,pathuninstallfile))
    remove_file(pathuninstallfile)
    remove_desktop_shortcut('EDT2018.lnk')
    run('"MsiExec.exe" /X{498D8130-B871-4D94-9ADC-C1F99E188F3A} /qn')
Pronote 2018 :

Code : Tout sélectionner

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

uninstallkey = []

def install():
    print('installing wapt-pronote2018')
    install_exe_if_needed("Install_PRNclient_FR_2018.0.2.1_win64.exe",silentflags='-s -f1%s\Setup.iss' % basedir,key='{26BC6156-3E08-4D06-89BD-A39711861AAA}',min_version='0.0.2.1',killbefore='Client PRONOTE.exe')
    uninstallkey.remove('{26BC6156-3E08-4D06-89BD-A39711861AAA}')
    remove_desktop_shortcut('Pronote2017.lnk')
    create_desktop_shortcut(r'Pronote2018',target=u'C:\Program Files\Index Education\Pronote 2018\Réseau\Client PRONOTE.exe',arguments=r'-Adresse "SERVERNAME" -PortTcp "SERVERPORT"')

def uninstall():
    print('uninstalling wapt-pronote2018')
    import tempfile
    pathuninstallfile = makepath(tempfile.gettempdir(),'Uninstall.iss')
    data = ur"""[InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{26BC6156-3E08-4D06-89BD-A39711861AAA}-DlgOrder]
Dlg0={26BC6156-3E08-4D06-89BD-A39711861AAA}-MessageBox-0
Count=2
Dlg1={26BC6156-3E08-4D06-89BD-A39711861AAA}-SdFinish-0
[{26BC6156-3E08-4D06-89BD-A39711861AAA}-MessageBox-0]
Result=6
[{26BC6156-3E08-4D06-89BD-A39711861AAA}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0
"""
    fichier = open(pathuninstallfile, "w")
    fichier.write(data)
    fichier.close()
    run(r'"%s\InstallShield Installation Information\{26BC6156-3E08-4D06-89BD-A39711861AAA}\setup.exe" -s -uninst -f1%s' % (programfiles32,pathuninstallfile))
    remove_file(pathuninstallfile)
    remove_desktop_shortcut('Pronote2018.lnk')
    run('"MsiExec.exe" /X{498D8130-B871-4D94-9ADC-C1F99E188F3A} /qn')
Modifié en dernier par olaplanche le 08 nov. 2018 - 08:33, modifié 1 fois.
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
Avatar du membre
vcardon
Expert WAPT
Messages : 252
Enregistré le : 06 oct. 2017 - 22:55
Localisation : Nantes, FR

06 nov. 2018 - 00:09

Alléluia, paquet pronote fait par la communauté des utilisateurs de WAPT.

Bon boulot, job well done, félicitations à tous.

Cette collaboration est ce que nous attendons de ce forum.
Vincent CARDON
Tranquil IT
gly
Messages : 24
Enregistré le : 30 mai 2019 - 11:45

30 mai 2019 - 11:49

olaplanche a écrit : 05 nov. 2018 - 14:29 Version final du code avec installation et désinstallation qui fonctionnent (merci à stephane2b) :
Il suffit de remplacer les valeurs SERVERNAME et SERVERPORT par les votre.
...
Bonjour, je viens de tomber sur ce post et je serai très intéressé de pouvoir récupérer votre paquet pour mettre à jour mes clients PRONOTE via WAPT.

Un grand merci à vous et félicitations pour vos efforts.
olaplanche
Messages : 173
Enregistré le : 26 janv. 2017 - 11:11

02 juil. 2019 - 16:08

Bonjour,

Merci pour l’intérêt porté au travail réalisé ici mais pourquoi ne pas reprendre le code du paquet Pronote mis à disposition de la communauté et le personnaliser pour votre établissement ?! Car si je vous envoie mon paquet en tant que tel, il sera pré-configuré pour se connecter à l'établissement où je travaille. Pas très pratique pour vous...

Je peux vous aider à la réalisation d'un paquet personnalisé pour votre établissement si vous le souhaitez.
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
olaplanche
Messages : 173
Enregistré le : 26 janv. 2017 - 11:11

08 juil. 2019 - 10:50

Code du paquet edt 2019, Il suffit de remplacer les valeurs SERVERNAME et SERVERPORT par les vôtres et d'adapter le nom des raccourcis si nécessaire :

Code : Tout sélectionner

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

uninstallkey = []

def install():
    print('installing wapt-edt2019')
    install_exe_if_needed("Install_EDTclient_FR_2019.0.1.1_win64.exe",silentflags='-s -f1%s\Setup.iss' % basedir,key='{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}',min_version='0.1.1',killbefore='Client EDT.exe')
    uninstallkey.remove('{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}')
    remove_desktop_shortcut('EDT2018.lnk')
    create_desktop_shortcut(r'EDT2019',target=u'C:\Program Files\Index Education\EDT 2019\Réseau\Client\Client EDT.exe',arguments=r'-Adresse "[b]SERVERNAME[/b]" -PortTcp "[b]SERVERPORT[/b]"')

def uninstall():
    print('uninstalling wapt-edt2019')
    import tempfile
    pathuninstallfile = makepath(tempfile.gettempdir(),'Uninstall.iss')
    data = ur"""[InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-DlgOrder]
Dlg0={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-MessageBox-0
Count=2
Dlg1={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdFinishReboot-0
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-MessageBox-0]
Result=6
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdFinishReboot-0]
Result=1
BootOption=0
"""
    fichier = open(pathuninstallfile, "w")
    fichier.write(data)
    fichier.close()
    run(r'"%s\InstallShield Installation Information\{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}\Install_EDTclient_FR_2019.0.1.1_win64.exe" -s -uninst -f1%s' % (programfiles32,pathuninstallfile))
    remove_file(pathuninstallfile)
    remove_desktop_shortcut('EDT2019.lnk')
    run('"MsiExec.exe" /X{498D8130-B871-4D94-9ADC-C1F99E188F3A} /qn')
et le contenu du fichier Setup.iss à enregistrer au format texte avec Notepad++ par exemple dans le dossier du paquet avec l’exécutable d'installation edt :

Code : Tout sélectionner

[InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-DlgOrder]
Dlg0={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdLicense2Rtf-0
Count=6
Dlg1={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdAskDestPath-0
Dlg2={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-AskOptions-0
Dlg3={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-AskOptions-1
Dlg4={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-AskOptions-2
Dlg5={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdFinish-0
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdLicense2Rtf-0]
Result=1
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdAskDestPath-0]
szDir=C:\Program Files\Index Education\EDT 2019\Réseau\Client
Result=1
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-AskOptions-0]
Result=1
Sel-0=1
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-AskOptions-1]
Result=1
Sel-0=1
Sel-1=0
Sel-2=0
Sel-3=0
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-AskOptions-2]
Result=1
Sel-0=0
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0
Cordialement,
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
olaplanche
Messages : 173
Enregistré le : 26 janv. 2017 - 11:11

23 août 2019 - 11:08

Mise à jour du code pour la version edt 2019 v 0.2.1

J'ai intégré le fichier Setup.iss d'installation dans le code python, Il suffit de remplacer les valeurs SERVERNAME et SERVERPORT par les vôtres et d'adapter le nom des raccourcis si nécessaire (Attention le contenu du fichier de réponse peut varier d'une version à l'autre et si vous faite un upgrade de la version 2018 ou une nouvelle installation, si dessous le fichier de réponse correspond à la version 2019 0.2.1 pour une nouvelle installation) :

Code : Tout sélectionner

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

uninstallkey = []

def install():
    print('installing wapt-edt2019')
    import tempfile
    import codecs
    pathinstallfile = makepath(tempfile.gettempdir(),'Setup.iss')
    data = ur"""[InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-DlgOrder]
Dlg0={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdLicense2Rtf-0
Count=5
Dlg1={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdAskDestPath-0
Dlg2={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-AskOptions-0
Dlg3={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-AskOptions-1
Dlg4={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdFinish-0
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdLicense2Rtf-0]
Result=1
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdAskDestPath-0]
szDir=C:\Program Files\Index Education\EDT 2019\Réseau\Client
Result=1
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-AskOptions-0]
Result=1
Sel-0=1
Sel-1=0
Sel-2=0
Sel-3=0
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-AskOptions-1]
Result=1
Sel-0=0
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0
"""
    fichier = codecs.open(pathinstallfile, "w", encoding='mbcs')
    fichier.write(data)
    fichier.close()
    install_exe_if_needed("Install_EDTclient_FR_2019.0.2.1_win64.exe",silentflags='-s -f1%s' % pathinstallfile,key='{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}',min_version='0.2.1',killbefore='Client EDT.exe')
    uninstallkey.remove('{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}')
    remove_desktop_shortcut('EDT2018.lnk')
    create_desktop_shortcut(r'EDT2019',target=u'C:\Program Files\Index Education\EDT 2019\Réseau\Client\Client EDT.exe',arguments=r'-Adresse "SERVERNAME" -PortTcp "SERVERPORT"')

def uninstall():
    print('uninstalling wapt-edt2019')
    import tempfile
    pathuninstallfile = makepath(tempfile.gettempdir(),'Uninstall.iss')
    data = ur"""[InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-DlgOrder]
Dlg0={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-MessageBox-0
Count=2
Dlg1={C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdFinishReboot-0
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-MessageBox-0]
Result=6
[{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}-SdFinishReboot-0]
Result=1
BootOption=0
"""
    fichier = open(pathuninstallfile, "w")
    fichier.write(data)
    fichier.close()
    run(r'"%s\InstallShield Installation Information\{C9AE9E8F-2B9F-4E02-B808-BA15CC52530F}\Install_EDTclient_FR_2019.0.2.1_win64.exe" -s -uninst -f1%s' % (programfiles32,pathuninstallfile))
    remove_file(pathuninstallfile)
    remove_desktop_shortcut('EDT2019.lnk')
    run('"MsiExec.exe" /X{498D8130-B871-4D94-9ADC-C1F99E188F3A} /qn')
Modifié en dernier par olaplanche le 23 août 2019 - 11:12, modifié 1 fois.
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
olaplanche
Messages : 173
Enregistré le : 26 janv. 2017 - 11:11

23 août 2019 - 11:11

Mise à jour du code pour la version pronote 2019 v 0.2.1

J'ai intégré le fichier Setup.iss d'installation dans le code python, Il suffit de remplacer les valeurs SERVERNAME et SERVERPORT par les vôtres et d'adapter le nom des raccourcis si nécessaire (Attention le contenu du fichier de réponse peut varier d'une version à l'autre et si vous faite un upgrade de la version 2018 ou une nouvelle installation, si dessous le fichier de réponse correspond à la version 2019 0.2.1 pour une nouvelle installation) :

Code : Tout sélectionner

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

uninstallkey = []

def install():
    print('installing wapt-pronote2019')
    import tempfile
    import codecs
    pathinstallfile = makepath(tempfile.gettempdir(),'Setup.iss')
    data = ur"""[InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{8982A5E8-BC4A-4449-B239-372E9F847A0D}-DlgOrder]
Dlg0={8982A5E8-BC4A-4449-B239-372E9F847A0D}-SdLicense2Rtf-0
Count=5
Dlg1={8982A5E8-BC4A-4449-B239-372E9F847A0D}-SdAskDestPath-0
Dlg2={8982A5E8-BC4A-4449-B239-372E9F847A0D}-AskOptions-0
Dlg3={8982A5E8-BC4A-4449-B239-372E9F847A0D}-AskOptions-1
Dlg4={8982A5E8-BC4A-4449-B239-372E9F847A0D}-SdFinish-0
[{8982A5E8-BC4A-4449-B239-372E9F847A0D}-SdLicense2Rtf-0]
Result=1
[{8982A5E8-BC4A-4449-B239-372E9F847A0D}-SdAskDestPath-0]
szDir=C:\Program Files\Index Education\Pronote 2019\Réseau\Client
Result=1
[{8982A5E8-BC4A-4449-B239-372E9F847A0D}-AskOptions-0]
Result=1
Sel-0=1
Sel-1=0
Sel-2=0
Sel-3=0
[{8982A5E8-BC4A-4449-B239-372E9F847A0D}-AskOptions-1]
Result=1
Sel-0=0
[{8982A5E8-BC4A-4449-B239-372E9F847A0D}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0
"""
    fichier = codecs.open(pathinstallfile, "w", encoding='mbcs')
    fichier.write(data)
    fichier.close()
    install_exe_if_needed("Install_PRNclient_FR_2019.0.2.1_win64.exe",silentflags='-s -f1%s' % pathinstallfile,key='{8982A5E8-BC4A-4449-B239-372E9F847A0D}',min_version='0.2.1',killbefore='Client PRONOTE.exe')
    uninstallkey.remove('{8982A5E8-BC4A-4449-B239-372E9F847A0D}')
    remove_desktop_shortcut('Pronote2018.lnk')
    create_desktop_shortcut(r'Pronote2019',target=u'C:\Program Files\Index Education\Pronote 2019\Réseau\Client\Client PRONOTE.exe',arguments=r'-Adresse "SERVERNAME" -PortTcp "SERVERPORT"')

def uninstall():
    print('uninstalling wapt-pronote2019')
    import tempfile
    pathuninstallfile = makepath(tempfile.gettempdir(),'Uninstall.iss')
    data = ur"""[InstallShield Silent]
Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{8982A5E8-BC4A-4449-B239-372E9F847A0D}-DlgOrder]
Dlg0={8982A5E8-BC4A-4449-B239-372E9F847A0D}-MessageBox-0
Count=2
Dlg1={8982A5E8-BC4A-4449-B239-372E9F847A0D}-SdFinishReboot-0
[{8982A5E8-BC4A-4449-B239-372E9F847A0D}-MessageBox-0]
Result=6
[{8982A5E8-BC4A-4449-B239-372E9F847A0D}-SdFinishReboot-0]
Result=1
BootOption=0
"""
    fichier = open(pathuninstallfile, "w")
    fichier.write(data)
    fichier.close()
    run(r'"%s\InstallShield Installation Information\{8982A5E8-BC4A-4449-B239-372E9F847A0D}\Install_PRNclient_FR_2019.0.2.1_win64.exe" -s -uninst -f1%s' % (programfiles32,pathuninstallfile))
    remove_file(pathuninstallfile)
    remove_desktop_shortcut('Pronote2019.lnk')
    run('"MsiExec.exe" /X{498D8130-B871-4D94-9ADC-C1F99E188F3A} /qn')
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
olaplanche
Messages : 173
Enregistré le : 26 janv. 2017 - 11:11

23 août 2019 - 11:19

Faites moi savoir si ce serait plus clair que les derniers codes soit en première page sur le premier poste et que je nettoie les codes obsolètes ?!
- Version de WAPT installée : 2.3.0.13516 Enterprise
- OS du serveur : Linux / Debian Buster
- OS de la machine d'administration/création des paquets : Windows 10
jlatieule
Messages : 57
Enregistré le : 03 juil. 2019 - 09:18

27 août 2019 - 09:36

Pas mal du tout l'idée de recréer le fichier Setup.iss depuis le script wapt.

Pour faire la mise à niveau depuis la version 2018, il peut être envisageable de faire une désinstallation préalable des Pronote 2018 x86 et x64 (clé de désinstallation différente). Comme cela le fichier Setup.iss est à utiliser tel quel.

Si des versions encore plus ancienne sont encore installé l'installation bloquera à l'étape "Voulez vous supprimer les versions : ***"
Administrateur Système et Réseaux chez Domitia Habitat
Verrouillé