Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article fournit une solution à un problème où une application COM+ cesse de fonctionner dans Windows lorsqu’un utilisateur se déconnecte.
Numéro de la base de connaissances d’origine : 2287297
Symptômes
Sur un serveur Windows, vous disposez d’une application serveur COM+ dans laquelle l’identité est configurée pour s’exécuter en tant qu’utilisateur spécifique. Après avoir travaillé pendant un certain temps, l’application peut cesser de fonctionner et continuer à échouer. Vous devez redémarrer l’application COM+ pour résoudre le problème.
Vous pouvez voir une erreur semblable à ce qui suit dans le journal d’application sur l’ordinateur CLIENT. Si l’exécutable du client s’exécute sur le même ordinateur que l’application serveur COM+, cette erreur s’affiche sur le serveur COM+ :
Type d’événement : Erreur
Source d’événement : DCOM
Catégorie d’événement : Aucune
ID d’événement : 10006
Date : <DateTime>
Heure : <DateTime>
Utilisateur : Domaine\utilisateur
Ordinateur:*****
Description :
DCOM a reçu l’erreur « Erreur non spécifiée » à partir de l’ordinateur « nom_serveur » lors de la tentative d’activation du serveur : {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX}
Dans ce cas, le message d’événement vous indique que l’erreur (E_FAIL ou 80004005 ou erreur non spécifiée) est retournée à partir du serveur. Le CLSID du composant est répertorié dans l’entrée du journal des événements.
Vous verrez également les événements qui ressemblent à ce qui suit dans le journal des applications de l’ordinateur sur lequel l’application COM+ s’exécute :
Log Name: Application
Source : Service Profils utilisateur Microsoft-Windows
Date : <DateTime>
ID d’événement : 1530
Catégorie de tâche : None
Niveau : Avertissement
Mots clés : Classique
Utilisateur : SYSTÈME
Ordinateur : SERVERNAME
Description :
Windows a détecté que votre fichier de Registre est toujours utilisé par d’autres applications ou services. Le fichier sera déchargé maintenant. Les applications ou services qui contiennent votre fichier de Registre peuvent ne pas fonctionner correctement par la suite.DÉTAIL-
1 registre d’utilisateurs gère les fuites de \Registry\User\S-1-5-21-1049297961-3057247634-349289542-1004_Classes :
Le processus 2428 (\Device\HarddiskVolume1\Windows\System32\dllhost.exe) a ouvert la clé \REGISTRY\USER\S-1-5-21-1123456789-3057247634-349289542-1004_CLASSES
Vous pouvez voir l’appel pour créer une instance du composant retourne 0x800703fa.
Cause
L’identité de l’utilisateur associée à l’application COM+ est connectée lorsque l’application COM+ est initialisée pour la première fois. Si cet utilisateur devait se déconnecter de l’ordinateur, le profil de l’utilisateur est déchargé et l’application COM+ ne peut plus lire les clés de Registre dans le profil de l’identité de l’utilisateur. À compter de Windows Vista, le service profil utilisateur force le déchargement d’un profil utilisateur lorsque cet utilisateur se déconnecte. Il s’agit d’une situation où la fonctionnalité de forcer le déchargement du profil utilisateur peut interrompre une application si les handles de Registre ne sont pas fermés dans le processus. Cette nouvelle fonctionnalité de service de profil utilisateur est le comportement par défaut.
Résolution
Pour contourner ce problème, il peut être nécessaire de modifier le comportement par défaut du service profil utilisateur. Le paramètre de stratégie Ne déchargez pas avec force le registre des utilisateurs sur les compteurs de déconnexion utilisateur le comportement par défaut de Vista et de systèmes d’exploitation plus récents. Lorsqu’il est activé, le service profil utilisateur ne déchargera pas le Registre avec force, mais attend qu’aucun autre processus n’utilise le registre utilisateur avant de le décharger. La stratégie se trouve dans l’éditeur de stratégie de groupe (gpedit.msc). La stratégie de déconnexion de l’utilisateur n’est pas chargée de décharger avec force le registre des utilisateurs dans la stratégie de déconnexion de l’utilisateur sous Profils utilisateur du système>de modèles>d’administration de configuration>ordinateur.
Remplacez le paramètre non configuré par Activé , ce qui désactive la nouvelle fonctionnalité de service de profil utilisateur. DisableForceUnload est la valeur ajoutée au Registre.
Plus d’informations
Windows décharge toujours le registre des utilisateurs, même s’il existe des handles ouverts pour les clés de Registre par utilisateur lors de la déconnexion de l’utilisateur. À l’aide de ce paramètre de stratégie, un administrateur peut négation de ce comportement, empêchant Windows de décharger avec force le registre des utilisateurs lors de la déconnexion de l’utilisateur.
Note
Cette stratégie ne doit être utilisée que pour les cas où vous risquez d’être en cours d’exécution dans des problèmes de compatibilité d’application en raison de ce comportement Windows spécifique. Il n’est pas recommandé d’activer cette stratégie par défaut, car elle peut empêcher les utilisateurs d’obtenir une version mise à jour de leur profil utilisateur itinérant.
Si vous activez ce paramètre de stratégie, Windows ne déchargera pas avec force le registre des utilisateurs lors de la déconnexion, mais déchargera le Registre lorsque tous les handles ouverts sur les clés de Registre par utilisateur sont fermées.
Si vous désactivez ou ne configurez pas ce paramètre de stratégie, Windows décharge toujours le registre des utilisateurs lors de la déconnexion, même s’il existe des handles ouverts sur les clés de Registre par utilisateur lors de la déconnexion de l’utilisateur.
Même si vous avez activé l’option Ne pas décharger avec force le registre d’utilisateurs dans le paramètre de stratégie de déconnexion utilisateur, l’avertissement d’ID d’événement 1530 peut être journalisé. L’avertissement est enregistré après la première tentative de déchargement de la ruche du Registre. Si cela échoue, la stratégie est vérifiée pour déterminer si la ruche du Registre doit être forcée de décharger, indépendamment des handles de Registre ouverts.