Página 1 de 2

[RESUELTO] Instalación de Office 365

Publicado: 2 de agosto de 2019 - 09:32
por Minus
Hola a todos

Bueno, comencé a usar WAPT hace unas semanas después de pasar algunos años en updateengine.

Esta migración no ha estado exenta de dificultades, pero hasta ahora va bien y tengo que afrontar una gran tarea: la implementación de Office365.

Entonces simplemente usé la herramienta de implementación de Windows para descargar la última versión de Office 365 y luego:

Generé mi propio archivo XML (config-installation.xml) para la instalación:

Código: Seleccionar todo

<Configuration>
  <Info Description="Domaine Office Customization V1" />
  <Add OfficeClientEdition="64" Channel="Monthly" ForceUpgrade="TRUE">
    <Product ID="O365BusinessRetail">
      <Language ID="fr-fr" />
      <ExcludeApp ID="Groove" />
      <ExcludeApp ID="Lync" />
    </Product>
  </Add>
  <Property Name="SharedComputerLicensing" Value="0" />
  <Property Name="PinIconsToTaskbar" Value="TRUE" />
  <Property Name="SCLCacheOverride" Value="0" />
  <Property Name="AUTOACTIVATE" Value="FALSE" />
  <Updates Enabled="TRUE" />
  <Updates Branch="Business" />
  <RemoveMSI>
    <IgnoreProduct ID="VisPro" />
    <IgnoreProduct ID="VisStd" />
  </RemoveMSI>
  <AppSettings>
    <Setup Name="Company" Value="Domaine" />
    <User Key="software\microsoft\office\16.0\excel\options" Name="defaultformat" Value="51" Type="REG_DWORD" App="excel16" Id="L_SaveExcelfilesas" />
    <User Key="software\microsoft\office\16.0\powerpoint\options" Name="defaultformat" Value="27" Type="REG_DWORD" App="ppt16" Id="L_SavePowerPointfilesas" />
    <User Key="software\microsoft\office\16.0\word\options" Name="defaultformat" Value="" Type="REG_SZ" App="word16" Id="L_SaveWordfilesas" />
  </AppSettings>
  <Display Level="None" AcceptEULA="TRUE" />
</Configuration>
Luego crea un archivo por lotes para iniciar la instalación

Código: Seleccionar todo

@echo off
setup.exe /configure config-installation.xml
exit
Lo mismo se aplica al proceso de desinstalación; aquí está el archivo XML (config-uninstall.xml):

Código: Seleccionar todo

<Configuration>
<Display Level="None" AcceptEULA="True" />
<Property Name="FORCEAPPSHUTDOWN" Value="True" />
<Remove>
<Product ID="O365BusinessRetail">
</Product>
</Remove>
</Configuration>
y el archivo por lotes:

Código: Seleccionar todo

@echo off
setup.exe /configure config-uninstall.xml
exit
Cuando se ejecutan por separado, los dos archivos por lotes funcionan perfectamente y hacen lo que les pido

Entonces, para Wapt, creé el siguiente archivo setup.py:

Código: Seleccionar todo

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

uninstallkey = []

def install():
	print('installing domaine-Office365Business')
	run('InstallOffice365.bat')

def uninstall():
	print('uninstalling domaine-Office365Business')
	run('UninstallOffice365.bat')
La parte de instalación funciona perfectamente al reiniciar o apagar la máquina, sin embargo la parte de desinstalación no funciona en absoluto.

Para la desinstalación, aquí está la información que pude extraer de Windows:

Código: Seleccionar todo

sofware name: Microsoft Office 365 Business - fr-fr
Uninstall key: O365BusinessRetail - fr-fr
version: 16.0.11727.20244
Seguramente hay formas mucho más sencillas y limpias de hacerlo en todos los niveles, así que estoy totalmente a favor, especialmente si incorpora:

una instalación que se puede realizar sin necesidad de reiniciar la máquina
una desinstalación que funciona a través de la consola WAPT

Gracias de antemano por su ayuda, que también me permitirá aprender más sobre WAPT

Servidor Debian 9.9
WAPT 1.5.1.26
Estación de creación de paquetes W10

Re: Instalación de Office 365

Publicado: 2 de agosto de 2019 - 14:13
por Christophe0110
Hola !

Así que abordé este paquete para Office 365 Business (2019) la semana pasada...
Entonces me gustaría compartir mi setup.py:

Código: Seleccionar todo

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

uninstallkey = []

