Página 4 de 8

Re: Creación del paquete Edt/Pronote

Publicado: 10 de octubre de 2018 - 11:18 a. m.
por stephane2b
Para contribuir a esta publicación, aquí está mi paquete, aún en pruebas. No entiendo nada de Python ni de programación en general.

Código: Seleccionar todo

# -*- 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: Creación del paquete Edt/Pronote

Publicado: 5 de noviembre de 2018 - 14:29
por olaplanche
Versión final del código con instalación y desinstalación funcional (gracias a stephane2b):
Simplemente reemplace los valores SERVERNAME y SERVERPORT con los suyos.

Edición 2018:

Código: Seleccionar todo

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

Código: Seleccionar todo

# -*- 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: [RESUELTO] Creando paquete Edt/Pronote

Publicado: 6 de noviembre de 2018 - 00:09
por vcardon
¡Aleluya! El paquete Pronote fue creado por la comunidad de usuarios de WAPT. ¡

Excelente trabajo, felicidades a todos!

Este tipo de colaboración es justo lo que esperamos de este foro.

Re: Creación del paquete Edt/Pronote

Publicado: 30 de mayo de 2019 - 11:49
por gly
olaplanche escribió: 5 de noviembre de 2018 - 14:29 Versión final del código con instalación y desinstalación funcionales (gracias a stephane2b):
Simplemente reemplace los valores SERVERNAME y SERVERPORT con los suyos.
...
Hola, acabo de encontrarme con esta publicación y me interesaría mucho poder obtener su paquete para actualizar a mis clientes de PRONOTE a través de WAPT.

Muchas gracias y enhorabuena por vuestro esfuerzo.

Re: [RESUELTO] Creando paquete Edt/Pronote

Publicado: 2 de julio de 2019 - 16:08
por olaplanche
Hola,

gracias por tu interés en el trabajo que se realiza aquí, pero ¿por qué no tomas el código del paquete Pronote disponible para la comunidad y lo personalizas para tu institución? Porque si te envío mi paquete tal cual, estará preconfigurado para conectarse a la institución donde trabajo. No sería muy práctico para ti...

Si quieres, puedo ayudarte a crear un paquete personalizado para tu institución.

Re: [RESUELTO] Creando paquete Edt/Pronote

Publicado: 8 de julio de 2019 - 10:50 a. m.
por olaplanche
Código de paquete edt 2019, simplemente reemplace los valores SERVERNAME y SERVERPORT con los suyos propios y adapte los nombres de acceso directo si es necesario:

Código: Seleccionar todo

# -*- 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')
y el contenido del archivo Setup.iss se guardará como un archivo de texto usando Notepad++ por ejemplo en la carpeta del paquete con el ejecutable de instalación edt:

Código: Seleccionar todo

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

Re: [RESUELTO] Creando paquete Edt/Pronote

Publicado: 23 de agosto de 2019 - 11:08
por olaplanche
Actualización de código para la versión edt 2019 v 0.2.1

He integrado el archivo de instalación Setup.iss en el código Python. Simplemente reemplaza los valores de SERVERNAME y SERVERPORT por los tuyos propios y adapta los nombres de los accesos directos si es necesario. (Nota: El contenido del archivo de respuestas puede variar según la versión; si actualizas desde la versión 2018 o realizas una nueva instalación, el archivo de respuestas a continuación corresponde a la versión 2019 0.2.1 para una nueva instalación)

Código: Seleccionar todo

# -*- 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: [RESUELTO] Creando paquete Edt/Pronote

Publicado: 23 de agosto de 2019 - 11:11
por olaplanche
Actualización de código para Pronote versión 2019 v 0.2.1

He integrado el archivo de instalación Setup.iss en el código Python. Simplemente reemplaza los valores de SERVERNAME y SERVERPORT por los tuyos propios y adapta los nombres de los accesos directos si es necesario. (Nota: El contenido del archivo de respuestas puede variar según la versión; si actualizas desde la versión 2018 o realizas una nueva instalación, el archivo de respuestas a continuación corresponde a la versión 2019 0.2.1 para una nueva instalación)

Código: Seleccionar todo

# -*- 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: [RESUELTO] Creando paquete Edt/Pronote

Publicado: 23 de agosto de 2019 - 11:19
por olaplanche
¡Avísame si sería más claro si los últimos códigos estuvieran en la primera página de la primera publicación y limpiara los códigos obsoletos!

Re: [RESUELTO] Creando paquete Edt/Pronote

Publicado: 27 de agosto de 2019 - 09:36
por jlatieule
La idea de recrear el archivo Setup.iss a partir del script wapt es bastante buena.

Para actualizar desde la versión 2018, podría ser recomendable desinstalar primero Pronote 2018 x86 y x64 (usando diferentes claves de desinstalación). De esta forma, el archivo Setup.iss se puede usar tal cual.

Si aún quedan instaladas versiones anteriores, la instalación se detendrá en el paso "¿Desea eliminar las versiones: ***?".