Desinstalación de OFFICE 2013

Comparta sus sugerencias o problemas relacionados con la consola WAPT o el agente WAPT aquí
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
primer año
Mensajes: 5
Inscripciones: 24 Oct 2018 - 15:59 horas.

24 de octubre de 2018 - 16:26

Hola a todos,

Estoy experimentando problemas al desinstalar OFFICE 2013 Standard a través de WAPT.
He probado distintas formas de desinstalar todo pero no lo consigo.

Primero, a través de la clave de desinstalación:
Recuperé el UID a través de wapt-get list-registry, lo que me dio bastantes, pero cuando intento desinstalarlo de PyScripter no funciona (devuelve:

Código: Seleccionar todo

Ligne de Commande : uninstall "C:\waptdev\Office2013Std_32bits-wapt\WAPT\.."
Uninstalling C:\waptdev\Office2013Std_32bits-wapt ...
None
Uninstallation done)
La clave de desinstalación se ve así:

Código: Seleccionar todo

uninstallkey = ['{90150000-002A-0000-1000-0000000FF1CE}','{90150000-002A-040C-1000-0000000FF1CE}','Office15.STANDARD','Office2013Std_32bits','{90150000-0012-0000-0000-0000000FF1CE}','{90150000-001F-0401-0000-0000000FF1CE}','{90150000-001F-0407-0000-0000000FF1CE}','{90150000-001F-0409-0000-0000000FF1CE}','{90150000-001F-040C-0000-0000000FF1CE}','{90150000-001F-0413-0000-0000000FF1CE}','{90150000-001F-0C0A-0000-0000000FF1CE}','{90150000-002C-040C-0000-0000000FF1CE}','{90150000-006E-040C-0000-0000000FF1CE}','{90150000-00E1-040C-0000-0000000FF1CE}','{90150000-00E2-040C-0000-0000000FF1CE}']
También intenté usar la cadena de desinstalación y obtengo el mismo mensaje que con la clave de desinstalación:

Código: Seleccionar todo

Ligne de Commande : uninstall "C:\waptdev\Office2013Std_32bits-wapt\WAPT\.."
Uninstalling C:\waptdev\Office2013Std_32bits-wapt ...
None
Uninstallation done)
La cadena de desinstalación se ve así:

Código: Seleccionar todo

uninstallstring =['"C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\Office Setup Controller\Setup.exe /uninstall Standard /config silent.xml"']
Intenté usar una función uninstall() que muestra el contenido de uninstallstring:

Código: Seleccionar todo

def uninstall():
    print("Desinstallation d\'Office")
    run('"C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\Office Setup Controller\Setup.exe /uninstall Standard /config silent.xml"')
atrás:

Código: Seleccionar todo

Ligne de Commande : uninstall "C:\waptdev\Office2013Std_32bits-wapt\WAPT\.."
Uninstalling C:\waptdev\Office2013Std_32bits-wapt ...
Desinstallation d'Office
2018-10-24 16:11:02,690 CRITICAL Fatal error in uninstall function: CalledProcessErrorOutput: Command '"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\OFFICE15\\Office Setup Controller\\Setup.exe /uninstall Standard /config silent.xml"' returned non-zero exit status 1.
Output:Le chemin d'accÇùs spǸcifiǸ est introuvable.
:
Traceback (most recent call last):
  File "c:\wapt\waptpackage.py", line 1843, in call_setup_hook
    hookdata = hook_func()
  File "C:\waptdev\Office2013Std_32bits-wapt\setup.py", line 39, in uninstall
    run('"C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\Office Setup Controller\Setup.exe /uninstall Standard /config silent.xml"')
  File "c:\wapt\common.py", line 3317, in run
    return ensure_unicode(setuphelpers.run(*arg,pidlist=self.pidlist,**args))
  File "c:\wapt\setuphelpers.py", line 1044, in run
    raise CalledProcessErrorOutput(proc.returncode,cmd,''.join(output))
