Comment corriger l’erreur OLE 8004013F sous Linux



Si vous essayez d’exécuter n’importe quel type de base de données ou de macro dans un environnement Windows sur n’importe quel type d’implémentation GNU/Linux, vous pourriez rencontrer un message d’erreur.
À un moment donné au cours du déroulement du programme, vous pouvez enfin voir une boîte d’erreur OLE 8004013F. Ensuite, votre script cessera immédiatement de s’exécuter. Si cela devait se produire, il est plus que probable qu’il vous manquait une bibliothèque dont votre script a besoin pour s’exécuter. Sur un client Windows natif, ces bibliothèques sont utilisées pour faire correspondre les objets des fichiers à leur hôte principal. Linux n’a pas cette capacité, car chaque programme qui s’exécute sur un serveur X gère les choses à sa manière.



Dans un environnement Microsoft Windows natif, Delphi peut utiliser un petit morceau de code pour ouvrir Excel.
Si vous vouliez qu’une instance d’Excel incorporée et liée fonctionne avec différents objets, vous auriez pu utiliser eclApp : = CreateOleObject ($ 0027Excel.Application $ 0027) ; pour le faire. Sous Linux, vous avez peut-être même essayé d’utiliser OpenOffice de cette manière. Si vous constatez que Delphi vous renvoie l’erreur redoutée 8004013F après avoir essayé de créer un objet OLE avec une instance du fragment eclApp : = CreateOleObject ($ 0027com.sun.star.ServiceManager $ 0027) ; , alors vous souffrez probablement du même problème de dépendance. Tout d’abord, vérifiez votre code pour toute faute d’orthographe. Ce sont les causes les plus courantes d’erreurs avant même que les dépendances ne soient impliquées.


Bibliothèques OLE requises


Vous pouvez également rencontrer la même erreur si vous essayez d’utiliser une application d’organisation Windows appelée keynote-nf, et si tel est le cas, vous pouvez utiliser le même processus pour y remédier.
Le fichier keynote.exe n’est pas fourni avec un programme d’installation, il est donc courant de le copier dans le répertoire Program Files. Bien que cela puisse fonctionner, vous pouvez rencontrer l’erreur mentionnée 8004013F ou une exception différente 80004001. Dans les deux cas, créez un répertoire dans Program Files avec la commande mkdir ou avec votre gestionnaire de fichiers graphiques. Nommez-le KeyNote-NF et déplacez-y le binaire keynote.exe.


Si vous avez accès à une partition Windows XP, Vista, 7, 8, 8.1 ou 10, vous pouvez essayer de copier le fichier msftedit.dll du répertoire C: Windowssystem32 vers le répertoire KeyNote-NF que vous avez créé.
Vous devez également copier le fichier msls31.dll. Vous pouvez également acheter les deux à partir d’un CD d’installation, mais vous devrez utiliser la commande expand pour les gonfler. Dans tous les cas, lancez le programme et vous verrez qu’il fonctionne bien.


Thunar, Nautilus et d’autres gestionnaires de fichiers similaires identifieront keynote.exe comme un exécutable DOS, qui peut être ignoré en toute sécurité.
Exécutez-le comme vous le faisiez auparavant. En cliquant avec le bouton droit pour accéder à un menu contextuel, vous pouvez obtenir une option qui vous encourage à l’exécuter dans Wine. Sélectionnez cette option pour le démarrer. L’exécution du programme à partir du terminal vous permettra de voir tous les messages d’erreur pouvant survenir au cours du processus. Dans certains cas, vous pouvez recevoir un avertissement concernant un nom de fichier différent de msftedit.dll ou msls31.dll, que vous devez acheter à la place. Comme dans un repaire de dépendances Unix, vous pourriez théoriquement passer un certain temps à acquérir un répertoire rempli de différents fichiers.



Lorsque vous rencontrez le même problème avec votre code Excel ou Delphi, accédez au répertoire qui contient l’exécutable que vous essayez d’exécuter et placez les deux fichiers de bibliothèque liés dynamiquement dans ce répertoire.
Vous pouvez donner à Wine un accès complet à ces fichiers en les plaçant également dans ~ / .wine / drive_c / Windows / system32, mais cela pourrait écraser certains des fichiers que Wine installe par défaut.


Étant donné que ces DLL sont supérieures à certains égards aux solutions open source utilisées par Wine, elles peuvent également aider à lier des objets dans d’autres programmes que vous pouvez exécuter, mais de nombreux utilisateurs n’aiment pas l’idée de contaminer leur installation Linux avec des fichiers de code fermé. .
Les mettre uniquement dans les répertoires que vos programmes utilisent réellement est le meilleur moyen de résoudre ce problème. Vous pouvez même créer des répertoires pour les accessoires Windows réels que vous avez copiés à partir d’une autre partition. Par exemple, certains utilisateurs rencontrent ce type de problèmes s’ils utilisent un script bash ou du code Delphi pour démarrer des instances traditionnelles de WordPad. Wine a peut-être installé sa propre version de write.exe, mais rien ne l’empêche de créer un répertoire dans «~/.wine/drive_c/Program Files/» et de placer write.exe, msftedit. dll et msls31.dll dedans, puis référez-vous à ce répertoire avec votre code. Étant donné que Wine inclut une version primitive de l’interpréteur Microsoft Windows NT cmd, vous pouvez également faire référence à ces programmes dans des fichiers de script batch si vous préférez. Assurez-vous de les faire précéder de @ECHO OFF, sinon chaque commande apparaîtra comme si vous l’aviez tapée sur une ligne de commande, puis appuyez sur Entrée pour l’exécuter l’une après l’autre.


De nombreux sites Internet proposent des objets DLL à télécharger, et il peut être tentant d’opter pour l’un de ces référentiels si vous n’avez pas d’installation de Windows sur une autre partition.
Bien qu’ils puissent certainement être pratiques, assurez-vous d’exécuter une analyse des logiciels malveillants sur msftedit.dll et msls31.dll si vous êtes obligé de les acquérir de cette façon. Vous ne devriez pas traiter ces référentiels de la même manière que vous traitez les projets officiels Ubuntu, Debian et Fedora.



Notez également que si vous êtes obligé de les acheter de cette manière, cela peut entraîner des problèmes de licence si vous redistribuez votre code.
De plus, n’installez aucun exécutable demandé par l’un de ces référentiels, car ces exécutables sont généralement une forme de logiciel publicitaire conçu pour influencer les utilisateurs des environnements logiciels Microsoft Windows officiels. La même chose est vraie dans tous les cas où il vous a été demandé de télécharger un certain nombre de bibliothèques différentes en dehors de ces deux, car elles peuvent être la proie du même type d’invasion de logiciels publicitaires.


Deja un comentario