Erreur se produit lorsque vous déboguer un composant COM + dans l'IDE de Visual Basic avec un client ASP

Traductions disponibles Traductions disponibles
Numéro d'article: 259725 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous déboguez un Microsoft COM + 1.0 composant dans Visual Basic 6.0 sur un ordinateur Windows 2000, le message d'erreur suivants peut-être apparaître dans le navigateur lorsque le client est une page ASP (Active Server Pages) :
Objet serveur, ASP 0178 (0x800A0005) l'appel à Server.CreateObject a échoué lors de la vérification des autorisations. L'accès est refusé à cet objet.
Lorsque vous déboguez un Microsoft COM + version 1.5 composant dans Visual Basic 6.0 sur un ordinateur Windows XP, le message d'erreur suivants peut-être apparaître dans le navigateur lorsque le client est une page ASP (Active Server Pages) :
Objet serveur, ASP 0178 (0x800A0005) l'appel à Server.CreateObject a échoué lors de la vérification des autorisations. L'accès est refusé à cet objet.
Ce problème se produit uniquement lorsque vous exécutez le composant COM + à partir de dans l'environnement de développement intégré Visual Basic (IDE). L'erreur ne se produit pas lorsque vous exécutez le composant COM + dans un état compilé dans une application COM +.

Cause

<machinename>L'authentification utilisateur, généralement le compte IUSR_ <nom_machine> compte si vous utilisez l'accès anonyme, ne dispose pas les autorisations appropriées accéder au DCOM Server (VB6.exe dans ce cas). Lorsque vous déboguez composants COM + dans l'IDE de Visual Basic, l'utilisateur exécutant est l'utilisateur interactif ; l'utilisateur qui accède le serveur DCOM est l'authentification utilisateur.

Puisqu'il n'existe aucune entrée DCOM pour VB6.exe, DCOM utilise les autorisations par défaut. Dans Windows 2000 et Windows XP, les autorisations d'accès par défaut DCOM sont seulement accordées au compte de système et l'utilisateur exécutant par défaut. Parce que l'utilisateur exécutant et l'utilisateur l'accès à la serveur DCOM ne sont pas identiques, le message d'erreur indiqué dans les « symptômes » se produit section.

Résolution

Il existe deux solutions de contournement proposées :

Solution de contournement 1

Ajouter une entrée DCOM pour VB6.exe dans le Registre. Cela permet de définir des autorisations DCOM spécifiques pour COM+ Component débogage dans Visual Basic.
  1. Créer l'entrée pour un débogage de ASP Visual Basic dans DCOM :
    1. Démarrez le Bloc-notes ou un autre éditeur de texte et tapez la syntaxe de la casse suivante :
      REGEDIT4
      [HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}]
      @="VB ASP Debugging"
      [HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}\LocalServer32]
      @="vb6.exe"
      [HKEY_CLASSES_ROOT\AppID\vb6.exe]
      "AppId"="{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}"
    2. Enregistrez le fichier en tant que Vbaspdbg.reg.
    3. Recherchez le dossier dans lequel vous avez enregistré le fichier Vbaspdbg.reg et double-cliquez sur le fichier (il enregistre automatiquement dans le Windows Registre).
  2. Ajoutez le compte tout le monde pour les autorisations DCOM pour Visual Basic ASP de débogage.

    Windows 2000
    1. Démarrez DCOMCNFG. Dans le menu Démarrer , cliquez sur Exécuter et tapez dcomcnfg dans la boîte de dialogue.
    2. Sur la page Propriétés de configuration COM distribué , cliquez sur l'onglet Applications , sélectionnez le débogage de ASP Visual Basic dans la liste et puis cliquez sur Propriétés .
    3. Dans la feuille de propriétés Visual Basic ASP débogage propriétés , cliquez sur l'onglet résistance , puis cliquez sur Activez la case à cocher utiliser personnalisé autorisations d'accès . Cliquez sur Modifier .
    4. Dans la fenêtre autorisations de valeur de Registre , cliquez sur Ajouter , puis ajouter le compte tout le monde pour Autoriser l'accès .
    5. Cliquez sur OK , puis cliquez sur Appliquer pour appliquer les modifications et quitter la page de propriétés de configuration de COM distribué .
    6. Redémarrez l'ordinateur pour que les modifications prennent effet.
    Windows XP

    1. Démarrez l'Explorateur COM +. Dans le menu Démarrer , cliquez sur Outils d'administration , puis cliquez sur Services de composants .
    2. Cliquez pour développer des Services de composants , cliquez pour développer des ordinateurs , cliquez pour développer le Poste de travail et puis cliquez pour développer de configuration DCOM .
    3. Cliquez avec le bouton droit sur le débogage de Visual Basic ASP , puis cliquez sur Propriétés .
    4. Sous l'onglet résistance , sous autorisations d'accès , sélectionnez Personnaliser , puis cliquez sur Modifier .
    5. Dans la fenêtre autorisation d'accès , cliquez sur Ajouter , puis ajoutez l'option Tout le monde compte pour autoriser l'accès .
    6. Cliquez sur OK , cliquez sur Appliquer et puis cliquez sur OK pour appliquer les modifications et quitter la page de propriétés de configuration DCOM.
    7. Redémarrez l'ordinateur pour que les modifications prennent effet.

