Le point d'entrée de procédure _except_handler4_common n'a pas pu être localisé dans la bibliothèque de liens dynamiques msvcrt.dll
Je suis à l'aide de "Microsoft Visual Studio" de travailler avec une "application MFC".
Je suis à l'aide de "Installshield" pour créer le fichier de configuration pour cette application.
Je reçois un "setup.exe" fichier.
Si j'exécute ce programme d'installation sur un "Windows XP (32 bits" de la machine, l'installation se termine correctement.
Pourtant, quand j'essaie de démarrer le programme installé, j'ai le message:
"The procedure entry point _except_handler4_common could not be located in the dynamic link library msvcrt.dll."
En mode debug, je ne peux pas trouver le moment où l'erreur se produit parce que quel que soit le point d'arrêt, j'ai mis dans le code, le message s'affiche avant d'atteindre le point d'arrêt, j'imagine qu'au début de l'exécution du programme...
Remarque: Cela fonctionne pour Vista 32 bits et Seven 64 bits.
Il semble beaucoup de gens ont le même problème, mais je ne pouvais pas trouver un solution pour moi.
Pouvez-vous aider?
Merci.
Il pourrait être mieux servi par de refactoring et de reconstruction, cependant, que la DLL avec qui exportait de la fonction se trouve sur un stock d'installation de Windows 8. Voir ma réponse ci-dessous pour plus de détails.
OriginalL'auteur Léa Massiot | 2013-02-07
Vous devez vous connecter pour publier un commentaire.
Bienvenue dans le monde de l'enfer des DLL et l'application d'une analyse de dépendance.
J'ai trouvé cette DLL sur mon Win8 machine dans le SYSWOW64 (32 bits System32 ) avec la version 7.0.9200.16384. La recherche à l'aide de Dependency Walker je peux le voir, en fait, les exportations de la fonction vous êtes à la recherche pour.
Je vois aussi sur mon InstallShield machine un module de fusion appelé MSVCRT.MSM qui redistribue version 6.00.8797.0 de ce fichier. Cependant quand je regarde à l'aide Dependency Walker, je vois qu'il a les fonctions exportées _except_handler2 et _except_handler_3 mais pas _except_handler_4_common.
Donc, par conséquent, vous avez besoin d'une DLL plus récente et que le module de fusion ne sera pas vous aider. Microsoft a utilisé pour avoir ce site web cool DLL appelée Base de données d'Aide qui vous a dit toutes les versions d'un fichier et ce qui les a expédiés, mais malheureusement, ils le tuaient.
BTW, je peux aussi voir que cette DLL est installé avec Windows ces jours-ci. Windows XP? Je ne suis pas sûr que j'aurais le feu jusqu'à une VM et de regarder.
Un couple résolutions possibles:
Savoir ce SP ou de Correctifs de Windows corrige cela et d'en faire une dépendance de votre MSI.
Saisir la DLL à partir d'un Win 8 machine et de l'ajouter à votre INSTALLDIR et de la déployer de manière privée.
Une note finale. Ceci est causée par la version de Windows XP est livré avec une vieille version de la DLL ( liées à l'Article dit qu'il fait ) ou d'une application tierce, buter la DLL à l'origine du problème. Certains plus d'étude est nécessaire ici.
Vous avez dit qu'il fonctionne sur Vista. Essayez plutôt que
Que voulez-vous dire? Certains de nos clients et prospects ont encore Win XP 32 bits machines. Nous avons besoin de l'application. pour travailler sur XP 32 bits en trop...
Je veux dire obtenir la DLL à partir d'une machine Vista et de l'essayer sur la machine XP comme indiqué dans ma réponse.
J'ai déjà essayé plusieurs dll, y compris les dll à partir de Vista, sans succès. Puis-je télécharger une dll à partir de mon compte Microsoft? Votre dll ne fonctionne que pour la version 64 bits de machines, n'est-ce pas?
OriginalL'auteur Christopher Painter
Je vous recommande d'abord d'essayer de l'installer le MSVC Redist version 2008. Que l'on ne figurent la mise en œuvre de la fonction manquant.
OriginalL'auteur Jantje.
Ce post est vieux mais je voulais quitter ma solution étant donné que ce problème a été l'enfer pour moi. Mon python application a été de travail pour Linux, 7, 8 et 10, mais WinXP refusé de travailler avec ce message.
J'ai été en utilisant py2exe pour obtenir un exécutable et il mettra de la Dll avec le fichier exe.
La suppression de certains dll à partir de l'exe du répertoire était la seule chose qui font que l'application fonctionne sous XP et continuer à travailler dans d'autres systèmes:
[ "POWRPROF.dll","IPHLPAPI.DLL","USP10.DLL", "DNSAPI.DLL" ]
Également la distribution "de Microsoft.VC90.CRT" répertoire avec le fichier exe, il est manifeste et les fichiers DLL.
J'espère que ce sera utile pour quelqu'un, car il m'a fallu des semaines pour comprendre.
(je sais que l'OP ne fonctionnait pas avec python, mais l'erreur est tout de même)
OriginalL'auteur macramole
Votre programme a une dépendance qui n'est pas satisfait sur Windows XP. Vous pouvez essayer en utilisant Dependency Walker pour l'identifier, ou vous pouvez vérifier les limitations connues. Par exemple, Visual Studio 2012 ne prend pas en charge Windows XP jusqu'à ce que la mise à jour 1 et une option de compilation changer, c'est que ce que vous utilisez?
OriginalL'auteur Michael Urman
Le problème est probablement parce que vous pouvez utilisé un corrompu version de DirectX sur votre Win XP. Il m'est arrivé aussi parce que j'ai téléchargé au hasard d'une installation de DirectX qui a été endommagé et a causé ces. La solution je n'ai fait est que j'ai supprimé tous les fichiers qui n'a rien à voir avec directX à partir de C:Windows/System32, a supprimé le directX à partir de ajout/suppression de programme et complètement supprimé l'ensemble de la clé de registre regedit.
Local_machine/software/microsoft/DirectX...
Ce que j'ai fait a été constaté valeurs d'origine et les clés pour DirectX 9 sur le net et faites une nouvelle clé de registre.Le dossier DirectX était une fois complètement à l'origine de retour sur regedit et il a montré dans dxdiag que directX est installé.
Dans le cas où vous rencontrez des plantages dans le jeu, je vous suggère de télécharger .NET Framework 3.5 Service Pack 1, puis faire une sauvegarde sur votre PC (Si vous n'êtes pas à l'aide de cartes graphiques nVIDIA, comme je le fais, j'utilise ATI Radeon) et de téléchargement nVIDIA PhysX system software pilote et voir si cela fonctionne. (Vous avez besoin de nVIDIA phydX pilotes pour faire fonctionner ce jeu sans se bloque uniquement si vous utilisez windows XP, le problème ne devrais pas rencontrer sur Win 7) Dans le cas où les pilotes à vis de votre PC (nVIDIA PhysX un), vous serez en mesure de restaurer votre ancien PC avant de les pilotes (Si vous faites une sauvegarde de votre PC, je vous conseille d'utiliser Acronis Boot pour les sauvegardes), cela signifie que vous êtes totalement hors de la chance si vous n'êtes pas en mesure d'obtenir la nVIDIA PhysX sur ur par exemple, Carte graphique ATI sous Windows XP, parce que sans nvidia physx, sur Win XP, Métro habitude de courir, alors que sur Win 7 /Vista /8 il se doit.
OriginalL'auteur PrototypeUK
Je viens d'installer la dernière VS2017 et en cours d'exécution dans la même situation. J'ai googlé tout, mais ne pouvais pas trouver toute solution, alors je me suis dit fuck it, et je définis moi-même maintenant:
OriginalL'auteur lama12345
J'ai passé les 8 dernières heures de cueillette de mon code d'intervalle, c'est exactement la même erreur et il s'est avéré être une ligne de code dans mon application, en particulier une case pour la prise en charge d'IPv6 dans les OS:
oui, c'est censé être une réponse à l'appel pour vérifier si la prise en charge d'ipv6 dans windows xp met cette erreur exacte. "Socket.OSSupportsIPv6" est un booléen dans le .net framework.
OriginalL'auteur Sean
Ce problème persiste pour chaque logiciel ou un jeu qui nécessite windows 7 ou 8 ou vista, mais est fait exécuter dans windows xp. Donc, si vous voulez reprendre ou démarrer votre programme, vous devez mettre à jour votre windows 7 ou 8 ou vista comme par le système aux exigences du programme.
ESPÉRONS QUE CELA A ÉTÉ UTILE
GRÂCE
OriginalL'auteur Naman Mathur