CalledProcessErrorOutput: Command '"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\OFFICE15\\Office Setup Controller\\Setup.exe /uninstall Standard /config silent.xml"' returned non-zero exit status 1.
Output:Le chemin d'accŠs sp‚cifi‚ est introuvable.


FATAL ERROR : CalledProcessErrorOutput: Command '"C:\\Program Files (x86)\\Common Files\\Microsoft Shared\\OFFICE15\\Office Setup Controller\\Setup.exe /uninstall Standard /config silent.xml"' returned non-zero exit status 1.
Output:Le chemin d'accÇùs spǸcifiǸ est introuvable.

Exit code:  3

La instalación va muy bien, es totalmente transparente, el archivo MSP está en el lugar correcto, lo mismo para el archivo silent.xml.
Cuando ejecuto el siguiente comando en un shell, funciona perfectamente y silenciosamente....

Código: Seleccionar todo

C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\Office Setup Controller\Setup.exe /uninstall Standard /config silent.xml
Probé diferentes cosas, intenté pasar mis rutas a través de una variable en "raw":

Código: Seleccionar todo

r"C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\Office Setup Controller\Setup.exe /uninstall Standard /config silent.xml" 
El resultado es el mismo, aunque pensé que entendía que la "r" o el acto de rodear la expresión con "expresión" escapaba a los espacios y barras...
También intenté usar la biblioteca "pathlib", pero no está integrada en WAPT y no pude hacerla funcionar.

He incluido mi archivo setup.py completo a continuación en caso de que te dé algunas ideas, pero no hay nada particularmente original en él en comparación con los diversos temas sobre OFFICE que se pueden encontrar en los foros :)
¡Gracias de antemano!

primer año

Código: Seleccionar todo

from setuphelpers import *
import time

windowspath64 = r"C:\Program Files (x86)\Common Files\microsoft shared\OFFICE15\Office Setup Controller"
windowspath32 = r"C:\Program Files\Common Files\microsoft shared\OFFICE15\Office Setup Controller"
waptpath = r"C:\waptdev\Office2013Std_32bits-wapt\Microsoft Office 2013 32bits"

if iswin64():
	uninstallstring =['"%s\Setup.exe /uninstall Standard /config silent.xml"',windowspath64]
else:
	uninstallstring =['"C:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE15\Office Setup Controller\Setup.exe /unininstall Standard /config silent.xml"']

