Ma société développe une application qui utilise le SDK vidéo BOSCH. J'ai inclus les fichiers DLL requis dans mon projet d'installation, et je crois qu'ils sont enregistrés lorsque mon projet est installé, mais je reçois l'erreur "Classe non enregistrée" au moment de l'exécution ..Erreur de projet d'installation VS2015 80040154 Classe non enregistrée
Je suspecte mes problèmes viennent du fait que cette application est compilée en x64 et utilise les DLL 64 bits du BOSCH Video SDK. C'est intentionnel et nous voulons absolument que cela soit installé et exécuté en mode 64 bits.
Le message d'erreur exact est « retreiving l'usine de classe COM pour le composant avec CLSID {D12FF18F-AFC2-4E6E-9FEB-8FC4B57FFC93} a échoué en raison de l'erreur suivante: 80040154 Classe non enregistrée (Exception de HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)) ".
Dans mon projet d'installation toutes les dépendances sont marqués comme registre: vsdraCOM.
Les deux mon projet d'installation et le projet d'application lui-même ont leur objectif fixé comme « x64 ».
Dans mon projet d'installation j'ai également mis en œuvre la solution trouvée here qui décrit en détail à l'aide du script Fix64bitInstallUtilLib.js et le InstallUtilLib.dll 64 bits pour installer correctement un projet 64 bits sans courir dans le problème BadImageFormatException. Mon projet s'installe et se lance sans aucun problème mais quand il atteint la première ligne qui utilise le BOSCH Video SDK, j'obtiens l'erreur "Classe non enregistrée".
J'ai également essayé d'enregistrer manuellement les fichiers DLL en utilisant à la fois les versions 32 bits et 64 bits de regsvr32.exe, mais chaque fois que je reçois une erreur de lecture "DllRegisterServer point d'entrée" n'a pas été trouvé.
Je ne suis pas sûr de ce que ce qu'il reste à essayer. J'ai l'impression qu'il y a une pièce critique à ce puzzle qui me manque. S'il vous plaît laissez-moi savoir si des informations supplémentaires sont nécessaires. Notre objectif final est ici de pouvoir déployer notre fichier setup.msi sur une nouvelle machine client sans avoir à installer manuellement le SDK vidéo BOSCH. Je pensais que ce serait aussi facile que d'inclure les fichiers DLL requis et le réglage de Registre: vsdraCOM mais je suppose que ce n'est pas si simple.
Il semble que cette classe soit la classe DeviceConnector du SDK Vidéo, et ne fasse donc pas partie de votre code ou de votre enregistrement. Je suppose que vous devez installer n'importe quel environnement d'exécution fourni par SDK pour prendre en charge son utilisation. Il est peu probable que vous ayez besoin de distribuer toutes ces DLL et fichiers de support dans votre configuration. – PhilDW
C'est drôle, vous devriez le mentionner. Je découvre seulement maintenant le fichier d'aide fourni avec le SDK (allez figure) et il y a une section sur le paquet redistribuable de SDK visuel. Je vais jouer avec et faire un rapport avec mes conclusions. – Ian