Página 1 de 2
[RESUELTO] Autoservicio y el usuario actual
Publicado: 12 de febrero de 2026 - 11:05 a. m.
por Stan
Hola,
les escribo porque tengo una pregunta.
Creé un paquete personalizado para instalar Proton Authenticator; es una instalación MSI, pero la ruta de instalación es el directorio local de datos de la aplicación del usuario que ejecutó el MSI.
Quería agregarlo al menú de autoservicio para que cualquier usuario pudiera instalar Proton Authenticator. Sin embargo, con el menú de autoservicio, se instala para el usuario "Sistema", e incluso con `session_setup()`, no puedo hacerlo. ¿Podrían
aclararme esto, por favor?

Re: Autoservicio y el usuario actual
Publicado: 12 de febrero de 2026 - 11:24 a. m.
por sfonteneau
Buen día
Stan escribió: ↑12 de febrero de 2026 - 11:05
Incluso con session_setup() no puedo hacerlo.
¿Por qué no? En este caso, el valor de session_setup debería ser correcto
Re: Autoservicio y el usuario actual
Publicado: 12 de febrero de 2026 - 11:41
por Stan
sfonteneau escribió: ↑12 de febrero de 2026 - 11:24
Buen día
Stan escribió: ↑12 de febrero de 2026 - 11:05
Incluso con session_setup() no puedo hacerlo.
¿Por qué no? En este caso, el valor de session_setup debería ser correcto
No puedo utilizar el autoservicio*
Probé algo así para autoservicio, pero no funciona:
Código: Seleccionar todo
def install():
session_setup()
def session_setup():
bin_name = glob.glob("ProtonAuthenticator*.msi")[0]
install_msi_if_needed(bin_name)
print("Proton Authenticator a été installé")
¿Tiene alguna forma de instalarlo para el usuario que hace clic en instalar en lugar de instalarlo en el usuario del sistema?
Re: Autoservicio y el usuario actual
Publicado: 12 de febrero de 2026 - 11:49 a. m.
por sfonteneau
Una pequeña corrección a tu código
Código: Seleccionar todo
def install():
bin_name = glob.glob("ProtonAuthenticator*.msi")[0]
filecopyto(bin_name , r'c:\test.msi')
def session_setup():
bin_name = r'c:\test.msi'
install_msi_if_needed(bin_name)
print("Proton Authenticator a été installé")
Re: Autoservicio y el usuario actual
Publicado: 12 de febrero de 2026 - 12:07 p. m.
por Stan
Muchas gracias, ahora funciona.
¿Tienes alguna idea para desinstalarlo?
Ejecutar "run('msiexec /x' + bin_name + '/q')" no funciona.
Re: Autoservicio y el usuario actual
Publicado: 12 de febrero de 2026 - 14:09
por dcardon
Hola Stan,
el equivalente de la función `uninstall()` para limpiar las sesiones de usuario es la función `session-cleanup()`. Se ejecuta en el contexto del usuario con sus privilegios.
https://www.wapt.fr/en/doc/wapt-create- ... on-cleanup
Saludos,
Denis
Re: Autoservicio y el usuario actual
Publicado: 13 de febrero de 2026 - 15:16
por Stan
Hola,
muchas gracias. No sabía que existía esta función; debe ser bastante reciente. ¡
Que tengas un buen día!
Re: Autoservicio y el usuario actual
Publicado: 13 de febrero de 2026 - 15:59
por Stan
dcardon escribió: ↑12 de febrero de 2026 - 14:09
Hola Stan,
el equivalente de la función uninstall() para limpiar las sesiones de usuario es la función session-cleanup(). Se ejecuta en el contexto del usuario con los privilegios del usuario.
https://www.wapt.fr/en/doc/wapt-create- ... on-cleanup
Saludos,
Denis
Hola de nuevo,
Después de probar la función session_cleanup(), no pasa nada...
Aquí está mi código:
Código: Seleccionar todo
def session_cleanup():
run("msiexec /x " + new_path + " /qn")
remove_file(new_path)
El comando funciona bien con mi usuario pero por otro lado no funciona con la función "session_cleanup()", incluso cuando uso "wapt-get session-setup packagename" no sucede nada.
Gracias por poder iluminarme
¡Tener un buen fin de semana!
Re: Autoservicio y el usuario actual
Publicado: 13 de febrero de 2026 - 18:00
por sfonteneau
Hola,
en orden:
- Incrementar la versión del paquete que contiene session_cleanup
- Instalar el paquete con esta nueva versión
- Desinstalar el paquete
- Ejecutar el comando `wapt-get session-setup ALL`
Simon
Re: Autoservicio y el usuario actual
Publicado: 17 de marzo de 2026 - 11:06
por Stan
Buen día,
Tras realizar la operación unas diez veces, no ocurre nada.
Aquí está mi guion:
Código: Seleccionar todo
# -*- coding: utf-8 -*-
from setuphelpers import *
new_path = makepath(programdata(), "wapt", "ProtonAuthenticator.msi")
def install():
bin_name = glob.glob("ProtonAuthenticator*.msi")[0]
filecopyto(bin_name , new_path)
if isfile(new_path):
print("Proton Authenticator a été copié dans " + new_path)
return
else:
print("Erreur lors de la copie de Proton Authenticator dans " + new_path)
return "ERROR"
def session_setup():
try:
install_msi_if_needed(new_path)
except Exception as e:
print("Erreur lors de l'installation de Proton Authenticator : " + str(e))
return "ERROR"
print("Proton Authenticator a été installé")
return "OK"
def session_cleanup():
run("msiexec /X" + new_path + " /qn")
remove_file(new_path)
Cuando ingreso los comandos, obtengo esto:
Código: Seleccionar todo
C:\Users\stan>wapt-get remove X-proton-authenticator
Désinstallation de X-proton-authenticator mis en file d'attente
Désinstallé(s) : X-proton-authenticator
C:\Users\stan>wapt-get session-cleanup ALL
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
1
C:\Users\stan>wapt-get session-cleanup ALL
Using config file: C:\Program Files (x86)\wapt\wapt-get.ini
0
Pasó de 1 a 0, así que para mí debería funcionar, pero no funciona.
Sin embargo, si ejecuto la línea en la CLI "msiexec /XProtonAuthenticator.msi /qn", funciona correctamente.
gracias de antemano