def install():

    def killsoft():
      for soft in ('WINWORD.EXE','POWERPNT.EXE','EXCEL.exe','MSPUB.EXE','MSACCESS.EXE','INFOPATH.EXE','lync.exe','ONENOTE.EXE','OUTLOOK.EXE','ONENOTEM.EXE','MSOSYNC.EXE','GROOVE.EXE'):
        if isrunning(soft):
           print ("closing %s" % soft)
           killalltasks(soft)

    softname = 'Microsoft Office Professionnel Standard 2013'
    check_installed_out = installed_softwares(softname)
    if not check_installed_out:
            print('installing Office 2013')
            killsoft()
            cmd = ('%s\setup.exe /adminfile setup.msp /config silent.xml',waptpath)
            run(cmd,timeout=1200,accept_returncodes=[1641,3010,0])
            time.sleep(30)
            filecopyto("silent.xml",("C:\Program Files\Common Files\"))
    else:
            print('repair Office 2013')
            killsoft()
            cmd = '"C:\Program Files (x86)\Common Files\microsoft shared\OFFICE15\Office Setup Controller\setup.exe" /repair Standard /config silent.xml"'
            run(cmd,timeout=1200,accept_returncodes=[1641,3010,0])
Avatar de usuario
dcardón
Experto en WAPT
Mensajes: 1908
Inscripción: 18 de junio de 2014 - 09:58
Ubicación: Saint Sébastien sur Loire
Contacto :

24 de octubre de 2018 - 16:45

Hola fbst,
fbst escribió: 24 de octubre de 2018 - 16:26 ERROR FATAL: CalledProcessErrorOutput: El comando '"C:\\Archivos de programa (x86)\\Archivos comunes\\Microsoft Shared\\OFFICE15\\Office Setup Controller\\Setup.exe /uninstall Standard /config silent.xml"' devolvió un estado de salida distinto de cero 1.
Salida: No se pudo encontrar la ruta de acceso especificada.
....

Código: Seleccionar todo

            filecopyto("silent.xml",("C:\Program Files\Common Files\"))
Debe especificar la ruta completa del archivo silent.xml, ya que no se encuentra en el mismo directorio que setup.exe. También puede definir el directorio de trabajo.

Atentamente,

Denis
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
primer año
Mensajes: 5
Inscripciones: 24 Oct 2018 - 15:59 horas.

24 de octubre de 2018 - 17:41

Buen día,

Gracias por la rápida respuesta, ¡logré encontrar un punto de partida para una solución!
Funciona bien localmente en el servidor directamente (instalación/desinstalación)

Aquí está el código:

Código: Seleccionar todo

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

uninstallkey = []
softname = 'Microsoft Office Standard 2013'

def install():

    def killsoft():
      for soft in ('WINWORD.EXE','POWERPNT.EXE','EXCEL.exe','MSPUB.EXE','MSACCESS.EXE','INFOPATH.EXE','lync.exe','ONENOTE.EXE','OUTLOOK.EXE','ONENOTEM.EXE','MSOSYNC.EXE','GROOVE.EXE'):
        if isrunning(soft):
           print ("Fermeture de %s" % soft)
           killalltasks(soft)

    if not installed_softwares(softname):
        open(makepath(programfiles32,'silent.xml'), "w" ).write(silentxml)
        print('Installation d\' Office 2013')
        cmd = '"C:\waptdev\Office2013Std_32bits-wapt\Microsoft Office 2013 32bits\setup.exe" /adminfile "setup.msp"'
        remove_file(makepath(programfiles32,'silent.xml'))
    else:
        print('Reparation d\'Office 2013')
        cmd = '"C:\waptdev\Office2013Std_32bits-wapt\Microsoft Office 2013 32bits\setup.exe" /repair Standard /config silent.xml"'


    killsoft()
    run(cmd,timeout=1200,accept_returncodes=[1641,3010,0])

    if not installed_softwares(softname):
            error('%s : clef de desinstallation non trouvée',softname)

def uninstall():
    open(makepath(programfiles32,'silent.xml'), "w" ).write(silentxml)
    print("Desinstallation d\'Office")
    run('"%s" /uninstall Standard /config "%s"' % (makepath(programfiles32,'Common Files','microsoft shared','OFFICE15','Office Setup Controller','Setup.exe'),makepath(programfiles32,'silent.xml')),timeout=1200)
    remove_file(makepath(programfiles32,'silent.xml'))

silentxml = ur"""<Configuration Product="Standard">
<Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" />
   <Setting Id="SETUP_REBOOT" Value="NEVER" />
</Configuration>"""

Sin embargo, una vez creado y cargado, cuando intento instalarlo en una máquina remota, aparece un mensaje de error:

Código: Seleccionar todo

Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1374, in run
    self.running_task.run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 515, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 960, in _run
    self.result.get('errors',[])))
Exception: Erreur lors de l'installation de [u'4C4C4544-0057-5810-8039-B8C04F534632(=2)']: erreurs dans les paquets [[u'4C4C4544-0057-5810-8039-B8C04F534632(=2)', PackageEntry(u'4C4C4544-0057-5810-8039-B8C04F534632',u'2') , u'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4372, in install\n    force=force\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 3591, in install_wapt\n    raise e\nEWaptUnavailablePackage: Missing dependencies: Office2013Std_32bits\n']]

Exception: Erreur lors de l'installation de [u'4C4C4544-0057-5810-8039-B8C04F534632(=2)']: erreurs dans les paquets [[u'4C4C4544-0057-5810-8039-B8C04F534632(=2)', PackageEntry(u'4C4C4544-0057-5810-8039-B8C04F534632',u'2') , u'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4372, in install\n    force=force\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 3591, in install_wapt\n    raise e\nEWaptUnavailablePackage: Missing dependencies: Office2013Std_32bits\n']]
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\waptservice\service.py", line 1374, in run
    self.running_task.run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 515, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 960, in _run
    self.result.get('errors',[])))
