authority nt\system
https://ibb.co/iwCjWp (Desconozco por qué la imagen no aparece estando dentro de la etiqueta [img]).
En ese cmd.exe, eres "Sistema local" (es la cuenta raíz real en Windows). Ahora solo necesitas ejecutar la misma línea de comandos que introdujiste en tu..empbilly escribió: ↑27 de septiembre de 2018 - 17:12. Hice las pruebas y cuando ejecuto un comando a través de psexec, es como se muestra en la imagen a continuación.
authority nt\system
https://ibb.co/iwCjWp (No sé por qué la imagen no aparece estando en la etiqueta [img])
Código: Seleccionar todo
setup.pyCódigo: Seleccionar todo
C:\ProgramData\{5F3A4BBA-1519-45F2-9BF7-1E9924E32CAA}>"Surfer(11.1.719)_Installer.exe" REMOVE=TRUE MODIFY=FALSE UNINSTALL=TRUE /sSólo después de presionar OK continúa la desinstalación.C:\Windows\system32\config\systemprofile\Desktop se refiere a una ubicación no disponible. Podría estar en un disco duro de estos equipos o en una red. Asegúrese de que el disco esté correctamente insertado o de que esté conectado a internet o a la red e inténtelo de nuevo. Si sigue sin encontrarlo, es posible que la información se haya movido a otra ubicación.
¿Qué tal si creas una carpeta vacía C:\Windows\system32\config\systemprofile\Desktop en tu script de instalación?empbilly escribió: ↑27 de septiembre de 2018 - 21:18C:\Windows\system32\config\systemprofile\Desktop se refiere a una ubicación no disponible. Podría estar en un disco duro de estos equipos o en una red. Asegúrese de que el disco esté correctamente insertado o de que esté conectado a internet o a la red e inténtelo de nuevo. Si sigue sin encontrarlo, es posible que la información se haya movido a otra ubicación.
Como mencionó Vincent, crear la carpeta C:\Windows\system32\config\systemprofile\Desktop con antelación probablemente sea la solución. El script de desinstalación probablemente intente eliminar un icono que copió durante la instalación para limpiarlo, pero falla estrepitosamente porque el usuario "Sistema local" no tiene dicha carpeta (C:\Windows\system32\config\systemprofile\ es el valor de %USERPROFILE% para "Sistema local"). Esto explica por qué funcionaba al hacerlo en un contexto de usuario.empbilly escribió: ↑27 de septiembre de 2018 - 21:18 Me puse en contacto con la empresa que desarrolló el software y me dieron otra variable para eliminar silenciosamente.
Al ejecutar este comando en cmd a través de psexec.exe, aparece otra ventana que muestra que no encuentran un archivo o carpeta.Código: Seleccionar todo
C:\ProgramData\{5F3A4BBA-1519-45F2-9BF7-1E9924E32CAA}>"Surfer(11.1.719)_Installer.exe" REMOVE=TRUE MODIFY=FALSE UNINSTALL=TRUE /s
La ventana muestra el siguiente mensaje:Sólo después de presionar OK continúa la desinstalación.C:\Windows\system32\config\systemprofile\Desktop se refiere a una ubicación no disponible. Podría estar en un disco duro de estos equipos o en una red. Asegúrese de que el disco esté correctamente insertado o de que esté conectado a internet o a la red e inténtelo de nuevo. Si sigue sin encontrarlo, es posible que la información se haya movido a otra ubicación.
La ruta C:\Windows\system32\config\systemprofile existe, pero "Escritorio" no.
¿Habría alguna forma de simular un clic en Aceptar?
Código: Seleccionar todo
psexec -i -s cmd.exeCódigo: Seleccionar todo
# -*- coding: utf-8 -*-
from setuphelpers import *
import os
uninstallkey = []
destdir = makepath(programfiles, "Golden Software", "Surfer 11")
exefile = "Surfer.exe"
inidir = "%s\\AppData\\Gradient.ini" % destdir
pstools = makepath(programfiles, "mspstools")
error_env = os.environ['WINDIR']
error_path = r'%s\system32\config\systemprofile\Desktop' % error_env
def install():
if not os.path.isdir(error_path):
os.makedirs(error_path)
if os.path.exists(error_path):
print("%s was success created!" % error_path)
print('Uninstalling old versions of surfer...')
for soft in installed_softwares("Surfer"):
try:
cmd = WAPT.uninstall_cmd(soft['key'])
if isinstance(cmd,list) and len(cmd) == 1:
cmd = cmd[0]
if destdir and not 'UNINSTALL=YES' in cmd:
cmd = cmd + ' UNINSTALL=YES' + ' /s'
run(cmd)
else:
if not destdir and 'UNINSTALL=YES' in cmd:
run(cmd)
except ValueError:
pass
print('Uninstalling old versions of Surfer completed!')
print('Installing Surfer...')
install_msi_if_needed('surfer.msi')
if os.path.exists(destdir):
filecopyto("Gradient.ini", "%s\\AppData" % destdir)
if os.path.exists(inidir):
print("Gradient.ini copied to the folder %s\\AppData" % destdir)