[RESUELTO] Copiar accesos directos del escritorio para usuarios que iniciaron sesión

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.
Bloqueado
vgrafte
Mensajes: 1
Inscripción: 29 de junio de 2023 - 10:03

15 de enero de 2025 - 15:23

Buen día,

Creé un paquete para pegar enlaces en el escritorio; aquí está el script:

Código: Seleccionar todo

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

import os
import glob

def session_setup():
  username=os.getlogin()
def install():
  chemin = (r'C:\Users\{}\Desktop'.format(username))
    filecopyto(lnk, chemin)
No puedo entender por qué no funciona.
La consola muestra este mensaje de error:

Código: Seleccionar todo

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 4235, in install_wapt
    exitstatus = setup.install()
  File "C:\WINDOWS\TEMP\wapt257aezdq\setup.py", line 13, in install
  File "shutil.py", line 435, in copy2
  File "shutil.py", line 264, in copyfile
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\Système\\Desktop'

2 : No such file or directory
Puedo ver que el nombre de usuario devuelve Sistema y no el usuario que inició sesión, pero el comando en Python devuelve el usuario correcto.

Gracias por su ayuda.
fschelfaut
Mensajes: 28
Inscripción: 7 de noviembre de 2024 - 12:22

15 de enero de 2025 - 16:30

Buen día,

Si desea ejecutar código dentro de la sesión del usuario, por ejemplo, agregar un acceso directo al escritorio del usuario
Entonces necesitas ejecutar todo tu código dentro de la función configuración de sesión

Tenga en cuenta que el código ejecutado en la función instalar es como un usuario del sistema

Para lograr lo que deseas, tienes dos opciones:

Código: Seleccionar todo

def session_setup():
    # Create a desktop shortcut link for current user
    create_user_desktop_shortcut(label='', target='', arguments='')
    
def install():
    # Create a desktop shortcut link for all users
    create_desktop_shortcut(label='', target='', arguments='')
Flavien,
Bloqueado