Exception: Erreur lors de l'installation de [u'4C4C4544-0057-5810-8039-B8C04F534632(=2)']: erreurs dans les paquets [[u'4C4C4544-0057-5810-8039-B8C04F534632(=2)', PackageEntry(u'4C4C4544-0057-5810-8039-B8C04F534632',u'2') , u'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4372, in install\n    force=force\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 3591, in install_wapt\n    raise e\nEWaptUnavailablePackage: Missing dependencies: Office2013Std_32bits\n']]

¿Alguna idea por casualidad? :/

Gracias de antemano,

Atentamente
primer año
Mensajes: 5
Inscripciones: 24 Oct 2018 - 15:59 horas.

24 de octubre de 2018 - 18:34

Siguiendo mi mensaje anterior, me gustaría aclarar que el hecho de especificar la ruta completa a setup.exe:

Código: Seleccionar todo

cmd = '"C:\waptdev\Office2013Std_32bits-wapt\Microsoft Office 2013 32bits\setup.exe" /adminfile "setup.msp"'
Esto se debe a que si coloco setup.exe solo, aparece un mensaje que me dice que no se encuentra setup.exe.
Para su información, aquí está la estructura de directorio de mi paquete:
Captura.PNG
Captura.PNG (34,91 KB) Vista 7197 veces
El archivo de instalación está en el directorio raíz y también lo he copiado a la carpeta WAPT y luego a la carpeta de 32 bits de Microsoft Office 2013. Tengo algunas dificultades para entender dónde está el directorio de trabajo del script de Python... ¿Alguien podría ayudarme? :)

¿Podría ser que el hecho de que la ruta esté codificada en el script esté generando el error anterior?

Además, para intentar ser lo más exhaustivo posible, aquí está mi paquete mostrado en la consola:
Captura2.PNG
Capture2.PNG (31,03 KB) Visto 7197 veces
Recibo el mensaje cuando hago clic derecho en un host / Agrego una dependencia / Verifico el paquete y luego hago clic en iniciar instalaciones.
(Menciono esto en caso de que cometa un error) :) )


Finalmente, aquí está el archivo de control del paquete:
Captura3.PNG
Capture3.PNG (19,76 KB) Visto 7197 veces
Muchas gracias...que tengas una buena noche
Avatar de usuario
dcardón
Experto en WAPT
Mensajes: 1908
Inscripción: 18 de junio de 2014 - 09:58
Ubicación: Saint Sébastien sur Loire
Contacto :

25 de octubre de 2018 - 19:45

Buenas noches fbst,
fbst escribió: 24 de octubre de 2018 - 18:34 Siguiendo mi mensaje anterior, me gustaría aclarar que el hecho de especificar la ruta completa a setup.exe:

Código: Seleccionar todo

cmd = '"C:\waptdev\Office2013Std_32bits-wapt\Microsoft Office 2013 32bits\setup.exe" /adminfile "setup.msp"'
Esto se debe a que si coloco setup.exe solo, aparece un mensaje que me dice que no se encuentra setup.exe.
El script setup.py se ejecuta en un directorio temporal con un nombre generado aleatoriamente. Si el instalador necesita una ruta de ejecución completa, debería poder usar algo como:

Código: Seleccionar todo

import os 
dir_path = os.path.dirname(os.path.realpath(__file__))
En tu caso:

Código: Seleccionar todo

cmd = '"%s\setup.exe" /adminfile "%s\setup.msp"' % (dir_path,dir_path)
Atentamente,

Denis
Denis Cardon - Tranquil IT
¡Comparte tus experiencias en WAPT! Envíanos las URL de tus blogs y artículos en la "Tu opinión del foro y los publicaremos en el de WAPT
primer año
Mensajes: 5
Inscripciones: 24 Oct 2018 - 15:59 horas.

