2010-10-26 39 views
4

Vous avez une nouvelle machine Win7 avec VS2005 installé. J'ai essayé de commencer une MyApp.exe qui est construit avec manifeste qui dit dans Manifest.bin:pourquoi je n'ai pas de fichier Microsoft.VC80.MFC?

...

<assemblyIdentity type="win32" name="Microsoft.VC80.MFC" version="8.0.50727.4053" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"> 
</assemblyIdentity> 

...

et le résultat était un message d'erreur « L'application n'a pas pu démarrer car sa configuration côte à côte est incorrecte ...

observateur d'événements m'a dit la raison en détail:

contexte d'activation generatio n a échoué pour "c: \ Xxx \ MyApp.exe". L'assembly dépendant Microsoft.VC80.MFC, processorArchitecture = "x86", publicKeyToken = "1fc8b3b9a1e18e3b", type = "win32", version = "8.0.50727.4053" n'a pas pu être trouvé. Veuillez utiliser sxstrace.exe pour un diagnostic détaillé. J'ai donc parcouru le dossier winsxs et en effet tous les "dossiers 4053" étaient manquants. Ensuite, j'ai édité Manifest.bin et remplacé 4053 par 4927. Les erreurs réocurées avec une version différente. Puis j'ai découvert que j'ai "4927-dossier" pour msvcr80.dll mais pas "4927-dossier" pour mfc80.dll.

Deux questions:

-Pourquoi pas "4927-dossier" pour mfc80.dll?

-Comment obtenir tous les "dossiers 4053"?

Merci & BR -Matti

+0

Désolé pour la question stupide sur l'endroit où mettre à jour: Trouvé mise à jour http://www.microsoft.com/downloads/fr/details.aspx?displaylang=fr&FamilyID=766a6af7-ec73-40ff-b072-9112bab119c2 –

Répondre

2

Vous devez soit installer Visual C++ redistribuable ou utilisez les modules de fusion pour ajouter les redistribuables dans votre package d'installation Windows Installer. Vous pouvez également copier les bibliothèques MFC dans le répertoire avec votre application.

Les bibliothèques qui peuvent être utilisées en tant qu'assemblage privé (dans le répertoire de votre application) se trouvent au C:\Program Files (x86)\Microsoft Visual Studio 8\VC\redist\x86 ou au amd64 si votre application est en 64 bits.

Les modules de fusion pour Windows Installer (MSI) sont en C:\Program Files (x86)\Common Files\Merge Modules.

Le package redistribuable qui installe toutes les bibliothèques se trouve dans C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86\vcredist_x86.exe pour les programmes 32 bits et dans …\vcredist_x64\vcredist_x64.exe pour les programmes 64 bits. Vous pouvez obtenir ces fichiers à partir de Microsoft Visual C++ 2005 Service Pack 1 Redistributable Package ATL Security Update.


Et je pense que vous souhaitez mettre à jour Visual Studio avec ce package Microsoft Visual C++ 2005 Service Pack 1 package redistribuable ATL mise à jour de sécurité.