Je tente d'instancier un objet Windows Media Player COM sur ma machine:instanciation composant COM en C# - Erreur 80070002
Guid mediaPlayerClassId = new Guid("47ac3c2f-7033-4d47-ae81-9c94e566c4cc");
Type mediaPlayerType = Type.GetTypeFromCLSID(mediaPlayerClassId);
Activator.CreateInstance(mediaPlayerType); // <-- this line throws
Lors de l'exécution de cette dernière ligne, je reçois l'erreur suivante:
System.IO.FileNotFoundException was caught
Message="Retrieving the COM class factory for component with CLSID {47AC3C2F-7033-4D47-AE81-9C94E566C4CC} failed due to the following error: 80070002."
Source="mscorlib"
StackTrace:
at System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandle& ctor, Boolean& bNeedSecurityCheck)
at System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean fillCache)
at System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache)
at System.Activator.CreateInstance(Type type, Boolean nonPublic)
at System.Activator.CreateInstance(Type type)
at MyStuff.PreviewFile(String filePath) in F:\Trunk\PreviewHandlerHosting\PreviewHandlerHost.cs:line 60
InnerException:
Ce même code fonctionne sur d'autres machines de développement et machines d'utilisateur final. Pour une raison quelconque, il échoue seulement sur ma machine. Quelle pourrait-être la cause?
Je souhaite que vous posté quel était le problème, pour aider les autres qui arrivent ici plus tard .... – overslacked
Le problème se sont révélées être quelque chose de vraiment spécifique à notre entreprise. Fondamentalement, notre logiciel a installé un gestionnaire d'aperçu Windows Media qui a été désinstallé plus tard, mais a laissé quelques clés de registre en place. Ce gestionnaire de prévisualisation a disparu - d'où l'erreur Fichier non trouvé - mais certaines clés de registre ont été laissées, provoquant ce problème. –
Merci beaucoup pour la mise à jour! J'ai été de haut en bas un serveur que nous avons la même erreur sur ... Je vais prendre tous les détails, peu importe comment abstraits ou inutiles ils sont. – overslacked