def install():

    if not installed_softwares(u'O365BusinessRetail'):
        print('Microsoft Office 365 Business 2019 : Installing...')

        killalltasks(['WINWORD.EXE','POWERPNT.EXE','EXCEL.exe','MSPUB.EXE','MSACCESS.EXE','INFOPATH.EXE','lync.exe','ONENOTE.EXE','OUTLOOK.EXE','ONENOTEM.EXE','MSOSYNC.EXE','GROOVE.EXE'])

        run(u'setup.exe /configure Configuration.xml',timeout=2000,accept_returncodes=[1641,3010,0])

        print('Microsoft Office 365 Business 2019 : Installation complete')
    else:
        print('Microsoft Office 365 Business 2019 : Already installed !')

    if not isdir(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall')):
        mkdirs(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall'))
    filecopyto('setup.exe',makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe'))
    filecopyto('ConfigurationUninstall.xml',makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','ConfigurationUninstall.xml'))

def uninstall():

    print('Microsoft Office 365 Business 2019 : Uninstalling...')

    #Closing applications :
    killalltasks(['WINWORD.EXE','POWERPNT.EXE','EXCEL.exe','MSPUB.EXE','MSACCESS.EXE','INFOPATH.EXE','lync.exe','ONENOTE.EXE','OUTLOOK.EXE','ONENOTEM.EXE','MSOSYNC.EXE','GROOVE.EXE'])

    #Uninstalling :
    if installed_softwares(u'O365BusinessRetail'):
        if isfile(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe')):
            run('"' + makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe') + r'" /configure ConfigurationUninstall.xml',timeout=2000,accept_returncodes=[1641,3010,0])
            remove_file(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe'))
            remove_file(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','ConfigurationUninstall.xml'))
            if dir_is_empty(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall')):
                remove_tree(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall'))

    print('Microsoft Office 365 Business 2019 : Uninstallation complete')


En la raíz del paquete coloqué el archivo "setup.exe" así como el directorio "Office" descargado mediante el comando ejecutado anteriormente: setup.exe /download configuration.xml

Aquí está el contenido del archivo configuration.xml (pero depende de usted configurarlo como desee):

Código: Seleccionar todo

<Configuration ID="30ca9b8e-4c43-4a87-a12f-1e5966fdce99">
  <Info Description="NomSociete" />
  <Add OfficeClientEdition="32" Channel="Insiders" ForceUpgrade="TRUE">
    <Product ID="O365BusinessRetail">
      <Language ID="fr-fr" />
      <ExcludeApp ID="Groove" />
      <ExcludeApp ID="Lync" />
    </Product>
    <Product ID="ProofingTools">
      <Language ID="en-us" />
    </Product>
  </Add>
  <Property Name="SharedComputerLicensing" Value="0" />
  <Property Name="PinIconsToTaskbar" Value="TRUE" />
  <Property Name="SCLCacheOverride" Value="0" />
  <Property Name="AUTOACTIVATE" Value="FALSE" />
  <Updates Enabled="TRUE" />
  <RemoveMSI>
    <IgnoreProduct ID="VisPro" />
    <IgnoreProduct ID="VisStd" />
  </RemoveMSI>
  <AppSettings>
    <Setup Name="Company" Value="NomSociete" />
    <User Key="software\microsoft\office\16.0\access\security" Name="vbawarnings" Value="1" Type="REG_DWORD" App="access16" Id="L_VBAWarningsPolicy" />
    <User Key="software\microsoft\office\16.0\excel\options" Name="defaultformat" Value="51" Type="REG_DWORD" App="excel16" Id="L_SaveExcelfilesas" />
    <User Key="software\microsoft\office\16.0\powerpoint\options" Name="defaultformat" Value="27" Type="REG_DWORD" App="ppt16" Id="L_SavePowerPointfilesas" />
    <User Key="software\microsoft\office\16.0\word\options" Name="defaultformat" Value="" Type="REG_SZ" App="word16" Id="L_SaveWordfilesas" />
  </AppSettings>
  <Display Level="None" AcceptEULA="TRUE" />
  <Logging Level="Off" />
</Configuration>
Y el contenido del archivo configurationUninstall.xml:

Código: Seleccionar todo

<Configuration>
  <Display Level="None" AcceptEULA="TRUE" />
  <Property Name="FORCEAPPSHUTDOWN" Value="True" />
  <Remove>
    <Product ID="O365BusinessRetail">
      <Language ID="fr-fr" />
    </Product>
  </Remove>
  <Logging Level="Off" />
</Configuration>
Como puede ver en el código, durante la instalación copio el archivo "setup.exe" y el archivo "ConfigurationUninstall.xml" en una carpeta creada en "Microsoft Office".
Luego lo uso para desinstalar...

Funciona perfectamente ;)

A+
Cristóbal.

Re: Instalación de Office 365

Publicado: 2 de agosto de 2019 - 15:16
por Minus
¡Genial

, muchas gracias Christophe0110!

Bueno, ahora estoy de vacaciones, pero en cuanto vuelva al trabajo actualizaré mi Office.

Te mantendré al tanto.

Re: Instalación de Office 365

Publicado: 7 de noviembre de 2019 - 17:26
por Ben
Buen día,

También estoy planificando la implementación de O365. Basé mi plan en el trabajo de Christophe0110 (¡gracias a él, por cierto!), pero me encuentro con un problema.
El proceso de instalación funciona perfectamente. Se ejecuta correctamente y tiene en cuenta el archivo XML de configuración.

Sin embargo, la desinstalación falla: Puedo acceder al script correctamente (los archivos y la carpeta "OfficeClickToRunWAPTUninstall" se eliminan correctamente), pero O365 permanece instalado en el equipo. En la consola WAPT, el paquete ya no está visible en el equipo, como si todo hubiera ido bien.

Parece que la siguiente línea es el problema y evita que se inicie el instalador:

Código: Seleccionar todo

run('"' + makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe') + r'" /configure ConfigurationUninstall.xml',timeout=2000,accept_returncodes=[1641,3010,0])
¿Alguien tiene alguna idea? Estoy perplejo

GRACIAS !

Re: Instalación de Office 365

Publicado: 13 de noviembre de 2019 - 11:44 a. m.
por Ben
Resolví mi problema que era muy simple: se debía pasar la ruta absoluta al archivo XML para la desinstalación (al contrario de lo propuesto en el script anterior).

A continuación se muestra mi guión completo:

Código: Seleccionar todo

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

uninstallkey = []

def install():

    if not installed_softwares(u'O365BusinessRetail'):
        print('Microsoft Office 365 Business 2019 : Installation...')

        killalltasks(['WINWORD.EXE','POWERPNT.EXE','EXCEL.exe','MSPUB.EXE','MSACCESS.EXE','INFOPATH.EXE','lync.exe','ONENOTE.EXE','OUTLOOK.EXE','ONENOTEM.EXE','MSOSYNC.EXE','GROOVE.EXE'])

        run(u'setup.exe /configure install.xml',timeout=2000,accept_returncodes=[1641,3010,0])

        print('Microsoft Office 365 Business 2019 : Installation complete')
    else:
        print('Microsoft Office 365 Business 2019 : Already installed !')

    if not isdir(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall')):
        mkdirs(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall'))
    filecopyto('setup.exe',makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe'))
    filecopyto('uninstall.xml',makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','uninstall.xml'))
    filecopyto('uninstall.bat',makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','uninstall.bat'))

def uninstall():

    print('Microsoft Office 365 Business 2019 : Uninstalling...')

    uninstallstring ='"%s\Microsoft Office\OfficeClickToRunWAPTUninstall\setup.exe" /configure "%s\Microsoft Office\OfficeClickToRunWAPTUninstall\uninstall.xml"' % (programfiles32,programfiles32)

    #Closing applications :
    killalltasks(['WINWORD.EXE','POWERPNT.EXE','EXCEL.exe','MSPUB.EXE','MSACCESS.EXE','INFOPATH.EXE','lync.exe','ONENOTE.EXE','OUTLOOK.EXE','ONENOTEM.EXE','MSOSYNC.EXE','GROOVE.EXE'])

    #Uninstalling :
    if installed_softwares(u'O365BusinessRetail'):
        print('O365 a ete trouve.')
        if isfile(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe')):
            print('Setup.exe trouve. Lancement de la commande de desinstallation ('+uninstallstring+')')

            run(uninstallstring,timeout=2000,accept_returncodes=[1641,3010,0])

            print('Nettoyage des fichiers de desinstallation.')
            remove_file(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe'))
            remove_file(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','uninstall.xml'))
            remove_file(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','uninstall.bat'))

            print('Suppression du dossier.')
            if dir_is_empty(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall')):
                remove_tree(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall'))

    print('Microsoft Office 365 Business 2019 : Uninstallation complete')

Re: Instalación de Office 365

Publicado: 14 de noviembre de 2019 - 14:57
por Christophe0110
Hola Ben,

eso es realmente extraño, porque a mí me funciona sin especificar la ruta completa al archivo XML...

Pero si funciona así, modificaré mi script por si acaso (nunca se sabe, puede que funcione para algunos y para otros no...).

¡Saludos!

Re: Instalación de Office 365

Publicado: 24 de febrero de 2020 - 11:42 a. m.
por Minus
Hola,

disculpen, olvidé dar mi opinión como prometí, :ups: :ups:

Christophe0110. Funciona perfectamente tal como está.

Hice algunos ajustes menores y, sinceramente, funciona.

Gracias por compartirlo.

Re: [RESUELTO] Instalación de Office 365

Publicado: 2 de marzo de 2020 - 11:49 a. m.
por Christophe0110
No fue nada ;)

Instalación de Office365

Publicado: 19 de agosto de 2020 - 10:12
por srvmac
Hola a todos,

Me comunico con usted porque necesito instalar Office 365 y seguí su consejo y utilicé el archivo setup.py que me proporcionó.

A pesar de esto, hay un error de instalación del paquete cuando inicio la instalación desde la consola Wapt o desde la PC cliente a través de la biblioteca wapt.

El error es: una operación falló. ¿Desea forzar la instalación/desinstalación? Sí o no, no importa.

El archivo setup.exe se ejecuta correctamente localmente y generé correctamente la carpeta de Office en el directorio raíz con el comando `setup.exe /download installOfficeBusRet64.xml`. Esto descargó todos los archivos de Microsoft y los coloqué en la carpeta del paquete waptdev/office365 en la raíz.

Mi archivo de configuración:

Código: Seleccionar todo

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

uninstallkey = []

def install():

    if not installed_softwares(u'O365BusinessRetail'):
        print('Microsoft Office 365 Business 2019 : Installing...')

        killalltasks(['WINWORD.EXE','POWERPNT.EXE','EXCEL.exe','MSPUB.EXE','MSACCESS.EXE','INFOPATH.EXE','lync.exe','ONENOTE.EXE','OUTLOOK.EXE','ONENOTEM.EXE','MSOSYNC.EXE','GROOVE.EXE'])

        run(u'setup.exe /configure installOfficeBusRet64.xml',timeout=2000,accept_returncodes=[1641,3010,0])

        print('Microsoft Office 365 Business 2019 : Installation complete')
    else:
        print('Microsoft Office 365 Business 2019 : Already installed !')

    if not isdir(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall')):
        mkdirs(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall'))
    filecopyto('setup.exe',makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe'))
    filecopyto('ConfigurationUninstall.xml',makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','ConfigurationUninstall.xml'))

def uninstall():

    print('Microsoft Office 365 Business 2019 : Uninstalling...')

    #Closing applications :
    killalltasks(['WINWORD.EXE','POWERPNT.EXE','EXCEL.exe','MSPUB.EXE','MSACCESS.EXE','INFOPATH.EXE','lync.exe','ONENOTE.EXE','OUTLOOK.EXE','ONENOTEM.EXE','MSOSYNC.EXE','GROOVE.EXE'])

    #Uninstalling :
    if installed_softwares(u'O365BusinessRetail'):
        if isfile(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe')):
            run('"' + makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe') + r'" /configure ConfigurationUninstall.xml',timeout=2000,accept_returncodes=[1641,3010,0])
            remove_file(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe'))
            remove_file(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','ConfigurationUninstall.xml'))
            if dir_is_empty(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall')):
                remove_tree(makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall'))

    print('Microsoft Office 365 Business 2019 : Uninstallation complete')

Gracias por su ayuda.

Seb

Re: [RESUELTO] Instalación de Office 365

Publicado: 5 de enero de 2021 - 9:55 a. m.
por Christophe0110
Hola Seb,

Recién ahora veo tu mensaje mientras navego por mis mensajes antiguos...
Perdón por el retraso de 6 meses...

¿Pudiste resolver tu problema?

Cuando dices:
El archivo setup.exe se ejecuta correctamente localmente y generé correctamente la carpeta de Office en el directorio raíz con el comando `setup.exe /download installOfficeBusRet64.xml`. Esto descargó todos los archivos de Microsoft y los coloqué en la carpeta del paquete waptdev/office365 en la raíz.
Tenga en cuenta que estos archivos deben colocarse en una carpeta "Office" ubicada en el directorio del paquete (no los archivos directamente en la raíz del paquete).
Y deja el archivo setup.exe al lado de la carpeta "Office"...

A+
Cristóbal.