Page 1 sur 2

[RESOLU] Installation de Office365

Publié : 02 août 2019 - 09:32
par Minus
Bonjour à tous

Bon je me suis mis à WAPT il y a quelques semaines après avoir passé quelques années sur updatengine.

Cette migration ne s'est pas faite sans quelques douleurs, mais cela se passe bien pour le moment et je dois attaquer un gros morceau: le deploiement de Office365.

J'ai donc simplement utilisé l'outil de deploiement de windows pour télécharger la dernière version de Office365 puis:

Généré mon propre fichier xml (config-installation.xml) pour l'installation:

Code : Tout sélectionner

<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>
Puis créé un fichier bat pour le lancement de l'installation

Code : Tout sélectionner

@echo off
setup.exe /configure config-installation.xml
exit
idem pour la partie désinstallation dont voici le xml (config-uninstall.xml):

Code : Tout sélectionner

<Configuration>
<Display Level="None" AcceptEULA="True" />
<Property Name="FORCEAPPSHUTDOWN" Value="True" />
<Remove>
<Product ID="O365BusinessRetail">
</Product>
</Remove>
</Configuration>
et le fichier bat:

Code : Tout sélectionner

@echo off
setup.exe /configure config-uninstall.xml
exit
lancé séparement les 2 fichiers bat fonctionnent parfaitement et font ce que je leur demande

donc derrière pour wapt, j'ai créé le fichier setup.py suivant:

Code : Tout sélectionner

# -*- 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 partie installation fonctionne à merveille lors du redémarrage ou de l'arrêt de la machine, par contre la partie désinstallation ne fonctionne pas du tout.

Pour la desinstallatiion voila les infos que j'ai pu extraire de windows:

Code : Tout sélectionner

sofware name: Microsoft Office 365 Business - fr-fr
Uninstall key: O365BusinessRetail - fr-fr
version: 16.0.11727.20244
Il y a surement beaucoup plus simple et beaucoup plus propre à faire à tous les niveaux donc je suis preneur surtout en intégrant:

une installation qui se fasse sans obligation du redémarrage de la machine
une desinstallation qui fonctionne via la console WAPT

Merci par avance pour votre coup de main qui me permettra en même temps d'en apprendre plus sur WAPT

Serveur Debian 9.9
WAPT 1.5.1.26
Station création paquet sous W10

Re: Installation de Office365

Publié : 02 août 2019 - 14:13
par Christophe0110
Salut !

Alors je me suis attaqué à ce paquet pour Office 365 Business (2019) la semaine passée...
Donc je me permet de partager mon setup.py :

Code : Tout sélectionner

# -*- 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')


A la racine du paquet, j'ai placé le fichier "setup.exe" ainsi que le répertoire "Office" téléchargé grâce à la commande préalablement exécutée : setup.exe /download configuration.xml

Voici le contenu du fichier configuration.xml (mais c'est à toi de le configurer à ta guise) :

Code : Tout sélectionner

<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>
Et le contenu du fichier configurationUninstall.xml :

Code : Tout sélectionner

<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>
Comme tu pourras le comprendre via le code, je copie durant l'installation le fichier "setup.exe" ainsi que le fichier "ConfigurationUninstall.xml" dans un dossier créé sous "Microsoft Office".
Ensuite, je l'utilise pour la désinstallation...

Ca fonctionne parfaitement ;)

A+
Chris.

Re: Installation de Office365

Publié : 02 août 2019 - 15:16
par Minus
re

genial, un grand merci Christophe0110

bon la c'est vacances pour moi mais dés mon retour au boulot je ne manquerai pas de mettre à jour mon office.

Je te tiendrais au courant.

Re: Installation de Office365

Publié : 07 nov. 2019 - 17:26
par Ben
Bonjour,

