'80040154 Classe non enregistrée" avec interop de ASP.NET
Je reçois le message d'erreur suivant sur un Windows XP Pro SP2 x64 machine sous IIS6:
System.Runtime.InteropServices.COMException:
Retrieving the COM class factory for component with CLSID
{3C250CBD-6CC9-11D2-9457-00004B48467E} failed due to the following error:
80040154 Class not registered (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Cela se produit lorsque vous essayez d'instancier un COM interop objet.
Curieusement, cela fonctionne très bien à partir d'une console application en cours d'exécution sous le même compte que l'application de la piscine (un utilisateur dans l'AD). I. e. les deux utilisent UserX, de sorte qu'il ne semble pas comme un évident problème d'autorisations.
Quelqu'un d'autre avait quelque chose de semblable?
quel est le nombre de bits de l'application de la piscine et quel est l'objectif de l'architecture du PROCESSEUR de la console de votre application?
OriginalL'auteur Lawrence Wagerfield | 2012-02-29
Vous devez vous connecter pour publier un commentaire.
Assurez-vous que votre pool d'applications est soit 32 bits (ou prend en charge 32 bits apps) ou votre COM de contrôle prend en charge 64 bits des applications. Très probablement, votre COM natif de la bibliothèque est de 32 bits et de votre piscine exécute une version 64 bits travailleur par défaut, qui est incapable de charge 32 bits dll COM.
OriginalL'auteur user1234883
si en cours d'exécution en vertu de l'IIS, est-il vraiment à l'aide de "UserX", ou est-ce à l'aide de "Guest", "ASP.NET", ou "IWAM_USER" ou similaires, d'autres compte. Aussi, si l'invoquer à partir de IIS, vous pourriez avoir besoin de vérifier les autorisations... et pas seulement au niveau du fichier, mais à la COM de la machine niveau de la configuration.
Dernière fois que j'ai eu à traiter avec cela, je ne
DÉMARRER -> EXÉCUTER -> DCOMCNFG
ou tout simplement apporter un maximum de services de composants.
Puis développez Services de Composants -> Ordinateurs -> Mon Ordinateur -> DCOM Config, puis faites défiler jusqu'à l'objet COM que vous essayez d'utiliser. Un clic droit sur elle et il y a plusieurs abs... Identité est celle qui sera lancé en tant que.. vous pouvez remplacer ce mettre un utilisateur spécifique pour "contourner" la supposée "par défaut". Pour le TEST, je voudrais mettre en place avec une manière moins restrictive compte (utilisateur de puissance, pas nécessairement un admin, mais essayez cette dernière), et voir si cela aide.
En outre, sur l'onglet Sécurité, il ya des options pour les qui peut Lancer/Activer et qui peut "Accès". vous pourriez avoir besoin pour vous assurer que votre compte est valide.
OriginalL'auteur DRapp