Erreur 0x800f0922 lors de l’installation d’IIS sur Windows 10: “Les modifications n’ont pas pu être effectuées.”

Sur une nouvelle installation de Windows 10 Enterprise version 1703, j’ai essayé d’activer la fonctionnalité IIS, les options par défaut sélectionnées via “Activer ou désactiver des fonctionnalités Windows”, mais ont rencontré l’erreur indiquée ci-dessous:

Erreur de fonctionnalités Windows

J’ai ensuite essayé d’installer la fonctionnalité à l’aide de DISM. J’ai ouvert une invite de commande admin et entré:

Dism /Online /Enable-Feature /FeatureName:IIS-DefaultDocument /All 

Cela devrait être identique à l’installation de l’ensemble de fonctionnalités par défaut pour IIS. Cela a également échoué avec le même code d’erreur 0x800f0922.

Enfin, j’ai essayé de sélectionner des éléments IIS un par un dans le menu “Activer et désactiver les fonctionnalités Windows”. Cela a fonctionné jusqu’à ce que j’essaye d’installer “les erreurs de HTTP”, qui ont produit la fenêtre au-dessus encore.

Exécuter cette commande:

 Dism /Online /Enable-Feature /FeatureName:IIS-HttpErrors /All 

a entraîné la même erreur.

Comment puis-je réparer cela?

J’ai consulté le fichier journal de DISM situé dans C:\Windows\Logs\DISM\dism.log et C:\Windows\Logs\DISM\dism.log trouvé l’ensemble de lignes suivant pour l’erreur:

 2017-10-09 13:43:28, Error DISM DISM Package Manager: PID=4280 TID=14940 Failed finalizing changes. - CDISMPackageManager::Internal_Finalize(hr:0x800f0922) 2017-10-09 13:43:28, Error DISM DISM Package Manager: PID=4280 TID=14940 Failed processing package changes with session options - CDISMPackageManager::ProcessChangesWithOptions(hr:0x800f0922) 2017-10-09 13:43:28, Error DISM DISM Package Manager: PID=4280 TID=14940 Failed ProcessChanges. - CPackageManagerCLIHandler::Private_ProcessFeatureChange(hr:0x800f0922) 2017-10-09 13:43:28, Error DISM DISM Package Manager: PID=4280 TID=14940 Failed while processing command enable-feature. - CPackageManagerCLIHandler::ExecuteCmdLine(hr:0x800f0922) 2017-10-09 13:43:28, Info DISM DISM Package Manager: PID=4280 TID=14940 Further logs for online package and feature related operations can be found at %WINDIR%\logs\CBS\cbs.log - CPackageManagerCLIHandler::ExecuteCmdLine 2017-10-09 13:43:28, Error DISM DISM.EXE: DISM Package Manager processed the command line but failed. HRESULT=800F0922 

Suite à la recommandation, j’ai vérifié le journal CBS situé dans C:\Windows\Logs\CBS\CBS.log et trouvé la ligne suivante avec le même horodatage:

 2017-10-09 13:43:28, Error CSI 00000096 (F) STATUS_OBJECT_PATH_NOT_FOUND #5294871# from Windows::Rtl::SystemImplementation::DirectFileSystemProvider::SysCreateFile(flags = (AllowSharingViolation|AllowAccessDenied), handle = {provider=NULL, handle=0, name= ("null")}, da = (FILE_GENERIC_READ|DELETE|WRITE_DAC|WRITE_OWNER|FILE_WRITE_ATTRIBUTES|FILE_WRITE_EA|FILE_APPEND_DATA|FILE_WRITE_DATA|0x00000040), oa = @0x92431fdd18->OBJECT_ATTRIBUTES {s:48; rd:NULL; on:[38]'\??\C:\inetpub\custerr\en-US\401-1.htm'; a:(OBJ_CASE_INSENSITIVE)}, iosb = @0x92431fdd78, as = (null), fa = (FILE_ATTRIBUTE_NORMAL), sa = (FILE_SHARE_READ|FILE_SHARE_WRITE), cd = 5, co = (FILE_NON_DIRECTORY_FILE|FILE_SYNCHRONOUS_IO_NONALERT|0x00004000), eab = NULL, eal = 0, disp = Invalid) 

J’ai pu déterminer qu’il cherchait le chemin C:\inetpub\custerr\en-US\401-1.htm et ne pouvait pas le trouver. Bien sûr, cette voie n’existait pas du tout.

Tout d’abord, j’ai essayé de tester les permissions en donnant à l’object utilisateur Tout le monde un contrôle total sur inetpub. Je sais, pas idéal, mais ça valait le coup de le tester. J’ai à nouveau exécuté cette commande DISM pour append des HttpErrors, mais j’ai toujours échoué. Enfin, je viens de créer les répertoires custerr et en-US , ainsi qu’un fichier texte vierge appelé 401-1.htm , et j’ai essayé DISM une dernière fois. Le dossier instantanément rempli avec le rest des pages d’erreur HTTP et l’installation terminée.

J’espère que cela aide quelqu’un.

Désactiver McAfee a résolu le problème pour moi.