Problème
La reconfiguration d'une installation existante d'Office 365, et plus généralement des versions "Click 2 Run", se fait par le même mécanisme que celui utilisé lors de l'installation : l'application d'un fichier de configuration XML précisant les composants à installer ou désinstaller.
S'il n'y a qu'un seul composant pouvant varier d'un poste de travail à un autre (exemple : présence d'Access ou non), cela nécessite de gérer 2 fichiers de configuration d'installation.
Si d'autres composants sont à prendre en compte (exemple : Publisher, Lync, OneDrive, ...), le nombre de combinaison possibles devient très vite ingérable.
Il faut donc être en mesure de déterminer les composants présents sur le poste, afin de régénérer un fichier de configuration d'installation adapté au contexte spécifique du poste de travail ciblé.
Les éléments décrits ci-dessous permettent de réaliser ce type d'opération.
Détection de l’installation
La présence d'une version d'Office 365 se fait par la détection de l'installation du composant « Click 2 Run licensing » de cette version :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90160000-008F-0000-1000-0000000FF1CE}
-
Version
Pour une version Office 2016, le composant est détecté ainsi :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{90160000-007E-0000-1000-0000000FF1CE}
-
Version
Dans les 2 cas, la valeur « Version » comporte le numéro de version d'Office, sous forme hexadécimale, correspondant aux valeurs « Major », « Minor » et « Build » du numéro de version complet (Major.Minor.Build.Revision).
Pour Office 365, « Build » correspond au niveau de version fonctionnel.
Exemple : Version =0x100023a6 correspond à 16.0.9126, soit la version 1803.
Alternativement, la valeur suivante peut être utilisée pour détecter une installation d’Office 365 (elle est utilisée quand on crée une application Office365 depuis la console SCCM) :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
-
VersionToReport
Le numéro de version fourni est alors le numéro complet : Major.Minor.Build.Revision
Configuration de base
Les éléments principaux de la configuration sont donnés par les valeurs suivantes :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
- ProductReleaseIds
- AudienceData
- AudienceId
- Platform
- OfficeMgmtCOM
- CDNBaseURL
- UpdateChannel
- SharedComputerLicensing
ProductReleaseIds spécifie la liste des produits Office installés : Office proprement dit, mais aussi les produits annexes comme Visio et Project ; les valeurs correspondent au tag "Product ID" de la configuration XML, et sont séparées par des virgules.
Exemple : O365ProPlusRetail,VisioStdXVolume,ProjectProRetail
AudienceData indique le canal de mise à jour utilisé.
Exemples :
- Production::DC correspond au Canal Semi Annuel courant
- Production::DCEXT correspond aux Canaux Semi Annuel précédents ; apparue en juillet 2018 pour la version 1708 SA, en juillet 2019, cette valeur s'applique aux versions 1803 SA et 1808 SA
- Insiders::FRDC correspond au Canal Semi Annuel Ciblé
- Production::CC correspont au Canal Mensuel
AudienceId donne la même information que AudienceData, mais sous la forme d'un UID. L'UID est utilisé dans les URLs CDNBaseURL et UpdateChannel, sauf pour le Canal Semi Annuel précédent, qui utilise pour l'instant les URLs correspondant au Canal Semi Annuel courant.
Exemples :
- 7ffbc6bf-bc32-4f92-8982-f9dd17fd3114 : Canal Semi Annuel courant
- 89815e81-c82e-49a3-99dc-2b99229cf632 : Canal Semi Annuel précédent
- b8f9b850-328d-4355-9145-c59439a0c4cf : Canal Semi Annuel Ciblé
- 492350f6-3a01-4f97-b9c0-c7c6ddf67d60 : Canal Mensuel
Platform indique la variante des binaires installée.
- x86 = 32 bits
- x64 = 64 bits
OfficeMgmtCOM indique si la gestion des mises à jour est opérée par SCCM ou non.
- True = mises à jour depuis SCCM
- False ou absent = mécanisme de mise à jour standard
Dans les logs SCCM, un fichier spécifique « AlternateHandler.log » permet de vérifier ce qui se passe lors des opérations de mise à jour.
CDNBaseURL indique l'URL de téléchargement des sources de la version installée
UpdateChannelindique l'URL de téléchargement des mises à jour
Exemples:
-
Canal Semi Annuel Ciblé
-
Canal Semi Annuel (courant et précédent)
SharedComputerLicensing indique si l'installation prend en compte la connexion d'utilisateurs multiples sur la machine, avec chacun sa propre license.
- 1 = partage actif
- 0 ou absent = la licence est celle du premier utilisateur à se connecter et à utiliser Office
Autres éléments de configuration
Il peut y avoir, dans le cas des produits permettant la sélection de composants à exclure de l'installation, une entrée supplémentaire, sous la forme <Product ID>.ExcludedApps ; les valeurs correspondent au tag "ExcludeApp ID" de la configuration XML, et sont séparées par des virgules.
Exemple :
- O365ProPlusRetail.ExcludedApps = access,onedrive
Indique que la version d'Office installée ne comporte ni Access, ni OneDrive
Langues installées
La détection des langues installées est un peu plus complexe, différant potentiellement entre Office proprement dit et les produits complémentaires.
Il faut distinguer la langue utilisée lors de l'installation des autres langues disponibles, sous la forme complète ou sous forme de packs grammaire-orthographe.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration
- ClientCulture
ClientCulture indique la langue primaire d'installation.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\ProductReleaseIDs
-
ActiveConfiguration
ActiveConfiguration indique la sous-clef de registre à lire pour obtenir la liste des langues prises en compte par Office.
Exemple :
- ActiveConfiguration = EBE10E31-ABBD-42F3-8CE5-BBA385BCC9AA
Les langues installées sont indiquées par la présence d'une série de clef de registre, sous la forme :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\ProductReleaseIDs\<ActiveConfiguration>\culture\xx-xx.16
Pour chaque langue installée, une clef xx-xx.16 est présente, xx-xx correspondant au tag "Language ID" de la configuration XML.
Exemple :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\ProductReleaseIDs\EBE10E31-ABBD-42F3-8CE5-BBA385BCC9AA\culture\fr-fr.16
Pour les produits complémentaires, les clefs à prendre en considération sont :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\ProductReleaseIDs\<ActiveConfiguration>\<ProductID>.16\xx-xx.16
Exemple :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\ProductReleaseIDs\EBE10E31-ABBD-42F3-8CE5-BBA385BCC9AA\VisioProRetail\fr-fr.16