2009-08-05 4 views
0

mon application mfc créée dans Visual Studio 5 s'exécutant sur windows server 2000 sp4, je crée une version pour elle et essaie de l'exécuter win xp slp2. il me donne l'application n'a pas pu initialiser correctement (0xc0150002)l'application n'a pas réussi à s'initialiser correctement (0xc0150002)

j'ai essayé des choses suivantes -Installez Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) celui qui vient dans le dossier de presse ainsi qu'un téléchargeable sur le site copié tous dll et mainfest de microsoft visuel sutdio \ vc \ redist

Je reçois toujours le même message. c

ce qui pourrait être mal comment puis-je corriger

+0

http://stackoverflow.com/a/10084733/279982 – atoMerz

Répondre

0

certaines choses à vérifier:

  • vérifier l'option/éditeur de liens SUBSYSTEM à votre projet. Cela peut inclure des numéros de versions majeures/mineures du système d'exploitation. Assurez-vous que vous utilisez Windows XP PlatformSDK approprié sur la machine DEV; vérifier les valeurs de WINVER, _WIN32_WINNT
  • utilisation dépend pour voir si le problème est dans les dépendances non résolues
  • vérifier la version d'exécution que votre application nécessite avec cette sur la machine cible. Je le fais habituellement en regardant le manifeste de l'application d'un côté et dans le dossier WinSxS de la machine cible d'une autre (récemment une mise à jour ATL Security de Microsoft http://msdn.microsoft.com/en-us/visualc/ee309358.aspx, les nouveaux binaires créés par Visual Studio mis à jour ne fonctionneront pas sur les machines qui hantent 't la même version mise à jour de runtime).
0

Il est possible que vous ayez appliqué une mise à jour de sécurité ou une mise à jour du compilateur à votre VS2005 SP1. Cela le fait générer un manifeste qui demande un MFC/CRT-dll différent de celui installé avec le package redistribuable Microsoft Visual C++ 2005 SP1 (x86). Essayez d'utiliser Depends.exe et ouvrez votre application, puis dans le menu choisissez "Profil". Regardez dans la fenêtre de sortie ci-dessous pour une description plus détaillée.

0

Essayez-vous d'exécuter la version de débogage? Cela peut vous donner une erreur similaire à 0xc0150002. Essayez la version de publication ou compilez-la sur les bibliothèques statiques plutôt que sur les bibliothèques dynamiques. Si vous obtenez ce problème sur une version de version, il est probable que c'est une DLL manquante (dans ce cas essayez d'exécuter Depends.exe) ou un manifeste incorrect. Si vous avez une dépendance manquante sur une DLL d'exécution, vous pouvez essayer de créer un projet de déploiement car cela détectera les DLL d'exécution appropriées et les compilera dans un programme d'installation pour vous.

Questions connexes