Je suis également en pleine réflexion pour le déploiement d'O365. Je me suis basé sur le travail effectué par Christophe0110 (merci à lui au passage !) mais je rencontre un problème.
Pour l'installation, tout fonctionne parfaitement. Elle s'effectue correctement et tient compte du fichier XML de configuration.

Par contre, pour la désinstallation, ça coince : je rentre bien dans le script (les fichiers et le dossier "OfficeClickToRunWAPTUninstall" se supprime bien) ... mais O365 reste installé sur le poste. Côté console WAPT, le package n'est plus visible sur le poste, comme si tout s'était bien passé.

A priori, c'est la ligne suivante qui coince et ne lance pas l'installeur :

Code : Tout sélectionner

run('"' + makepath(programfiles32,'Microsoft Office','OfficeClickToRunWAPTUninstall','setup.exe') + r'" /configure ConfigurationUninstall.xml',timeout=2000,accept_returncodes=[1641,3010,0])
L'un de vous aurait une idée, je sèche ?

Merci !

Re: Installation de Office365

Publié : 13 nov. 2019 - 11:44
par Ben
J'ai résolu mon problème qui était tout bête : il fallait passer le chemin absolu vers le fichier XML pour la désinstallation (contrairement à ce qui était proposé dans le script au dessus).

Ci-dessous mon script complet :

Code : Tout sélectionner

# -*- 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: Installation de Office365

Publié : 14 nov. 2019 - 14:57
par Christophe0110
Bonjour Ben,

Etrange en effet car chez moi, ça fonctionne sans donner le chemin complet vers le fichier xml...

Mais si ça marche comme ça, je modifierai mon script par sécurité (on ne sait jamais que chez certain ça passe et chez d'autres pas...).

A+

Re: Installation de Office365

Publié : 24 févr. 2020 - 11:42
par Minus
Bonjour

Honte à moi j'ai oublié de faire un retour comme promis :oops: :oops:

Christophe0110 ca fonctionne parfaitement comme tel

J'ai fait quelques petits ajustements de rigueur et franchement ca fonctionne .

Merci pour ton partage.

Re: [RESOLU] Installation de Office365

Publié : 02 mars 2020 - 11:49
par Christophe0110
De rien ;)

Installation de Office365

Publié : 19 août 2020 - 10:12
par srvmac
Bonjour à tous,

Je vous contacte car je dois installer Office 365 et j'ai suivi vos conseils et utilisé le setup.py proposé.

Malgré cela, il y a une erreur d'installation du paquet lorsque je lance l'installation depuis la console Wapt ou depuis le pc client via la bibliothèque wapt.

L'erreur est : une opération a échouée, voulez vous forcer l'installation / désinstallation ? Oui ou non importe peu.

Le fichier setup.exe se lance bien en local et j'ai bien généré le dossier Office dans le répertoire à la racine à partir de la commande setup.exe /download installOfficeBusRet64.xml. Cela a téléchargé tous les fichiers depuis MS et j'ai tout mis à la racine dans le dossier du paquet waptdev/office365.

Mon fichier de conf :

Code : Tout sélectionner

# -*- 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')

Merci pour votre aide.

Seb

Re: [RESOLU] Installation de Office365

Publié : 05 janv. 2021 - 09:55
par Christophe0110
Bonjour Seb,

Je vois seulement ton message maintenant en parcourant mes anciens messages...
Désolé pour ces 6 mois de retard...

As-tu pu résoudre ton problème ?

Quand tu dis :
Le fichier setup.exe se lance bien en local et j'ai bien généré le dossier Office dans le répertoire à la racine à partir de la commande setup.exe /download installOfficeBusRet64.xml. Cela a téléchargé tous les fichiers depuis MS et j'ai tout mis à la racine dans le dossier du paquet waptdev/office365.
Attention qu'il faut placer ces fichiers dans un dossier "Office" placé dans le répertoire du paquet (pas les fichiers directement à la racine du paquet).
Et laisser le setup.exe à côté de ce dossier "Office"...

A+
Christophe.