Windows 7, 64 bits, les problèmes de DLL
J'ai un problème avec notre exécutable. Je suis l'exécution de ce C++ exécutable 32 bits sur mon Windows 7 64-bit de développement de la zone qui a également toutes ces applications Microsoft (Visual Studio 2008 + 2010, TFS, SDK, Microsoft Office)...
Et c'est encore en cours d'exécution amende juste.
Maintenant, je suis à l'installation du client du même programme et a demandé à le tester avec un Windows propre 7 installation. Donc j'ai eu un Windows 7 64-bit, VMware et mis à jour pour Windows 7 SP 1 (la même version que mon développeur boîte est d'accord).
Mais alors que sur mon développeur de la boîte, tout est parfait, le programme ne fonctionne pas avec VMware (essai de 30 jours) de la boîte.
Le x86 Dependency Walker me dit que les fichiers DLL manquants:
- API-MS-WIN-CORE-COM-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
- API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
- API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL
- DCOMP.DLL
- GPSVC.DLL
- IESHIMS.DLL
J'ai googlé pour ceux API-MS-WIN-... des fichiers DLL et a constaté qu'ils devraient être déjà partie de Windows 7 (certains sites revendiquant la appartenir à Windows 8 et Windows Server 2012 tout de même).
J'ai déjà essayé la suggestion de correction, j'ai trouvé, qui sont:
- de l'exécution "sfc /scannow'
- l'installation de Visual Studio 2008 SP1 exécution de fichiers exécutables
Mais cela ne résout rien. 🙁
Note de côté: Ma de développement de la zone n'ont pas eux non plus, et ne semble pas en avoir besoin. Par exemple, l'user32.dll sur ma boîte n'a pas de lien à l'encontre de l'un de ceux-ci, tandis que l'installation sur VMware ne.
Aucune idée sur comment résoudre ce problème?
J'ai essayé de trouver un adapté à télécharger /fix sur le Microsoft pages, mais j'ai échoué.
Après la résolution de mon problème, je voulais signaler que j'ai trouvé, et je ne peux pas poster cela comme une réponse, car la question a été fermé.
En fait tous les fichiers DLL portées disparues par l'outil Dependency Walker, à savoir ceux
* API-MS-WIN-CORE-...
type DLL fichiers n'ont pas été une partie du problème.
Dans mon cas, l'enregistrement de trois fichiers OCX qui manquait et, après ça, tout était très bien, MAIS Dependency Walker outil encore la liste de tous les même fichiers DLL comme avant, même lorsque le programme est en cours d'exécution juste bien maintenant.
L'essentiel: Comme quelqu'un l'a d'ailleurs déclaré, l'outil est un peu daté maintenant et ne fonctionne pas toujours correctement avec un nouvel OS. Donc gardez l'oeil ouvert et ne vous laissez pas induire en erreur par les disparus "API-MS-WIN-CORE-COM-L1-1-0.DLL' ... le problème réside probablement totalement ailleurs.
- DirectComposition n'est pas disponible sur Windows 7 pour autant que je sais (DCOMP.DLL).
- Comment à propos de la réouverture de cette? Ma recherche Google m'a conduit à cette question qu'à 20 heures après qu'il a été fermé pour être "peu probable pour aider les futurs visiteurs"...
- qui 3 fichiers ocx ne vous devez vous inscrire, et plus important encore, comment avez-vous comprendre cela? Je suis coincé sur cette question depuis quelques jours maintenant
- Je suis coincé aussi, les fichiers manquants? mon problème se situe ici: stackoverflow.com/questions/17673166/... (en plus, vous pouvez poster un ansewer encore une fois, il doesenst semblent être fermé plus)
- même problème ici... de fichiers qui ont été vous manque?
- Salut à tous. Je pense que j'ai cloué celui-ci (voir ci-dessous), mais comme une note de côté, vous pouvez ignorer le défaut de lien de IESHIMS.DLL et GPSVC.DLL. Il s'agit dans le fond tout ce que je compile dans Win7, et ne semble pas avoir de conséquence sur la fonction. Cette expérience de près de 30+ binaires maintenant. soupir j'ai la haine la haine la haine en faisant windows dev pour des raisons similaires.
- Windows 7 noyau changements qui ont conduit à api-ms-win-* Dll sont explique très bien ici nirsoft.net/articles/windows_7_kernel_architecture_changes.html - je pense que DependencyWalker juste ne peux pas gérer ces changements, afin de ne pas vous soucier de ceux beaucoup trop. À partir de MS: msdn.microsoft.com/en-us/library/hh802935%28v=vs.85%29.aspx
- exactement le même problème que par cette question. Il est ridicule..
- Très utile dans l'élimination des faux-positifs.
Vous devez vous connecter pour publier un commentaire.
Ce problème est lié au manque de Visual Studio "package redistribuable." Il n'est pas évident d'un manque basé sur la dépendance à pied, mais je voudrais essayer l'un qui correspond à votre version de compilateur d'abord et voir si les choses correctement:
Visual Studio 2015
Visual Studio 2013
Visual Studio 2010
Visual Studio 2008
Je suis tombé sur ce problème, car je suis l'aide de Visual Studio compilateurs, mais pas la totalité environnement Visual Studio.
Va oser injecter un nouveau lien ici: Le dernier pris en charge Visual C++ téléchargements. Stein Åsmul, 29.11.2018.
Je viens résolu le même problème avec C++ Qt 5 et Windows 7 64 bits avec MSCVC 2012.
Au début je pensais que c'était un MSVC/Windows fichier DLL problème, mais comme BorisP dit, le problème est dans mon dépendances du projet. La clé est "Comment savoir où en est votre projet de dépendances dans Qt 5?".
Que je n'ai pas trouvé de moyen de le savoir (Dependency Walker ne m'aide pas beaucoup...), j'ai suivi le "inverse de la procédure" qui ne prend pas plus de 5 minutes et d'éviter beaucoup de maux de tête avec DLL fichier de dépendances:
Quand vous avez tous les fichiers DLL dans le même dossier, il est plus facile de trouver lequel d'entre eux ne sont pas valides (XML, WebKit, ... quoi que..), et, par conséquent, cette méthode ne prend pas plus de cinq minutes.
windeployqt
outil pour cela, voir par exemple stackoverflow.com/a/33292008/4023446Je viens résolu le même problème.
Dependency Walker est trompeur dans ce cas et m'a fait perdre du temps. Donc, la liste des "disparus" DLL " des fichiers à partir du premier post n'est pas utile, et vous pouvez probablement ignorer.
La solution est de trouver les références votre projet est d'appeler et vérifier si elles sont vraiment installés sur le serveur.
@Ben Brammer, il n'est pas important qui trois .les fichiers ocx manquant, parce qu'il y manque seulement pour Leo T d'Abraham projet. Votre projet probablement appelle d'autres fichiers DLL.
Dans mon cas, il n'était pas trois .les fichiers ocx, mais l'absence de MySQL connector fichier DLL. Après l'installation de MySQL Connector pour .NET sur le serveur, le problème a disparu.
Donc, en bref, la solution est: vérifiez si tous vos projet les références sont là.
Comme mentionné, DCOMP fait partie de la VC++ transmissibles (mise en œuvre de la OpenMP l'exécution) et est le seul véritable élément manquant. Tout le reste sont des faux rapports.
Spécifiquement API-MS-WIN-XXXX.DLL sont API-ensembles - essentiellement, un niveau supplémentaire d'appel d'indirection mis en place progressivement depuis Windows 7. Dependency Walker développement apparemment stoppé bien avant cela, et il ne peut pas gérer l'API définit correctement.
Donc il n'y a rien à vous soucier de là. Tu ne perds rien de plus.
Une meilleure alternative pour trouver le vraiment nécessaire fichiers DLL manquants (si c'est bien le problème) est de lancer Le Moniteur De Processus et de recul par rapport à l'échec, à la recherche de séquences de l'échec des sondes spécifiques de fichier DLL tous les le chemin d'accès système.
J'ai aussi rencontré ce problème, mais la solution qui semble être un dénominateur commun ici, et j'ai vu ailleurs sur le web, est "[re]installer le package redistribuable". Cependant, pour moi cela ne fonctionne pas, le problème se pose lors de l'exécution du programme d'installation de nos produits (qui installe le package redistribuable) pour tester notre tout nouveau Visuel Studio; 2015 s'inspire.
Le problème est venu, parce que la DLL fichiers listés ne sont pas situés dans le chemin d'installation de Visual Studio (par exemple, C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\redist) et donc, n'avait pas été ajouté à l'installation. Ces api-ms-win-* dll obtenir installé sur un ordinateur Windows 10 SDK chemin d'installation en tant que partie de Visual Studio 2015 l'installation (par ex. C:\Program Files (x86)\Windows Kits\10\Redist).
De l'installation sur Windows 10 a bien fonctionné, mais l'installation sur Windows 7, l'ajout de ces fichiers DLL à notre installation de produit. Pour plus d'informations, voir Mise à jour pour Universal C de l'Exécution dans Windows qui décrit l'ajout de ces dépendances causés par Visual Studio; 2015 et fournit des téléchargements pour les différentes plates-formes Windows; voir aussi L'introduction de l'Universel CRT qui décrit la refonte de l'bibliothèques CRT. D'intérêt particulier est le point 6 dans la section intitulée Logiciel de Distribution qui utilise l'Universel CRT:
Cette contribution n'a pas vraiment répondre à la question initiale, mais en tenant compte du taux de succès de ce fil, je suppose qu'il y a très peu de gens de faire face au problème que API-MS-WIN-CORE - bibliothèques ne peut pas être trouvé.
J'ai été en mesure de résoudre un problème où ma demande a refusé de démarrer avec le message d'erreur API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL n'est pas trouvé par simple mise à jour de Visual Studio.
Je ne pense pas que mon environnement de construction (Windows 7 Pro SP1 de Visual Studio Ultimate 2012) a été foiré complètement, il a bien fonctionné pour la plupart de mes projets. Mais, dans certaines circonstances très particulières, j'ai obtenu le message d'erreur (voir ci-dessous).
Après mise à jour de Visual Studio 11 du premier CD-Version (j'ai oublié de regarder le numéro de version) à la version 11.0.61030.00 mise à Jour 4 aussi cassé le projet était en cours d'exécution à nouveau.
Cela a résolu le problème pour moi:
Désinstaller Visual Studio; 2010 redistributable package si vous l'avez déjà installé, et ensuite installer Microsoft Windows 7 SDK.
J'ai résolu le problème. Quand j'ai enregistré les fichiers OCX, j'ai couru à la Fenêtre de Commande qui avait été exécuté en tant qu'administrateur.
Installation de SQL Server Management Studio 2014 sur un fraîchement installé Windows 7 résolu ce problème lors de notre client, après deux jours de ridicule bataille.
J'ai eu le même problème. Après avoir passé des heures à chercher sur le web, j'ai trouvé une solution pour moi.
J'ai copié le fichier combase.dll fichier (C:\Windows\System32) pour le dossier de lancement, et il a résolu le problème.
Pour quelqu'un qui est venu ici, mais avec un Photoshop problème: ma solution a été de désinstaller le MS VC++ redistributable première x86 et 64 fois. Ensuite, installez celle qui correspond à la version de Windows et de l'architecture (86 ou 64).
Je suis venu ici avec ce problème se produise, après avoir essayé une nouvelle Windows 7 OEM installer, mettre à niveau vers Windows 10.
Après quelques recherches de Microsoft forums et j'ai trouvé la solution suivante qui a fonctionné pour moi:
Je suggère également de vérifier la quantité de mémoire actuellement utilisée.
Il s'avère que l'incapacité à trouver ces fichiers DLL a été le premier symptôme se présente lorsque vous essayez d'exécuter un programme (soit exécuter ou déboguer) dans Visual Studio.
Après plus d'une demi-heure avec beaucoup de casse-tête, recherche sur le web, l'exécution de Le Moniteur De Processus, et Le Gestionnaire Des Tâches, et dépend, un programme complètement différent qui a été en cours depuis le début des temps, a signalé que "la mémoire est faible, essayez d'arrêter certains programmes" ou quelque chose du genre. Après avoir tué Firefox, Thunderbird, le Moniteur de Processus, et dépend, tout a fonctionné à nouveau.
Juste pour confirmer les réponses ici, ma résolution était de copier la DLL qui n'était pas le chargement ET le fichier ocx qui l'ont accompagné dans le dossier system32, qui a résolu mon problème.