[RESUELTO] Paquete Edt v2022 compilación 0.3.0 / Pronote v2022 compilación 0.3.0

Preguntas sobre paquetes WAPT / Solicitudes y ayuda sobre paquetes WAPT.
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
stephane2b
Mensajes: 4
Inscripción: 24 de marzo de 2017 - 11:07

10 de octubre de 2018 - 11:18

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()
olaplancha
Mensajes: 178
Inscripción: 26 de enero de 2017 - 11:11

5 de noviembre de 2018 - 14:29

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')
Última edición realizada por olaplanche el 8 de noviembre de 2018 a las 08:33, editado 1 vez.
- Versión de WAPT instalada: 2.6.0.16795 Enterprise
- Sistema operativo del servidor: Linux / Debian Bookworm
- Sistema operativo de la máquina de administración/creación de paquetes: Windows 10
Avatar de usuario
vcardón
Experto en WAPT
Mensajes: 272
Inscripciones: 06 Oct 2017 - 22:55 horas.
Ubicación: Nantes, Francia

6 de noviembre de 2018 - 00:09

¡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.
Vincent CARDON
Tranquilo IT
gly
Mensajes: 24
Inscripción: 30 de mayo de 2019 - 11:45

30 de mayo de 2019 - 11:49

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.
olaplancha
Mensajes: 178
Inscripción: 26 de enero de 2017 - 11:11

2 de julio de 2019 - 16:08

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.
- Versión de WAPT instalada: 2.6.0.16795 Enterprise
- Sistema operativo del servidor: Linux / Debian Bookworm
- Sistema operativo de la máquina de administración/creación de paquetes: Windows 10
olaplancha
Mensajes: 178
Inscripción: 26 de enero de 2017 - 11:11

8 de julio de 2019 - 10:50

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,
- Versión de WAPT instalada: 2.6.0.16795 Enterprise
- Sistema operativo del servidor: Linux / Debian Bookworm
- Sistema operativo de la máquina de administración/creación de paquetes: Windows 10
olaplancha
Mensajes: 178
Inscripción: 26 de enero de 2017 - 11:11

23 de agosto de 2019 - 11:08

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')
Última edición realizada por olaplanche el 23 de agosto de 2019 a las 11:12, editado 1 vez.
- Versión de WAPT instalada: 2.6.0.16795 Enterprise
- Sistema operativo del servidor: Linux / Debian Bookworm
- Sistema operativo de la máquina de administración/creación de paquetes: Windows 10
olaplancha
Mensajes: 178
Inscripción: 26 de enero de 2017 - 11:11

23 de agosto de 2019 - 11:11

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')
- Versión de WAPT instalada: 2.6.0.16795 Enterprise
- Sistema operativo del servidor: Linux / Debian Bookworm
- Sistema operativo de la máquina de administración/creación de paquetes: Windows 10
olaplancha
Mensajes: 178
Inscripción: 26 de enero de 2017 - 11:11

23 de agosto de 2019 - 11:19

¡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!
- Versión de WAPT instalada: 2.6.0.16795 Enterprise
- Sistema operativo del servidor: Linux / Debian Bookworm
- Sistema operativo de la máquina de administración/creación de paquetes: Windows 10
jlatieule
Mensajes: 59
Inscripción: 3 de julio de 2019 - 9:18 AM

27 de agosto de 2019 - 09:36

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: ***?".
Administrador de Sistemas y Redes en Domitia Habitat
Bloqueado