Solution de contournement 2

  1. Pour à des fins de débogage, configurer l'application la protection de répertoire virtuel où la page ASP réside à « élevée (isolée). » Cela force la page ASP pour s'exécuter dans son propre processus, qui permet à la sécurité à être modifiée sans affecter le reste du site Web.
    1. Démarrez le Gestionnaire des services Internet.
    2. Cliquez avec le bouton droit sur le répertoire virtuel où réside la page ASP, puis cliquez sur Propriétés .
    3. Cliquez sur l'onglet Répertoire virtuel et sélectionnez élevé (isolé) dans la liste déroulante $ $ $ protection d'application .
    4. Cliquez sur Appliquer .
  2. Désactiver l'accès anonyme pour ce répertoire virtuel et vérifiez l'authentification Windows intégrée ou l'authentification de base est sélectionné :
    1. Dans la boîte de dialogue Propriétés pour le répertoire virtuel, cliquez sur l'onglet Sécurité de répertoire .
    2. Cliquez sur Modifier pour contrôle l'accès anonyme et l'authentification.
    3. Assurez-vous que la case à cocher Accès anonyme est désactivée.
    4. Cliquez sur l'authentification Windows intégrée ou l'authentification de base .
  3. Si l'authentification Windows intégrée est utilisée, puis exécuter le navigateur client pour accéder à la page ASP sous le même compte d'utilisateur que la session de débogage Visual Basic IDE. Si l'authentification de base est utilisée, entrez le nom d'utilisateur et le mot de passe pour le même compte d'utilisateur qui la session de débogage Visual Basic IDE s'exécute sous.

    note La deuxième solution de contournement suppose que le COM « par défaut les autorisations Accès » n'a pas été modifié. Si le « par défaut Access autorisations » n'a été modifiées, COM génère une liste de contrôle d'accès (ACL) qui accorde l'autorisation du compte système et Server Identity. Dans ce scénario, l'identité du serveur est l'utilisateur connecté dans l'exécution de la session de débogage IDE Visual Basic. Si le DCOM « par défaut les autorisations accès » a été modifié, puis la deuxième solution nécessite que le compte d'utilisateur que l'IDE de Visual Basic débogage session s'exécute sous Ajouter à « par défaut les autorisations Accès ». Il est possible à l'aide de DCOMCNFG. Pour plus d'informations, consultez « sécurité COM » lien dans la section « Plus d'informations ».

Statut

Ce comportement est voulu par la conception même du produit.

Plus d'informations

Ce problème ne se produit pas dans Microsoft Windows NT 4.0 et IIS 4.0. Pour plus d'informations concernant l'erreur ASP 0178 sur un ordinateur Windows NT 4.0, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
198432 MODÈLE : serveur objet erreur COM instanciation 'ASP 0178' objet
Pour plus d'informations sur la sécurité COM, reportez-vous au site de Web MSDN (Microsoft Developer Network) suivant :
http://msdn2.microsoft.com/en-us/library/ms686599.aspx

Propriétés

Numéro d'article: 259725 - Dernière mise à jour: mercredi 8 décembre 2004 - Version: 4.4
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Active Server Pages 4.0 sur le système suivant
    • the operating system: Microsoft Windows 2000
    • Microsoft Windows XP Professional
  • Microsoft Visual Basic Enterprise Edition for Windows 6.0
Mots-clés : 
kbmt kbbug kbcomplus kbdebug kbprb kbvbp600 KB259725 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 259725
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com