30 de octubre de 2018 - 15:25

Buen día,

Disculpen el tiempo de respuesta un poco largo...
Gracias por tu respuesta

Después de probarlo, parece que esto no funciona mejor:

Recibo este mensaje al implementar el paquete en Windows 7 con Office 2010 instalado:

Código: Seleccionar todo

Installation d' Office 2013
Traceback (most recent call last):
  File "C:\Program Files (x86)\wapt\common.py", line 3512, in install_wapt
    exitstatus = setup.install()
  File "c:\windows\temp\wapt83htmv\setup.py", line 23, in install
  File "C:\Program Files (x86)\wapt\common.py", line 3317, in run
    return ensure_unicode(setuphelpers.run(*arg,pidlist=self.pidlist,**args))
  File "C:\Program Files (x86)\wapt\setuphelpers.py", line 1044, in run
    raise CalledProcessErrorOutput(proc.returncode,cmd,''.join(output))
CalledProcessErrorOutput: Command '"c:\\windows\\temp\\wapt83htmv\\setup.exe" /adminfile "c:\\windows\\temp\\wapt83htmv\\setup.msp" /config "c:\\windows\\temp\\wapt83htmv\\silent.xml"' returned non-zero exit status -2146368439.
Output:
CalledProcessErrorOutput: Command '"c:\\windows\\temp\\wapt83htmv\\setup.exe" /adminfile "c:\\windows\\temp\\wapt83htmv\\setup.msp" /config "c:\\windows\\temp\\wapt83htmv\\silent.xml"' returned non-zero exit status -2146368439.
Output:
El archivo MSP está configurado para desinstalar versiones anteriores:

Aquí está mi código

Código: Seleccionar todo

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

dir_path = os.path.dirname(os.path.realpath('__file__'))

uninstallkey = []
softname = 'Microsoft Office Standard 2013'


def install():

    def killsoft():
      for soft in ('WINWORD.EXE','POWERPNT.EXE','EXCEL.exe','MSPUB.EXE','MSACCESS.EXE','INFOPATH.EXE','lync.exe','ONENOTE.EXE','OUTLOOK.EXE','ONENOTEM.EXE','MSOSYNC.EXE','GROOVE.EXE'):
        if isrunning(soft):
           print ("Fermeture de %s" % soft)
           killalltasks(soft)

    if not installed_softwares(softname):
        killsoft()
        print('Installation d\' Office 2013')
        cmd = '"%s\setup.exe" /adminfile "%s\setup.msp" /config "%s\silent.xml"' % (dir_path,dir_path,dir_path)
        run(cmd,timeout=1200,accept_returncodes=[1641,3010,0])
        killsoft()
    else:
        print('Deinstallation d\'office')
        cmd = '"%s\setup.exe" /uninstall Standard /config "%s\silent.xml"' % (dir_path,dir_path)
        run(cmd,timeout=1200,accept_returncodes=[1641,3010,0])


def uninstall():
    open(makepath(programfiles32,'silent.xml'), "w" ).write(silentxml)
    killsoft()
    print("Desinstallation d\'Office")
    run('"%s" /uninstall Standard /config "%s"' % (makepath(programfiles32,r'Common Files',r'microsoft shared','OFFICE15',r'Office Setup Controller','Setup.exe'),makepath(programfiles32,'silent.xml')),timeout=1200)
    remove_file(makepath(programfiles32,'silent.xml'))


Los archivos setup.exe / setup.MSP / silent.xml se encuentran en la raíz del paquete de Office junto con setup.py y todas las carpetas de Office.
Confieso que me cuesta un poco entender el problema que tengo :)

gracias de antemano,

Atentamente



EDITAR: y confirmo que efectivamente se crea una carpeta en windows/temp/XXXX en la máquina cliente, con todos los archivos de office presentes en el paquete en el servidor (setup.msp, setup.py, silent.xml + todas las carpetas de office)
Bloqueado