Comment emballez-vous le projet visual studio c++ Pour la libération?

Je me demande comment faire un assemblage de sortie qui inclut tous les fichiers nécessaires dll à .exe, Pour que le programme puisse être lancé sur une machine non en développement sans la nécessité d'installer un package distribué. microsoft sur la machine cible.

Sans le faire, vous obtenez un message d'erreur que la configuration de l'application n'est pas correcte et doit être réinstallé.
Invité:

Babette

Confirmation de:

Choisissez le projet - > Propriétés

Sélectionnez Configuration - > Sont communs

Sur le terrain pour comment vous devriez crier MFC, Choisissez de le lier de manière statique.

Choisissez un linker - > Saisir. Au chapitre

Dépendances supplémentaires

Ajoutez des bibliothèques dont vous avez besoin pour la connexion statique de votre application.

Eugene

Confirmation de:

Vous devez définir la bibliothèque de temps d'exécution /Au chapitre C/C++ -> Code de génération/ Pour les projets ALL Dans une relation statique qui est corrélée aux configurations suivantes du bâtiment par défaut:

Débogage multi-threadé / Sortie

Débogage à une seule-filetage/Sortie

Contrairement aux versions "DLL" Ces bibliothèques.

Même si vous le faites, en fonction des bibliothèques utilisées, vous devrez peut-être installer Merge Module/framework/etc. Cela dépend de la disponibilité des versions statiques. LIB Vos dépendances.

Denis

Confirmation de:

Gardez à l'esprit , Quel
http://blogs.msdn.com/martynl/ ... .aspx
, Puisqu'il l'empêche de le service en mettant à jour windows Corriger les erreurs de sécurité critiques. Il existe également des problèmes potentiels si vous passez la mémoire entre vos fichiers de base. .exe et .dll, Comme si chacune de ces connexions statiques pendant l'exécution, vous pourriez vous retrouver avec les problèmes d'incohérence. malloc/free.

Vous pouvez allumer DLLs avec fichier exécutable sans les compiler dans .exe Et ce n'est pas le lancement de l'outil Redist, c'est ce que je fais, et cela semble bien fonctionner.

La seule cuillère du goudron dans le baril de miel est que vous devez activer les fichiers deux fois si vous les diffusez pour une large gamme de versions. Windows - Plus de nouveau OSs Vous avez besoin de fichiers dans des répertoires définis par le manifeste et les plus anciens nécessitent tous les fichiers du répertoire de programme.

Gregoire

Confirmation de:

Vous avez cherché un lien statique /Contrairement aux liens dynamiques/

Je ne suis pas sûr de combien de MS Les fichiers distribués sont connectés statilement.

Enzo

Confirmation de:

Si vous voulez savoir quelles dlls manquent, utilisez ensuite depends.exe, qui allait avec MSDev, mais peut aussi être trouvé
http://dependencywalker.com/
. Tester cela sur plusieurs machines cibles devrait vous dire qui dll Vous devez emballer avec votre application.

Damien

Confirmation de:

Vous devez utiliser une liaison statique et ajouter toutes les bibliothèques nécessaires dans la section Dépendances supplémentaires.

Pour répondre aux questions, connectez-vous ou registre