Pagina 4 di 8

Re: Creazione del pacchetto Edt/Pronote

Pubblicato: 10 ottobre 2018 - 11:18
di stephane2b
Per contribuire a questo post, ecco il mio pacchetto, ancora in fase di test. Non capisco nulla di Python o di programmazione in generale.

Codice: Seleziona tutto

# -*- 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()

Re: Creazione del pacchetto Edt/Pronote

Pubblicato: 5 novembre 2018 - 14:29
di olaplanche
Versione finale del codice con installazione e disinstallazione funzionanti (grazie a stephane2b):
Sostituisci semplicemente i valori SERVERNAME e SERVERPORT con i tuoi.

Edizione 2018:

Codice: Seleziona tutto

# -*- 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:

Codice: Seleziona tutto

# -*- 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')

Re: [RISOLTO] Creazione del pacchetto Edt/Pronote

Pubblicato: 6 novembre 2018 - 00:09
di vcardon
Alleluia! Il pacchetto Pronote è stato creato dalla community di utenti WAPT.

Ottimo lavoro, congratulazioni a tutti!

Questo tipo di collaborazione è esattamente ciò che ci aspettiamo da questo forum.

Re: Creazione del pacchetto Edt/Pronote

Pubblicato: 30 maggio 2019 - 11:49
di gly
olaplanche ha scritto: 5 novembre 2018 - 14:29 Versione finale del codice con installazione e disinstallazione funzionanti (grazie a stephane2b):
basta sostituire i valori di SERVERNAME e SERVERPORT con i propri.
...
Ciao, ho appena trovato questo post e sarei molto interessato a poter usufruire del tuo pacchetto per aggiornare i miei clienti PRONOTE tramite WAPT.

Grazie mille e congratulazioni per i vostri sforzi.

Re: [RISOLTO] Creazione del pacchetto Edt/Pronote

Pubblicato: 2 luglio 2019 - 16:08
di olaplanche
Salve,

grazie per l'interesse dimostrato nei confronti del lavoro svolto qui, ma perché non prendere il codice del pacchetto Pronote messo a disposizione della community e personalizzarlo per la vostra istituzione? Perché se vi invio il mio pacchetto così com'è, sarà preconfigurato per connettersi all'istituzione in cui lavoro. Non molto pratico per voi...

Posso aiutarvi a creare un pacchetto personalizzato per la vostra istituzione, se lo desiderate.

Re: [RISOLTO] Creazione del pacchetto Edt/Pronote

Pubblicato: 8 luglio 2019 - 10:50
di olaplanche
Codice pacchetto edt 2019, basta sostituire i valori SERVERNAME e SERVERPORT con i propri e adattare i nomi delle scorciatoie se necessario:

Codice: Seleziona tutto

# -*- 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')
e il contenuto del file Setup.iss da salvare come file di testo utilizzando ad esempio Notepad++ nella cartella del pacchetto con l'eseguibile di installazione edt:

Codice: Seleziona tutto

[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
Sinceramente,

Re: [RISOLTO] Creazione del pacchetto Edt/Pronote

Pubblicato: 23 agosto 2019 - 11:08
di olaplanche
Aggiornamento del codice per la versione edt 2019 v 0.2.1

Ho integrato il file di installazione Setup.iss nel codice Python. È sufficiente sostituire i valori SERVERNAME e SERVERPORT con i propri e adattare i nomi delle scorciatoie, se necessario. (Nota: il contenuto del file di risposta può variare da una versione all'altra e, se si esegue l'aggiornamento dalla versione 2018 o una nuova installazione, il file di risposta riportato di seguito corrisponde alla versione 2019 0.2.1 per una nuova installazione):

Codice: Seleziona tutto

# -*- 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')

Re: [RISOLTO] Creazione del pacchetto Edt/Pronote

Pubblicato: 23 agosto 2019 - 11:11
di olaplanche
Aggiornamento del codice per Pronote versione 2019 v 0.2.1

Ho integrato il file di installazione Setup.iss nel codice Python. È sufficiente sostituire i valori SERVERNAME e SERVERPORT con i propri e adattare i nomi delle scorciatoie, se necessario. (Nota: il contenuto del file di risposta può variare da una versione all'altra e, se si esegue l'aggiornamento dalla versione 2018 o una nuova installazione, il file di risposta riportato di seguito corrisponde alla versione 2019 0.2.1 per una nuova installazione):

Codice: Seleziona tutto

# -*- 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')

Re: [RISOLTO] Creazione del pacchetto Edt/Pronote

Pubblicato: 23 agosto 2019 - 11:19
di olaplanche
Fatemi sapere se sarebbe più chiaro se i codici più recenti fossero nella prima pagina del primo post e se eliminassi i codici obsoleti?!

Re: [RISOLTO] Creazione del pacchetto Edt/Pronote

Pubblicato: 27 agosto 2019 - 09:36
di jlatieule
L'idea di ricreare il file Setup.iss dallo script wapt è piuttosto buona.

Per aggiornare dalla versione 2018, potrebbe essere consigliabile disinstallare prima Pronote 2018 x86 e x64 (utilizzando chiavi di disinstallazione diverse). In questo modo, il file Setup.iss può essere utilizzato così com'è.

Se sono ancora installate versioni ancora più vecchie, l'installazione si bloccherà al passaggio "Si desidera rimuovere le versioni: ***"