J’ai rencontré un souci lors de la mise en œuvre du scénario de mise à niveau (Upgrade) de Windows 7 vers Windows 10 chez un de mes clients. Le processus utilise System Center Configuration Manager pour exécuter la mise à niveau. La séquence s’exécute et lance le Setup.exe puis échoue avec l’erreur suivante :
Process completed with exit code 2147943714
Windows Setup completed with exit code hexadecimal 0x80070522 (decimal 2147943714)
Saving exit code of Windows upgrade - hexadecimal 0x80070522 (decimal 2147943714) - to Task sequence environment variable '_SMSTSOSUpgradeActionReturnCode', as decimal string
Windows Setup failed with hexadecimal exit code 0x80070522 (decimal 2147943714). To identify the type of issue, lookup it against the table of known values of Windows Setup errors online.
Failing this task sequence step OSDUpgradeWindows
En regardant sur Internet et notamment l’article de référence chez Microsoft, L’erreur est associée au fait que l’utilisateur qui lance l’opération n’a pas les droits d’administrateur local. En l’occurrence l’opération étant lancé par le client SCCM lui-même exécuté avec le compte SYSTEM, ce n’était pas un problème de droits.
Cette erreur fait aussi référence à la description : A required privilege is not held by the client. Ceci correspond toujours à un problème de droits.
J’avais pris soin de désinstaller l’antivirus présent McAfee et les modules associés mais en réalité le client ne m’avait pas informé qu’une autre solution de sécurisation était présente localement. Un petit agent appelé StormShield bloque certaines opérations. Il suffit donc de le désinstaller pour passer cette erreur.
D’une manière générale, l’erreur 0x80070522 est levée par des solutions de sécurisation (Antivirus, Protection, etc.). Il faut donc bien veiller à les désinstaller avant de continuer le processus !
Notez que le processus (Setup.exe) bloque la mise à niveau en renvoyant un code d’erreur (0xC1900101 - 0x20004) spécifique pour certaines solutions antivirales (Symantec, McAfee, etc.).